Take in async_std::io - Rust (original) (raw)

pub struct Take<T> { /* private fields */ }

Expand description

Reader adaptor which limits the bytes read from an underlying reader.

This struct is generally created by calling take on a reader. Please see the documentation of take for more details.

Source§

Source

Returns the number of bytes that can be read before this instance will return EOF.

§Note

This instance may reach EOF after reading fewer bytes than indicated by this method if the underlying Read instance reaches EOF.

§Examples
use async_std::prelude::*;
use async_std::fs::File;

let f = File::open("foo.txt").await?;

// read at most five bytes
let handle = f.take(5);

println!("limit: {}", handle.limit());

Source

Sets the number of bytes that can be read before this instance will return EOF. This is the same as constructing a new Take instance, so the amount of bytes read and the previous limit value don’t matter when calling this method.

§Examples
use async_std::prelude::*;
use async_std::fs::File;

let f = File::open("foo.txt").await?;

// read at most five bytes
let mut handle = f.take(5);
handle.set_limit(10);

assert_eq!(handle.limit(), 10);

Source

Consumes the Take, returning the wrapped reader.

§Examples
use async_std::prelude::*;
use async_std::fs::File;

let file = File::open("foo.txt").await?;

let mut buffer = [0; 5];
let mut handle = file.take(5);
handle.read(&mut buffer).await?;

let file = handle.into_inner();

Source

Gets a reference to the underlying reader.

§Examples
use async_std::prelude::*;
use async_std::fs::File;

let file = File::open("foo.txt").await?;

let mut buffer = [0; 5];
let mut handle = file.take(5);
handle.read(&mut buffer).await?;

let file = handle.get_ref();

Source

Gets a mutable reference to the underlying reader.

Care should be taken to avoid modifying the internal I/O state of the underlying reader as doing so may corrupt the internal limit of thisTake.

§Examples
use async_std::prelude::*;
use async_std::fs::File;

let file = File::open("foo.txt").await?;

let mut buffer = [0; 5];
let mut handle = file.take(5);
handle.read(&mut buffer).await?;

let file = handle.get_mut();

Source§

Source§

Attempt to return the contents of the internal buffer, filling it with more data from the inner reader if it is empty. Read more

Source§

Tells this buffer that amt bytes have been consumed from the buffer, so they should no longer be returned in calls to poll_read. Read more

Source§

Source§

Attempt to read from the AsyncRead into buf.

Source§

Attempt to read from the AsyncRead into bufs using vectored IO operations. Read more

Source§

Source§