Struct transmog_async::TransmogStream[][src]

pub struct TransmogStream<TReads, TWrites, TStream, TDestination, TFormat> { /* fields omitted */ }
Expand description

A wrapper around an asynchronous stream that receives and sends bincode-encoded values.

To use, provide a stream that implements both AsyncWrite and AsyncRead, and then use Sink to send values and Stream to receive them.

Note that an TransmogStream must be of the type AsyncDestination in order to be compatible with an TransmogReader on the remote end (recall that it requires the serialized size prefixed to the serialized data). The default is SyncDestination, but these can be easily toggled between using TransmogStream::for_async.

Implementations

Gets a reference to the underlying stream.

It is inadvisable to directly read from or write to the underlying stream.

Gets a mutable reference to the underlying stream.

It is inadvisable to directly read from or write to the underlying stream.

Unwraps this TransmogStream, returning the underlying stream.

Note that any leftover serialized data that has not yet been sent, or received data that has not yet been deserialized, is lost.

Creates a new instance that sends format-encoded payloads over stream.

Creates a new instance that sends format-encoded payloads over stream.

Creates a new instance that sends format-encoded payloads over the default stream for TStream.

Make this stream include the serialized data’s size before each serialized value.

This is necessary for compatability with a remote TransmogReader.

Make this stream only send Transmog-encoded values.

This is necessary for compatability with stock Transmog receivers.

Split a TCP-based stream into a read half and a write half.

This is more performant than using a lock-based split like the one provided by tokio-io or futures-util since we know that reads and writes to a TcpStream can continue concurrently.

Any partially sent or received state is preserved.

Trait Implementations

Formats the value using the given formatter. Read more

The type of value produced by the sink when an error occurs.

Attempts to prepare the Sink to receive a value. Read more

Begin the process of sending a value to the sink. Each call to this function must be preceded by a successful call to poll_ready which returned Poll::Ready(Ok(())). Read more

Flush any remaining output from this sink. Read more

Flush any remaining output and close this sink, if necessary. Read more

Values yielded by the stream.

Attempt to pull out the next value of this stream, registering the current task for wakeup if the value is not yet available, and returning None if the stream is exhausted. Read more

Returns the bounds on the remaining length of the stream. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type of successful values yielded by this future

The type of failures yielded by this future

Poll this TryStream as if it were a Stream. Read more