Struct async_io_typed::AsyncWriteTyped
source · pub struct AsyncWriteTyped<W: AsyncWrite + Unpin, T: Serialize + DeserializeOwned + Unpin> { /* private fields */ }Expand description
Provides the ability to write serde compatible types to any type that implements futures::io::AsyncWrite.
Implementations§
source§impl<W: AsyncWrite + Unpin, T: Serialize + DeserializeOwned + Unpin> AsyncWriteTyped<W, T>
impl<W: AsyncWrite + Unpin, T: Serialize + DeserializeOwned + Unpin> AsyncWriteTyped<W, T>
sourcepub fn new_with_limit(raw: W, size_limit: u64) -> Self
pub fn new_with_limit(raw: W, size_limit: u64) -> Self
Creates a typed writer, initializing it with the given size limit specified in bytes.
Be careful, large limits might create a vulnerability to a Denial of Service attack.
sourcepub fn new(raw: W) -> Self
pub fn new(raw: W) -> Self
Creates a typed writer, initializing it with a default size limit of 1 MB per message.
pub fn inner(&self) -> &W
pub fn into_inner(self) -> W
sourcepub fn optimize_memory_usage(&mut self)
pub fn optimize_memory_usage(&mut self)
AsyncWriteTyped keeps a memory buffer for sending values which is the same size as the largest
message that’s been sent. If the message size varies a lot, you might find yourself wasting
memory space. This function will reduce the memory usage as much as is possible without impeding
functioning. Overuse of this function may cause excessive memory allocations when the buffer
needs to grow.
Trait Implementations§
source§impl<W: Debug + AsyncWrite + Unpin, T: Debug + Serialize + DeserializeOwned + Unpin> Debug for AsyncWriteTyped<W, T>
impl<W: Debug + AsyncWrite + Unpin, T: Debug + Serialize + DeserializeOwned + Unpin> Debug for AsyncWriteTyped<W, T>
source§impl<W: AsyncWrite + Unpin, T: Serialize + DeserializeOwned + Unpin> Drop for AsyncWriteTyped<W, T>
impl<W: AsyncWrite + Unpin, T: Serialize + DeserializeOwned + Unpin> Drop for AsyncWriteTyped<W, T>
source§impl<W: AsyncWrite + Unpin, T: Serialize + DeserializeOwned + Unpin> Sink<T> for AsyncWriteTyped<W, T>
impl<W: AsyncWrite + Unpin, T: Serialize + DeserializeOwned + Unpin> Sink<T> for AsyncWriteTyped<W, T>
source§fn poll_ready(
self: Pin<&mut Self>,
_cx: &mut Context<'_>
) -> Poll<Result<(), Self::Error>>
fn poll_ready(
self: Pin<&mut Self>,
_cx: &mut Context<'_>
) -> Poll<Result<(), Self::Error>>
Sink to receive a value. Read moresource§fn start_send(self: Pin<&mut Self>, item: T) -> Result<(), Self::Error>
fn start_send(self: Pin<&mut Self>, item: T) -> Result<(), Self::Error>
poll_ready which returned Poll::Ready(Ok(())). Read moreAuto Trait Implementations§
impl<W, T> RefUnwindSafe for AsyncWriteTyped<W, T>where
T: RefUnwindSafe,
W: RefUnwindSafe,
impl<W, T> Send for AsyncWriteTyped<W, T>where
T: Send,
W: Send,
impl<W, T> Sync for AsyncWriteTyped<W, T>where
T: Sync,
W: Sync,
impl<W, T> Unpin for AsyncWriteTyped<W, T>
impl<W, T> UnwindSafe for AsyncWriteTyped<W, T>where
T: UnwindSafe,
W: UnwindSafe,
Blanket Implementations§
source§impl<T, Item> SinkExt<Item> for Twhere
T: Sink<Item> + ?Sized,
impl<T, Item> SinkExt<Item> for Twhere
T: Sink<Item> + ?Sized,
source§fn with<U, Fut, F, E>(self, f: F) -> With<Self, Item, U, Fut, F>where
F: FnMut(U) -> Fut,
Fut: Future<Output = Result<Item, E>>,
E: From<Self::Error>,
Self: Sized,
fn with<U, Fut, F, E>(self, f: F) -> With<Self, Item, U, Fut, F>where
F: FnMut(U) -> Fut,
Fut: Future<Output = Result<Item, E>>,
E: From<Self::Error>,
Self: Sized,
source§fn with_flat_map<U, St, F>(self, f: F) -> WithFlatMap<Self, Item, U, St, F>where
F: FnMut(U) -> St,
St: Stream<Item = Result<Item, Self::Error>>,
Self: Sized,
fn with_flat_map<U, St, F>(self, f: F) -> WithFlatMap<Self, Item, U, St, F>where
F: FnMut(U) -> St,
St: Stream<Item = Result<Item, Self::Error>>,
Self: Sized,
source§fn sink_map_err<E, F>(self, f: F) -> SinkMapErr<Self, F>where
F: FnOnce(Self::Error) -> E,
Self: Sized,
fn sink_map_err<E, F>(self, f: F) -> SinkMapErr<Self, F>where
F: FnOnce(Self::Error) -> E,
Self: Sized,
source§fn sink_err_into<E>(self) -> SinkErrInto<Self, Item, E>where
Self: Sized,
Self::Error: Into<E>,
fn sink_err_into<E>(self) -> SinkErrInto<Self, Item, E>where
Self: Sized,
Self::Error: Into<E>,
Into trait. Read moresource§fn buffer(self, capacity: usize) -> Buffer<Self, Item>where
Self: Sized,
fn buffer(self, capacity: usize) -> Buffer<Self, Item>where
Self: Sized,
source§fn fanout<Si>(self, other: Si) -> Fanout<Self, Si>where
Self: Sized,
Item: Clone,
Si: Sink<Item, Error = Self::Error>,
fn fanout<Si>(self, other: Si) -> Fanout<Self, Si>where
Self: Sized,
Item: Clone,
Si: Sink<Item, Error = Self::Error>,
source§fn flush(&mut self) -> Flush<'_, Self, Item>where
Self: Unpin,
fn flush(&mut self) -> Flush<'_, Self, Item>where
Self: Unpin,
source§fn send(&mut self, item: Item) -> Send<'_, Self, Item>where
Self: Unpin,
fn send(&mut self, item: Item) -> Send<'_, Self, Item>where
Self: Unpin,
source§fn feed(&mut self, item: Item) -> Feed<'_, Self, Item>where
Self: Unpin,
fn feed(&mut self, item: Item) -> Feed<'_, Self, Item>where
Self: Unpin,
source§fn send_all<St, 'a>(&'a mut self, stream: &'a mut St) -> SendAll<'a, Self, St>where
St: TryStream<Ok = Item, Error = Self::Error> + Stream + Unpin + ?Sized,
Self: Unpin,
fn send_all<St, 'a>(&'a mut self, stream: &'a mut St) -> SendAll<'a, Self, St>where
St: TryStream<Ok = Item, Error = Self::Error> + Stream + Unpin + ?Sized,
Self: Unpin,
source§fn left_sink<Si2>(self) -> Either<Self, Si2>where
Si2: Sink<Item, Error = Self::Error>,
Self: Sized,
fn left_sink<Si2>(self) -> Either<Self, Si2>where
Si2: Sink<Item, Error = Self::Error>,
Self: Sized,
source§fn right_sink<Si1>(self) -> Either<Si1, Self>where
Si1: Sink<Item, Error = Self::Error>,
Self: Sized,
fn right_sink<Si1>(self) -> Either<Si1, Self>where
Si1: Sink<Item, Error = Self::Error>,
Self: Sized,
source§fn poll_ready_unpin(
&mut self,
cx: &mut Context<'_>
) -> Poll<Result<(), Self::Error>>where
Self: Unpin,
fn poll_ready_unpin(
&mut self,
cx: &mut Context<'_>
) -> Poll<Result<(), Self::Error>>where
Self: Unpin,
Sink::poll_ready] on Unpin
sink types.source§fn start_send_unpin(&mut self, item: Item) -> Result<(), Self::Error>where
Self: Unpin,
fn start_send_unpin(&mut self, item: Item) -> Result<(), Self::Error>where
Self: Unpin,
Sink::start_send] on Unpin
sink types.