Struct tokio::net::tcp::ReadHalf [−][src]
pub struct ReadHalf<'a>(_);
Expand description
Read half of a TcpStream
.
Implementations
impl ReadHalf<'_>
[src]
impl ReadHalf<'_>
[src]pub fn poll_peek(
&mut self,
cx: &mut Context<'_>,
buf: &mut [u8]
) -> Poll<Result<usize>>
[src]
pub fn poll_peek(
&mut self,
cx: &mut Context<'_>,
buf: &mut [u8]
) -> Poll<Result<usize>>
[src]Attempt to receive data on the socket, without removing that data from the queue, registering the current task for wakeup if data is not yet available.
See the TcpStream::poll_peek
level documenation for more details.
Examples
use tokio::io; use tokio::net::TcpStream; use futures::future::poll_fn; #[tokio::main] async fn main() -> io::Result<()> { let mut stream = TcpStream::connect("127.0.0.1:8000").await?; let (mut read_half, _) = stream.split(); let mut buf = [0; 10]; poll_fn(|cx| { read_half.poll_peek(cx, &mut buf) }).await?; Ok(()) }
pub async fn peek(&mut self, buf: &mut [u8]) -> Result<usize>
[src]
pub async fn peek(&mut self, buf: &mut [u8]) -> Result<usize>
[src]Receives data on the socket from the remote address to which it is connected, without removing that data from the queue. On success, returns the number of bytes peeked.
See the TcpStream::peek
level documenation for more details.
Examples
use tokio::net::TcpStream; use tokio::prelude::*; use std::error::Error; #[tokio::main] async fn main() -> Result<(), Box<dyn Error>> { // Connect to a peer let mut stream = TcpStream::connect("127.0.0.1:8080").await?; let (mut read_half, _) = stream.split(); let mut b1 = [0; 10]; let mut b2 = [0; 10]; // Peek at the data let n = read_half.peek(&mut b1).await?; // Read the data assert_eq!(n, read_half.read(&mut b2[..n]).await?); assert_eq!(&b1[..n], &b2[..n]); Ok(()) }
Trait Implementations
impl AsyncRead for ReadHalf<'_>
[src]
impl AsyncRead for ReadHalf<'_>
[src]unsafe fn prepare_uninitialized_buffer(&self, _: &mut [MaybeUninit<u8>]) -> bool
[src]
unsafe fn prepare_uninitialized_buffer(&self, _: &mut [MaybeUninit<u8>]) -> bool
[src]Prepares an uninitialized buffer to be safe to pass to read
. Returns
true
if the supplied buffer was zeroed out. Read more