Struct chomp::buffer::Source [] [src]

pub struct Source<S: DataSource, B: Buffer<S::Item>> { /* fields omitted */ }

Manages a buffer and data source pair, enabling efficient parsing from a streaming source.

Methods

impl<R: Read> Source<ReadDataSource<R>, FixedSizeBuffer<u8>>
[src]

Creates a new Source from a Read instance with the default FixedSizeBuffer settings.

impl<R: Read, B: Buffer<u8>> Source<ReadDataSource<R>, B>
[src]

Creates a new Source from Read and buffer instances.

impl<RW: Read + Write> Source<RWDataSource<RW>, FixedSizeBuffer<u8>>
[src]

Creates a new Source from Read+Write with the default FixedSizeBuffer settings.

impl<RW: Read + Write, B: Buffer<u8>> Source<RWDataSource<RW>, B>
[src]

Creates a new Source from Read+Write and buffer instances.

impl<I: Iterator, B: Buffer<I::Item>> Source<IteratorDataSource<I>, B> where
    I::Item: Copy + PartialEq
[src]

Creates a new Source from Iterator and Buffer instances.

impl<S: DataSource, B: Buffer<S::Item>> Source<S, B>
[src]

Creates a new Source from DataSource and Buffer instances.

Attempts to fill the buffer to satisfy the last call to parse().

Returns the number of bytes left in the buffer which have not yet been parsed.

If the buffer is empty and the reader has reached the end.

Returns the capacity of the underlying buffer.

This is the maximum number of input items the buffer can store.

Borrows the remainder of the buffer.

Resets the buffer state, keeping the current buffer contents and cursor position.

This is useful when streaming data and more data has been made available on a socket/stream.

Changes the setting automatic fill feature, true will make the buffer automatically call fill() on the next call to parse() after a Retry was encountered.

Trait Implementations

impl<S: Debug + DataSource, B: Debug + Buffer<S::Item>> Debug for Source<S, B>
[src]

Formats the value using the given formatter.

impl<S: DataSource<Item = u8>, B: Buffer<u8>> Read for Source<S, B>
[src]

Pull some bytes from this source into the specified buffer, returning how many bytes were read. Read more

Read all bytes until EOF in this source, placing them into buf. Read more

Read all bytes until EOF in this source, placing them into buf. Read more

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

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

Transforms this Read instance to an Iterator over its bytes. Read more

🔬 This is a nightly-only experimental API. (io)

the semantics of a partial read/write of where errors happen is currently unclear and may change

Transforms this Read instance to an Iterator over chars. Read more

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

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

impl<S: DataSource<Item = u8>, B: Buffer<u8>> BufRead for Source<S, B>
[src]

Fills the internal buffer of this object, returning the buffer contents. Read more

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

Read all bytes into buf until the delimiter byte or EOF is reached. Read more

Read all bytes until a newline (the 0xA byte) is reached, and append them to the provided buffer. Read more

Returns an iterator over the contents of this reader split on the byte byte. Read more

Returns an iterator over the lines of this reader. Read more

impl<RW: Read + Write, B: Buffer<u8>> Write for Source<RWDataSource<RW>, B>
[src]

Write a buffer into this object, returning how many bytes were written. Read more

Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more

Attempts to write an entire buffer into this write. Read more

Writes a formatted string into this writer, returning any error encountered. Read more

Creates a "by reference" adaptor for this instance of Write. Read more

impl<'a, S: DataSource, B: Buffer<S::Item>> Stream<'a, 'a> for Source<S, B> where
    S::Item: 'a, 
[src]

The input item type, usually depending on which DataSource is used.

Attempts to run the supplied parser F once on the currently populated data in this stream, providing a borrow of the inner data storage. Read more