pub struct FramedWrite<IO, Codec> { /* private fields */ }

Implementations§

source§

impl<IO, Codec> FramedWrite<IO, Codec>

source

pub fn new(io: IO, encoder: Codec) -> Self

source

pub fn get_ref(&self) -> &IO

Returns a reference to the underlying I/O stream wrapped by FramedWrite.

Note that care should be taken to not tamper with the underlying stream of data coming in as it may corrupt the stream of frames otherwise being worked with.

source

pub fn get_mut(&mut self) -> &mut IO

Returns a mutable reference to the underlying I/O stream wrapped by FramedWrite.

Note that care should be taken to not tamper with the underlying stream of data coming in as it may corrupt the stream of frames otherwise being worked with.

source

pub fn into_inner(self) -> IO

Consumes the FramedWrite, returning its underlying I/O stream.

Note that care should be taken to not tamper with the underlying stream of data coming in as it may corrupt the stream of frames otherwise being worked with.

source

pub fn encoder(&self) -> &Codec

Returns a reference to the underlying encoder.

source

pub fn encoder_mut(&mut self) -> &mut Codec

Returns a mutable reference to the underlying encoder.

source

pub fn map_encoder<CodecNew, F>(self, map: F) -> FramedWrite<IO, CodecNew>where F: FnOnce(Codec) -> CodecNew,

Maps the encoder E to C, preserving the write buffer wrapped by Framed.

source

pub fn write_buffer(&self) -> &BytesMut

Returns a reference to the write buffer.

source

pub fn write_buffer_mut(&mut self) -> &mut BytesMut

Returns a mutable reference to the write buffer.

Trait Implementations§

source§

impl<IO: AsyncWriteRent, Codec> AsyncWriteRent for FramedWrite<IO, Codec>

source§

async fn write<T: IoBuf>(&mut self, buf: T) -> BufResult<usize, T>

Same as write(2)
source§

async fn writev<T: IoVecBuf>(&mut self, buf_vec: T) -> BufResult<usize, T>

Same as writev(2)
source§

async fn flush(&mut self) -> Result<()>

Flush buffered data if needed
source§

async fn shutdown(&mut self) -> Result<()>

Same as shutdown
source§

impl<T, U> Debug for FramedWrite<T, U>where T: Debug, U: Debug,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<IO, Codec, Item> Sink<Item> for FramedWrite<IO, Codec>where IO: AsyncWriteRent, Codec: Encoder<Item>,

§

type Error = <FramedInner<IO, Codec, WriteState> as Sink<Item>>::Error

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

async fn send(&mut self, item: Item) -> Result<(), Self::Error>

Send item.
source§

async fn flush(&mut self) -> Result<(), Self::Error>

Flush any remaining output from this sink.
source§

async fn close(&mut self) -> Result<(), Self::Error>

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

Auto Trait Implementations§

§

impl<IO, Codec> RefUnwindSafe for FramedWrite<IO, Codec>where Codec: RefUnwindSafe, IO: RefUnwindSafe,

§

impl<IO, Codec> Send for FramedWrite<IO, Codec>where Codec: Send, IO: Send,

§

impl<IO, Codec> Sync for FramedWrite<IO, Codec>where Codec: Sync, IO: Sync,

§

impl<IO, Codec> Unpin for FramedWrite<IO, Codec>where Codec: Unpin, IO: Unpin,

§

impl<IO, Codec> UnwindSafe for FramedWrite<IO, Codec>where Codec: UnwindSafe, IO: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<A> AsyncWriteRentExt for Awhere A: AsyncWriteRent + ?Sized,

source§

async fn write_all<T>(&mut self, buf: T) -> (Result<usize, Error>, T)where T: IoBuf + 'static,

Write all
source§

async fn write_vectored_all<T>(&mut self, buf: T) -> (Result<usize, Error>, T)where T: IoVecBuf + 'static,

Write vectored all
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, A> SinkExt<T> for Awhere A: Sink<T>,

source§

async fn send_and_flush(&mut self, item: T) -> Result<(), <A as Sink<T>>::Error>

Send and flush.
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more