pub trait Directory1ProxyInterface: Send + Sync {
type GetAttrResponseFut: Future<Output = Result<(i32, NodeAttributes), Error>> + Send;
type SetAttrResponseFut: Future<Output = Result<i32, Error>> + Send;
type GetFlagsResponseFut: Future<Output = Result<(i32, OpenFlags), Error>> + Send;
type SetFlagsResponseFut: Future<Output = Result<i32, Error>> + Send;
type QueryFilesystemResponseFut: Future<Output = Result<(i32, Option<Box<FilesystemInfo>>), Error>> + Send;
type ReadDirentsResponseFut: Future<Output = Result<(i32, Vec<u8>), Error>> + Send;
type RewindResponseFut: Future<Output = Result<i32, Error>> + Send;
type GetTokenResponseFut: Future<Output = Result<(i32, Option<Handle>), Error>> + Send;
type LinkResponseFut: Future<Output = Result<i32, Error>> + Send;
type WatchResponseFut: Future<Output = Result<i32, Error>> + Send;
// Required methods
fn clone(
&self,
flags: OpenFlags,
object: ServerEnd<NodeMarker>
) -> Result<(), Error>;
fn get_attr(&self) -> Self::GetAttrResponseFut;
fn set_attr(
&self,
flags: NodeAttributeFlags,
attributes: &mut NodeAttributes
) -> Self::SetAttrResponseFut;
fn get_flags(&self) -> Self::GetFlagsResponseFut;
fn set_flags(&self, flags: OpenFlags) -> Self::SetFlagsResponseFut;
fn query_filesystem(&self) -> Self::QueryFilesystemResponseFut;
fn open(
&self,
flags: OpenFlags,
mode: ModeType,
path: &str,
object: ServerEnd<NodeMarker>
) -> Result<(), Error>;
fn read_dirents(&self, max_bytes: u64) -> Self::ReadDirentsResponseFut;
fn rewind(&self) -> Self::RewindResponseFut;
fn get_token(&self) -> Self::GetTokenResponseFut;
fn link(
&self,
src: &str,
dst_parent_token: Handle,
dst: &str
) -> Self::LinkResponseFut;
fn watch(
&self,
mask: WatchMask,
options: u32,
watcher: ServerEnd<DirectoryWatcherMarker>
) -> Self::WatchResponseFut;
}