Trait ConnectionCreator

Source
pub trait ConnectionCreator<T: Node> {
    // Required method
    fn create<'a>(
        scope: ExecutionScope,
        node: Arc<T>,
        protocols: impl ProtocolsExt,
        object_request: ObjectRequestRef<'a>,
    ) -> impl Future<Output = Result<(), Status>> + Send + 'a;
}
Expand description

Trait for constructing connections to nodes.

Required Methods§

Source

fn create<'a>( scope: ExecutionScope, node: Arc<T>, protocols: impl ProtocolsExt, object_request: ObjectRequestRef<'a>, ) -> impl Future<Output = Result<(), Status>> + Send + 'a

Creates a new connection to node and spawns a new Task to run the connection.

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.

Implementors§

Source§

impl<DirectoryType: Directory> ConnectionCreator<DirectoryType> for ImmutableConnection<DirectoryType>

Source§

impl<DirectoryType: MutableDirectory> ConnectionCreator<DirectoryType> for MutableConnection<DirectoryType>

Source§

impl<N: Node> ConnectionCreator<N> for vfs::node::Connection<N>

Source§

impl<T: 'static + File + GetVmo> ConnectionCreator<T> for StreamIoConnection<T>

Source§

impl<T: 'static + File + FileIo> ConnectionCreator<T> for FidlIoConnection<T>

Source§

impl<T: 'static + File + RawFileIoConnection> ConnectionCreator<T> for RawIoConnection<T>

Source§

impl<T: Symlink> ConnectionCreator<T> for vfs::symlink::Connection<T>