[go: up one dir, main page]

pub struct Reader { /* private fields */ }
Expand description

File handle for reading data asynchronously.

Make sure to call .check() when done reading to verify that the extracted data passes integrity verification.

Implementations

Checks that data read from disk passes integrity checks. Returns the algorithm that was used verified the data. Should be called only after all data has been read from disk.

This check is very cheap, since most of the verification is done on the fly. This simply finalizes verification, and is always synchronous.

Example
use async_std::prelude::*;
use async_attributes;

#[async_attributes::main]
async fn main() -> cacache::Result<()> {
    let mut fd = cacache::Reader::open("./my-cache", "my-key").await?;
    let mut str = String::new();
    fd.read_to_string(&mut str).await.expect("Failed to read to string");
    // Remember to check that the data you got was correct!
    fd.check()?;
    Ok(())
}

Opens a new file handle into the cache, looking it up in the index using key.

Example
use async_std::prelude::*;
use async_attributes;

#[async_attributes::main]
async fn main() -> cacache::Result<()> {
    let mut fd = cacache::Reader::open("./my-cache", "my-key").await?;
    let mut str = String::new();
    fd.read_to_string(&mut str).await.expect("Failed to read to string");
    // Remember to check that the data you got was correct!
    fd.check()?;
    Ok(())
}

Opens a new file handle into the cache, based on its integrity address.

Example
use async_std::prelude::*;
use async_attributes;

#[async_attributes::main]
async fn main() -> cacache::Result<()> {
    let sri = cacache::write("./my-cache", "key", b"hello world").await?;
    let mut fd = cacache::Reader::open_hash("./my-cache", sri).await?;
    let mut str = String::new();
    fd.read_to_string(&mut str).await.expect("Failed to read to string");
    // Remember to check that the data you got was correct!
    fd.check()?;
    Ok(())
}

Trait Implementations

Attempt to read from the AsyncRead into buf. Read more

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

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Reads some bytes from the byte stream. Read more

Like [read()][AsyncReadExt::read()], except it reads into a slice of buffers. Read more

Reads the entire contents and appends them to a Vec. Read more

Reads the entire contents and appends them to a String. Read more

Reads the exact number of bytes required to fill buf. Read more

Creates an adapter which will read at most limit bytes from it. Read more

Converts this [AsyncRead] into a [Stream] of bytes. Read more

Creates an adapter which will chain this stream with another. Read more

Boxes the reader and changes its type to dyn AsyncRead + Send + 'a. Read more

Creates an adaptor which will chain this stream with another. Read more

Tries to read some bytes directly into the given buf in asynchronous manner, returning a future type. Read more

Creates a future which will read from the AsyncRead into bufs using vectored IO operations. Read more

Creates a future which will read exactly enough bytes to fill buf, returning an error if end of file (EOF) is hit sooner. Read more

Creates a future which will read all the bytes from this AsyncRead. Read more

Creates a future which will read all the bytes from this AsyncRead. Read more

Helper method for splitting this read/write object into two halves. Read more

Creates an AsyncRead adapter which will read at most limit bytes from the underlying reader. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Reads some bytes from the byte stream. Read more

Like read, except that it reads into a slice of buffers. Read more

Reads all bytes from the byte stream. Read more

Reads all bytes from the byte stream and appends them into a string. Read more

Reads the exact number of bytes required to fill buf. Read more

Creates an adaptor which will read at most limit bytes from it. Read more

Creates a “by reference” adaptor for this instance of Read. Read more

Transforms this Read instance to a Stream over its bytes. Read more

Creates an adaptor which will chain this stream with another. Read more

Should always be Self

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.