pub trait DictionaryProxyInterface: Send + Sync {
type InsertResponseFut: Future<Output = Result<DictionaryInsertResult, Error>> + Send;
type GetResponseFut: Future<Output = Result<DictionaryGetResult, Error>> + Send;
type RemoveResponseFut: Future<Output = Result<DictionaryRemoveResult, Error>> + Send;
type ReadResponseFut: Future<Output = Result<Vec<DictionaryItem>, Error>> + Send;
type CloneResponseFut: Future<Output = Result<ClientEnd<DictionaryMarker>, Error>> + Send;
type CopyResponseFut: Future<Output = Result<ClientEnd<DictionaryMarker>, Error>> + Send;
// Required methods
fn insert(&self, key: &str, value: Capability) -> Self::InsertResponseFut;
fn get(&self, key: &str) -> Self::GetResponseFut;
fn remove(&self, key: &str) -> Self::RemoveResponseFut;
fn read(&self) -> Self::ReadResponseFut;
fn clone(&self) -> Self::CloneResponseFut;
fn copy(&self) -> Self::CopyResponseFut;
fn enumerate(
&self,
contents: ServerEnd<DictionaryIteratorMarker>
) -> Result<(), Error>;
fn drain(
&self,
contents: Option<ServerEnd<DictionaryIteratorMarker>>
) -> Result<(), Error>;
}