pub struct SessionRead<'a, T>where
T: Read,{ /* private fields */ }Expand description
A type representing the read half of a TLS session when the session has been split into read and write halves.
Implementations§
Source§impl<T> SessionRead<'_, T>where
T: Read,
impl<T> SessionRead<'_, T>where
T: Read,
Sourcepub async fn read(&mut self, buf: &mut [u8]) -> Result<usize, SessionError>
pub async fn read(&mut self, buf: &mut [u8]) -> Result<usize, SessionError>
Read unencrypted data from the read half of the TLS connection.
§Cancel safety
Cancel-safe. The TLS handshake has already completed by the time
Session::split could produce this half, so this method only drives
MbedTLS’s data-read loop with no handshake .await points. All partial
state (a buffered transport byte and MbedTLS’s own record state) lives
on the read half, not in the future, so a drop strands nothing and the
next call resumes from where the previous one left off. (Unlike
Session::read, which calls Session::connect on first use and
inherits its handshake cancellation hazard.)
Trait Implementations§
Source§impl<T> ErrorType for SessionRead<'_, T>where
T: Read,
impl<T> ErrorType for SessionRead<'_, T>where
T: Read,
Source§type Error = SessionError
type Error = SessionError
Error type of all the IO operations on this type.
Source§impl<T> Read for SessionRead<'_, T>where
T: Read,
impl<T> Read for SessionRead<'_, T>where
T: Read,
Source§async fn read(&mut self, buf: &mut [u8]) -> Result<usize, Self::Error>
async fn read(&mut self, buf: &mut [u8]) -> Result<usize, Self::Error>
Read some bytes from this source into the specified buffer, returning how many bytes were read. Read more
Source§async fn read_exact(
&mut self,
buf: &mut [u8],
) -> Result<(), ReadExactError<Self::Error>>
async fn read_exact( &mut self, buf: &mut [u8], ) -> Result<(), ReadExactError<Self::Error>>
Read the exact number of bytes required to fill
buf. Read moreAuto Trait Implementations§
impl<'a, T> !Send for SessionRead<'a, T>
impl<'a, T> !Sync for SessionRead<'a, T>
impl<'a, T> !UnwindSafe for SessionRead<'a, T>
impl<'a, T> Freeze for SessionRead<'a, T>where
T: Freeze,
impl<'a, T> RefUnwindSafe for SessionRead<'a, T>where
T: RefUnwindSafe,
impl<'a, T> Unpin for SessionRead<'a, T>where
T: Unpin,
impl<'a, T> UnsafeUnpin for SessionRead<'a, T>where
T: UnsafeUnpin,
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