pub struct Reader<'a> { /* private fields */ }展开描述
A structure that implements std::io::Read 用于 reading 明文.
实现§
Source§impl<'a> Reader<'a>
impl<'a> Reader<'a>
Sourcepub fn into_first_chunk(self) -> Result<&'a [u8]>
pub fn into_first_chunk(self) -> Result<&'a [u8]>
获取从对等方经这个 TLS 连接接收的明文数据块。
This method consumes self so that it can return 一个 slice whose lifetime is bounded by
the ConnectionCommon 约束的切片,该 Reader。
Trait 实现§
Source§impl BufRead for Reader<'_>
impl BufRead for Reader<'_>
Source§fn fill_buf(&mut self) -> Result<&[u8]>
fn fill_buf(&mut self) -> Result<&[u8]>
获取从对等方经这个 TLS 连接接收的明文数据块。
This reads the same data as Reader::read(), but returns 一个 reference instead of
copying 数据.
此 caller should call Reader::消耗() afterward 到 advance 缓冲区.
,请参见Reader::into_first_chunk() 用于 一个 version of 此函数 that returns 一个
缓冲区 with 一个 longer lifetime.
Source§fn consume(&mut self, amt: usize)
fn consume(&mut self, amt: usize)
amount of additional bytes from the internal buffer as having been read.
Subsequent calls to read only return bytes that have not been marked as read. 更多信息Source§fn has_data_left(&mut self) -> Result<bool, Error>
fn has_data_left(&mut self) -> Result<bool, Error>
buf_read_has_data_left)read. 更多信息1.83.0 · Source§fn skip_until(&mut self, byte: u8) -> Result<usize, Error>
fn skip_until(&mut self, byte: u8) -> Result<usize, Error>
byte 或 EOF is reached. 更多信息1.0.0 · Source§fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>
fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>
0xA byte) is reached, 并 append
them 到 the provided String 缓冲区. 更多信息Source§impl Read for Reader<'_>
impl Read for Reader<'_>
Source§fn read(&mut self, buf: &mut [u8]) -> Result<usize>
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
获取从对等方经这个 TLS 连接接收的明文数据。
如果对等方正常关闭 TLS 会话,此方法返回 Ok(0) once all
the pending data has been read. No further data can be received on that
connection, 所以底层 TCP 连接也应被半关闭。
If the peer 关闭 TLS 会话 uncleanly (一个 TCP EOF without sending 一个
close_notify alert) 此函数 returns 一个 std::io::Error of type
ErrorKind::UnexpectedEof once any pending data has been read.
Note that support 用于 close_notify varies in peer TLS libraries: many do not
support it 并 uncleanly close the TCP connection (this might be
vulnerable 到 truncation attacks depending on the application protocol)。
This means applications using rustls must both handle EOF
从 此函数, 并 unexpected EOF of 底层 TCP connection.
If there are no bytes 到 read, this returns Err(ErrorKind::WouldBlock.into())。
You may learn the number of bytes available at any time by inspecting
the return of Connection::process_new_packets。
1.36.0 · Source§fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
read, except that it reads into a slice of buffers. 更多信息Source§fn is_read_vectored(&self) -> bool
fn is_read_vectored(&self) -> bool
can_vector)1.0.0 · Source§fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
buf. 更多信息1.0.0 · Source§fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
buf. 更多信息1.6.0 · Source§fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
buf. 更多信息Source§fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
read_buf)Source§fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
read_buf)cursor. 更多信息1.0.0 · Source§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
Read. 更多信息