pub trait NineP200L: Send + Sync {
Show 28 methods
// Required methods
fn version(
&mut self,
tag: u16,
version: &Tversion,
) -> impl Future<Output = Result<Rversion>> + Send + Sync;
fn auth(
&mut self,
tag: u16,
auth: &Tauth,
) -> impl Future<Output = Result<Rauth>> + Send + Sync;
fn flush(
&mut self,
tag: u16,
flush: &Tflush,
) -> impl Future<Output = Result<()>> + Send + Sync;
fn walk(
&mut self,
tag: u16,
walk: &Twalk,
) -> impl Future<Output = Result<Rwalk>> + Send + Sync;
fn read(
&mut self,
tag: u16,
read: &Tread,
) -> impl Future<Output = Result<Rread>> + Send + Sync;
fn write(
&mut self,
tag: u16,
write: &Twrite,
) -> impl Future<Output = Result<Rwrite>> + Send + Sync;
fn clunk(
&mut self,
tag: u16,
clunk: &Tclunk,
) -> impl Future<Output = Result<()>> + Send + Sync;
fn remove(
&mut self,
tag: u16,
remove: &Tremove,
) -> impl Future<Output = Result<()>> + Send + Sync;
fn attach(
&mut self,
tag: u16,
attach: &Tattach,
) -> impl Future<Output = Result<Rattach>> + Send + Sync;
fn statfs(
&mut self,
tag: u16,
statfs: &Tstatfs,
) -> impl Future<Output = Result<Rstatfs>> + Send + Sync;
fn lopen(
&mut self,
tag: u16,
lopen: &Tlopen,
) -> impl Future<Output = Result<Rlopen>> + Send + Sync;
fn lcreate(
&mut self,
tag: u16,
lcreate: &Tlcreate,
) -> impl Future<Output = Result<Rlcreate>> + Send + Sync;
fn symlink(
&mut self,
tag: u16,
symlink: &Tsymlink,
) -> impl Future<Output = Result<Rsymlink>> + Send + Sync;
fn mknod(
&mut self,
tag: u16,
mknod: &Tmknod,
) -> impl Future<Output = Result<Rmknod>> + Send + Sync;
fn rename(
&mut self,
tag: u16,
rename: &Trename,
) -> impl Future<Output = Result<()>> + Send + Sync;
fn readlink(
&mut self,
tag: u16,
readlink: &Treadlink,
) -> impl Future<Output = Result<Rreadlink>> + Send + Sync;
fn get_attr(
&mut self,
tag: u16,
get_attr: &Tgetattr,
) -> impl Future<Output = Result<Rgetattr>> + Send + Sync;
fn set_attr(
&mut self,
tag: u16,
set_attr: &Tsetattr,
) -> impl Future<Output = Result<()>> + Send + Sync;
fn xattr_walk(
&mut self,
tag: u16,
xattr_walk: &Txattrwalk,
) -> impl Future<Output = Result<Rxattrwalk>> + Send + Sync;
fn xattr_create(
&mut self,
tag: u16,
xattr_create: &Txattrcreate,
) -> impl Future<Output = Result<()>> + Send + Sync;
fn readdir(
&mut self,
tag: u16,
readdir: &Treaddir,
) -> impl Future<Output = Result<Rreaddir>> + Send + Sync;
fn fsync(
&mut self,
tag: u16,
fsync: &Tfsync,
) -> impl Future<Output = Result<()>> + Send + Sync;
fn lock(
&mut self,
tag: u16,
lock: &Tlock,
) -> impl Future<Output = Result<Rlock>> + Send + Sync;
fn get_lock(
&mut self,
tag: u16,
get_lock: &Tgetlock,
) -> impl Future<Output = Result<Rgetlock>> + Send + Sync;
fn link(
&mut self,
tag: u16,
link: &Tlink,
) -> impl Future<Output = Result<()>> + Send + Sync;
fn mkdir(
&mut self,
tag: u16,
mkdir: &Tmkdir,
) -> impl Future<Output = Result<Rmkdir>> + Send + Sync;
fn rename_at(
&mut self,
tag: u16,
rename_at: &Trenameat,
) -> impl Future<Output = Result<()>> + Send + Sync;
fn unlink_at(
&mut self,
tag: u16,
unlink_at: &Tunlinkat,
) -> impl Future<Output = Result<()>> + Send + Sync;
}
Expand description
9p
Required Methods§
Sourcefn version(
&mut self,
tag: u16,
version: &Tversion,
) -> impl Future<Output = Result<Rversion>> + Send + Sync
fn version( &mut self, tag: u16, version: &Tversion, ) -> impl Future<Output = Result<Rversion>> + Send + Sync
The version message is the first message sent on a connection. It is used to negotiate the 9P protocol version and maximum message size.
Sourcefn auth(
&mut self,
tag: u16,
auth: &Tauth,
) -> impl Future<Output = Result<Rauth>> + Send + Sync
fn auth( &mut self, tag: u16, auth: &Tauth, ) -> impl Future<Output = Result<Rauth>> + Send + Sync
The auth message is used to authenticate a user to the server. It is sent after the version message and before any other messages. The auth message is optional and may be ignored by the server.
Sourcefn flush(
&mut self,
tag: u16,
flush: &Tflush,
) -> impl Future<Output = Result<()>> + Send + Sync
fn flush( &mut self, tag: u16, flush: &Tflush, ) -> impl Future<Output = Result<()>> + Send + Sync
The flush message is used to flush pending I/O requests.
Sourcefn walk(
&mut self,
tag: u16,
walk: &Twalk,
) -> impl Future<Output = Result<Rwalk>> + Send + Sync
fn walk( &mut self, tag: u16, walk: &Twalk, ) -> impl Future<Output = Result<Rwalk>> + Send + Sync
The walk message is used to traverse the file system hierarchy. It is sent by the client and responded to by the server.
Sourcefn read(
&mut self,
tag: u16,
read: &Tread,
) -> impl Future<Output = Result<Rread>> + Send + Sync
fn read( &mut self, tag: u16, read: &Tread, ) -> impl Future<Output = Result<Rread>> + Send + Sync
The read message is used to read data from a file.
Sourcefn write(
&mut self,
tag: u16,
write: &Twrite,
) -> impl Future<Output = Result<Rwrite>> + Send + Sync
fn write( &mut self, tag: u16, write: &Twrite, ) -> impl Future<Output = Result<Rwrite>> + Send + Sync
The write message is used to write data to a file.
Sourcefn clunk(
&mut self,
tag: u16,
clunk: &Tclunk,
) -> impl Future<Output = Result<()>> + Send + Sync
fn clunk( &mut self, tag: u16, clunk: &Tclunk, ) -> impl Future<Output = Result<()>> + Send + Sync
The clunk message is used to release a fid.
Sourcefn remove(
&mut self,
tag: u16,
remove: &Tremove,
) -> impl Future<Output = Result<()>> + Send + Sync
fn remove( &mut self, tag: u16, remove: &Tremove, ) -> impl Future<Output = Result<()>> + Send + Sync
The remove message is used to remove a file.
Sourcefn attach(
&mut self,
tag: u16,
attach: &Tattach,
) -> impl Future<Output = Result<Rattach>> + Send + Sync
fn attach( &mut self, tag: u16, attach: &Tattach, ) -> impl Future<Output = Result<Rattach>> + Send + Sync
The attach message is used to associate a fid with a file.
Sourcefn statfs(
&mut self,
tag: u16,
statfs: &Tstatfs,
) -> impl Future<Output = Result<Rstatfs>> + Send + Sync
fn statfs( &mut self, tag: u16, statfs: &Tstatfs, ) -> impl Future<Output = Result<Rstatfs>> + Send + Sync
The statfs message is used to retrieve file system information.
Sourcefn lopen(
&mut self,
tag: u16,
lopen: &Tlopen,
) -> impl Future<Output = Result<Rlopen>> + Send + Sync
fn lopen( &mut self, tag: u16, lopen: &Tlopen, ) -> impl Future<Output = Result<Rlopen>> + Send + Sync
The lopen message is used to open a file.
Sourcefn lcreate(
&mut self,
tag: u16,
lcreate: &Tlcreate,
) -> impl Future<Output = Result<Rlcreate>> + Send + Sync
fn lcreate( &mut self, tag: u16, lcreate: &Tlcreate, ) -> impl Future<Output = Result<Rlcreate>> + Send + Sync
The lcreate message is used to create a file.
Sourcefn symlink(
&mut self,
tag: u16,
symlink: &Tsymlink,
) -> impl Future<Output = Result<Rsymlink>> + Send + Sync
fn symlink( &mut self, tag: u16, symlink: &Tsymlink, ) -> impl Future<Output = Result<Rsymlink>> + Send + Sync
The symlink message is used to create a symbolic link.
Sourcefn mknod(
&mut self,
tag: u16,
mknod: &Tmknod,
) -> impl Future<Output = Result<Rmknod>> + Send + Sync
fn mknod( &mut self, tag: u16, mknod: &Tmknod, ) -> impl Future<Output = Result<Rmknod>> + Send + Sync
The mknod message is used to create a device file.
Sourcefn rename(
&mut self,
tag: u16,
rename: &Trename,
) -> impl Future<Output = Result<()>> + Send + Sync
fn rename( &mut self, tag: u16, rename: &Trename, ) -> impl Future<Output = Result<()>> + Send + Sync
The rename message is used to rename a file.
Sourcefn readlink(
&mut self,
tag: u16,
readlink: &Treadlink,
) -> impl Future<Output = Result<Rreadlink>> + Send + Sync
fn readlink( &mut self, tag: u16, readlink: &Treadlink, ) -> impl Future<Output = Result<Rreadlink>> + Send + Sync
The readlink message is used to read the target of a symbolic link.
Sourcefn get_attr(
&mut self,
tag: u16,
get_attr: &Tgetattr,
) -> impl Future<Output = Result<Rgetattr>> + Send + Sync
fn get_attr( &mut self, tag: u16, get_attr: &Tgetattr, ) -> impl Future<Output = Result<Rgetattr>> + Send + Sync
The getattr message is used to retrieve file attributes.
Sourcefn set_attr(
&mut self,
tag: u16,
set_attr: &Tsetattr,
) -> impl Future<Output = Result<()>> + Send + Sync
fn set_attr( &mut self, tag: u16, set_attr: &Tsetattr, ) -> impl Future<Output = Result<()>> + Send + Sync
The setattr message is used to set file attributes.
Sourcefn xattr_walk(
&mut self,
tag: u16,
xattr_walk: &Txattrwalk,
) -> impl Future<Output = Result<Rxattrwalk>> + Send + Sync
fn xattr_walk( &mut self, tag: u16, xattr_walk: &Txattrwalk, ) -> impl Future<Output = Result<Rxattrwalk>> + Send + Sync
The xattrwalk message is used to traverse extended attributes.
Sourcefn xattr_create(
&mut self,
tag: u16,
xattr_create: &Txattrcreate,
) -> impl Future<Output = Result<()>> + Send + Sync
fn xattr_create( &mut self, tag: u16, xattr_create: &Txattrcreate, ) -> impl Future<Output = Result<()>> + Send + Sync
The xattrcreate message is used to create an extended attribute.
Sourcefn readdir(
&mut self,
tag: u16,
readdir: &Treaddir,
) -> impl Future<Output = Result<Rreaddir>> + Send + Sync
fn readdir( &mut self, tag: u16, readdir: &Treaddir, ) -> impl Future<Output = Result<Rreaddir>> + Send + Sync
The readdir message is used to read a directory.
Sourcefn fsync(
&mut self,
tag: u16,
fsync: &Tfsync,
) -> impl Future<Output = Result<()>> + Send + Sync
fn fsync( &mut self, tag: u16, fsync: &Tfsync, ) -> impl Future<Output = Result<()>> + Send + Sync
The fsync message is used to synchronize a file’s data and metadata.
Sourcefn lock(
&mut self,
tag: u16,
lock: &Tlock,
) -> impl Future<Output = Result<Rlock>> + Send + Sync
fn lock( &mut self, tag: u16, lock: &Tlock, ) -> impl Future<Output = Result<Rlock>> + Send + Sync
The lock message is used to lock a file.
Sourcefn get_lock(
&mut self,
tag: u16,
get_lock: &Tgetlock,
) -> impl Future<Output = Result<Rgetlock>> + Send + Sync
fn get_lock( &mut self, tag: u16, get_lock: &Tgetlock, ) -> impl Future<Output = Result<Rgetlock>> + Send + Sync
The getlock message is used to retrieve a file’s locks.
Sourcefn link(
&mut self,
tag: u16,
link: &Tlink,
) -> impl Future<Output = Result<()>> + Send + Sync
fn link( &mut self, tag: u16, link: &Tlink, ) -> impl Future<Output = Result<()>> + Send + Sync
The link message is used to create a hard link.
Sourcefn mkdir(
&mut self,
tag: u16,
mkdir: &Tmkdir,
) -> impl Future<Output = Result<Rmkdir>> + Send + Sync
fn mkdir( &mut self, tag: u16, mkdir: &Tmkdir, ) -> impl Future<Output = Result<Rmkdir>> + Send + Sync
The mkdir message is used to create a directory.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.