pub struct BoundedWriter { /* private fields */ }
Expand description
Bounded writer that allows writing at most max_len
bytes.
use std::io::Write;
use jsonrpsee_core::server::helpers::BoundedWriter;
let mut writer = BoundedWriter::new(10);
(&mut writer).write("hello".as_bytes()).unwrap();
assert_eq!(std::str::from_utf8(&writer.into_bytes()).unwrap(), "hello");
Implementations§
source§impl BoundedWriter
impl BoundedWriter
sourcepub fn new(max_len: usize) -> BoundedWriter ⓘ
pub fn new(max_len: usize) -> BoundedWriter ⓘ
Create a new bounded writer.
sourcepub fn into_bytes(self) -> Vec<u8> ⓘ
pub fn into_bytes(self) -> Vec<u8> ⓘ
Consume the writer and extract the written bytes.
Trait Implementations§
source§impl Clone for BoundedWriter
impl Clone for BoundedWriter
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for BoundedWriter
impl Debug for BoundedWriter
source§impl<'a> Write for &'a mut BoundedWriter
impl<'a> Write for &'a mut BoundedWriter
source§fn write(&mut self, buf: &[u8]) -> Result<usize, Error>
fn write(&mut self, buf: &[u8]) -> Result<usize, Error>
Writes a buffer into this writer, returning how many bytes were written. Read more
source§fn flush(&mut self) -> Result<(), Error>
fn flush(&mut self) -> Result<(), Error>
Flushes this output stream, ensuring that all intermediately buffered
contents reach their destination. Read more
source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector
)1.0.0 · source§fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this writer. Read more
source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
write_all_vectored
)Attempts to write multiple buffers into this writer. Read more
Auto Trait Implementations§
impl Freeze for BoundedWriter
impl RefUnwindSafe for BoundedWriter
impl Send for BoundedWriter
impl Sync for BoundedWriter
impl Unpin for BoundedWriter
impl UnwindSafe for BoundedWriter
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)