pub trait SocketStreamReading: SocketOperation + BufferPooling {
// Required methods
fn socket_stream_reader<'scheduler>(
&'scheduler self,
socket: &Self::Socket,
) -> Result<impl SocketStreamReader<Buffer = <Self::Pool as BufferPool>::Buffer> + 'scheduler + use<'scheduler, Self>>
where Self::Socket: 'static;
fn socket_stream_reader_with_pool<'scheduler>(
&'scheduler self,
socket: &Self::Socket,
pool: Self::Pool,
) -> Result<impl SocketStreamReader<Buffer = <Self::Pool as BufferPool>::Buffer> + 'scheduler + use<'scheduler, Self>>
where Self::Socket: 'static;
}Expand description
Construct sequential stream input bound to this scheduler. Backends can substitute their own static reader while keeping protocol code independent of registration and receive mechanisms.
The returned handle may borrow the scheduler, but never the temporary socket reference. It retains backend access independently, so the socket and handle can move together. Retire and drop handles before exclusively closing the socket.
Required Methods§
Sourcefn socket_stream_reader<'scheduler>(
&'scheduler self,
socket: &Self::Socket,
) -> Result<impl SocketStreamReader<Buffer = <Self::Pool as BufferPool>::Buffer> + 'scheduler + use<'scheduler, Self>>where
Self::Socket: 'static,
fn socket_stream_reader<'scheduler>(
&'scheduler self,
socket: &Self::Socket,
) -> Result<impl SocketStreamReader<Buffer = <Self::Pool as BufferPool>::Buffer> + 'scheduler + use<'scheduler, Self>>where
Self::Socket: 'static,
Retain the socket and reusable backend state without submitting a receive or allocating a payload pool. Owned reads initialize default storage lazily.
Sourcefn socket_stream_reader_with_pool<'scheduler>(
&'scheduler self,
socket: &Self::Socket,
pool: Self::Pool,
) -> Result<impl SocketStreamReader<Buffer = <Self::Pool as BufferPool>::Buffer> + 'scheduler + use<'scheduler, Self>>where
Self::Socket: 'static,
fn socket_stream_reader_with_pool<'scheduler>(
&'scheduler self,
socket: &Self::Socket,
pool: Self::Pool,
) -> Result<impl SocketStreamReader<Buffer = <Self::Pool as BufferPool>::Buffer> + 'scheduler + use<'scheduler, Self>>where
Self::Socket: 'static,
Construct a reader using the supplied pool for owned chunks. Borrowed reads do not acquire pool storage. Returned chunks retain their pool independently of the reader.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".