Struct trillium_testing::TestTransport
source · pub struct TestTransport {
pub read: Arc<CloseableCursor>,
pub write: Arc<CloseableCursor>,
}
Expand description
a readable and writable transport for testing
Fields§
§read: Arc<CloseableCursor>
the read side of this transport
write: Arc<CloseableCursor>
the write side of this transport
Implementations§
source§impl TestTransport
impl TestTransport
sourcepub fn new() -> (TestTransport, TestTransport)
pub fn new() -> (TestTransport, TestTransport)
constructs a new test transport pair, representing two ends of a connection. either of them can be written to, and the content will be readable from the other. either of them can also be closed.
sourcepub fn write_all(&self, bytes: impl AsRef<[u8]>)
pub fn write_all(&self, bytes: impl AsRef<[u8]>)
synchronously append the supplied bytes to the write side of this transport, notifying the read side of the other end
sourcepub async fn read_available(&self) -> Vec<u8>
pub async fn read_available(&self) -> Vec<u8>
waits until there is content and then reads that content to a vec until there is no further content immediately available
sourcepub async fn read_available_string(&self) -> String
pub async fn read_available_string(&self) -> String
waits until there is content and then reads that content to a string until there is no further content immediately available
Trait Implementations§
source§impl AsyncRead for TestTransportwhere
Self: Unpin,
impl AsyncRead for TestTransportwhere
Self: Unpin,
source§impl AsyncWrite for TestTransportwhere
Self: Unpin,
impl AsyncWrite for TestTransportwhere
Self: Unpin,
source§fn poll_write(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
buf: &[u8],
) -> Poll<Result<usize>>
fn poll_write( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize>>
Attempt to write bytes from
buf
into the object. Read moresource§fn poll_flush(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<()>>
fn poll_flush(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<()>>
Attempt to flush the object, ensuring that any buffered data reach
their destination. Read more
source§impl Clone for TestTransport
impl Clone for TestTransport
source§fn clone(&self) -> TestTransport
fn clone(&self) -> TestTransport
Returns a copy of the value. Read more
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 TestTransport
impl Debug for TestTransport
source§impl Default for TestTransport
impl Default for TestTransport
source§fn default() -> TestTransport
fn default() -> TestTransport
Returns the “default value” for a type. Read more
source§impl Drop for TestTransport
impl Drop for TestTransport
source§impl Transport for TestTransport
impl Transport for TestTransport
source§fn set_linger(&mut self, linger: Option<Duration>) -> Result<(), Error>
fn set_linger(&mut self, linger: Option<Duration>) -> Result<(), Error>
Sets the linger duration of this transport by setting the
SO_LINGER
option Read moresource§fn set_nodelay(&mut self, nodelay: bool) -> Result<(), Error>
fn set_nodelay(&mut self, nodelay: bool) -> Result<(), Error>
Sets the value of the
TCP_NODELAY
option on this transport. Read moreAuto Trait Implementations§
impl Freeze for TestTransport
impl RefUnwindSafe for TestTransport
impl Send for TestTransport
impl Sync for TestTransport
impl Unpin for TestTransport
impl UnwindSafe for TestTransport
Blanket Implementations§
§impl<R> AsyncReadExt for R
impl<R> AsyncReadExt for R
§fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadFuture<'a, Self>where
Self: Unpin,
fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadFuture<'a, Self>where
Self: Unpin,
Reads some bytes from the byte stream. Read more
§fn read_vectored<'a>(
&'a mut self,
bufs: &'a mut [IoSliceMut<'a>],
) -> ReadVectoredFuture<'a, Self>where
Self: Unpin,
fn read_vectored<'a>(
&'a mut self,
bufs: &'a mut [IoSliceMut<'a>],
) -> ReadVectoredFuture<'a, Self>where
Self: Unpin,
§fn read_to_end<'a>(
&'a mut self,
buf: &'a mut Vec<u8>,
) -> ReadToEndFuture<'a, Self>where
Self: Unpin,
fn read_to_end<'a>(
&'a mut self,
buf: &'a mut Vec<u8>,
) -> ReadToEndFuture<'a, Self>where
Self: Unpin,
§fn read_to_string<'a>(
&'a mut self,
buf: &'a mut String,
) -> ReadToStringFuture<'a, Self>where
Self: Unpin,
fn read_to_string<'a>(
&'a mut self,
buf: &'a mut String,
) -> ReadToStringFuture<'a, Self>where
Self: Unpin,
§fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadExactFuture<'a, Self>where
Self: Unpin,
fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadExactFuture<'a, Self>where
Self: Unpin,
Reads the exact number of bytes required to fill
buf
. Read more§fn take(self, limit: u64) -> Take<Self>where
Self: Sized,
fn take(self, limit: u64) -> Take<Self>where
Self: Sized,
Creates an adapter which will read at most
limit
bytes from it. Read more§impl<W> AsyncWriteExt for Wwhere
W: AsyncWrite + ?Sized,
impl<W> AsyncWriteExt for Wwhere
W: AsyncWrite + ?Sized,
§fn write<'a>(&'a mut self, buf: &'a [u8]) -> WriteFuture<'a, Self>where
Self: Unpin,
fn write<'a>(&'a mut self, buf: &'a [u8]) -> WriteFuture<'a, Self>where
Self: Unpin,
Writes some bytes into the byte stream. Read more
§fn write_vectored<'a>(
&'a mut self,
bufs: &'a [IoSlice<'a>],
) -> WriteVectoredFuture<'a, Self>where
Self: Unpin,
fn write_vectored<'a>(
&'a mut self,
bufs: &'a [IoSlice<'a>],
) -> WriteVectoredFuture<'a, Self>where
Self: Unpin,
§fn write_all<'a>(&'a mut self, buf: &'a [u8]) -> WriteAllFuture<'a, Self>where
Self: Unpin,
fn write_all<'a>(&'a mut self, buf: &'a [u8]) -> WriteAllFuture<'a, Self>where
Self: Unpin,
Writes an entire buffer into the byte stream. Read more
§fn flush(&mut self) -> FlushFuture<'_, Self>where
Self: Unpin,
fn flush(&mut self) -> FlushFuture<'_, Self>where
Self: Unpin,
Flushes the stream to ensure that all buffered contents reach their destination. Read more
§fn boxed_writer<'a>(self) -> Pin<Box<dyn AsyncWrite + Send + 'a>>
fn boxed_writer<'a>(self) -> Pin<Box<dyn AsyncWrite + Send + 'a>>
Boxes the writer and changes its type to
dyn AsyncWrite + Send + 'a
. Read moresource§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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)