Struct thrift::transport::TBufferChannel [] [src]

pub struct TBufferChannel { /* fields omitted */ }

In-memory read and write channel with fixed-size read and write buffers.

On a write bytes are written to the internal write buffer. Writes are no longer accepted once this buffer is full. Callers must empty_write_buffer() before subsequent writes are accepted.

You can set readable bytes in the internal read buffer by filling it with set_readable_bytes(...). Callers can then read until the buffer is depleted. No further reads are accepted until the internal read buffer is replenished again.

Methods

impl TBufferChannel
[src]

Constructs a new, empty TBufferChannel with the given read buffer capacity and write buffer capacity.

Return a copy of the bytes held by the internal read buffer. Returns an empty vector if no readable bytes are present.

Reset the number of readable bytes to zero.

Subsequent calls to read will return nothing.

Copy bytes from the source buffer buf into the internal read buffer, overwriting any existing bytes. Returns the number of bytes copied, which is min(buf.len(), internal_read_buf.len()).

Return a copy of the bytes held by the internal write buffer. Returns an empty vector if no bytes were written.

Resets the internal write buffer, making it seem like no bytes were written. Calling write_buffer after this returns an empty vector.

Overwrites the contents of the read buffer with the contents of the write buffer. The write buffer is emptied after this operation.

Trait Implementations

impl Debug for TBufferChannel
[src]

Formats the value using the given formatter.

impl TIoChannel for TBufferChannel
[src]

Split the channel into a readable half and a writable half, where the readable half implements io::Read and the writable half implements io::Write. Returns None if the channel was not initialized, or if it cannot be split safely. Read more

impl Read for TBufferChannel
[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 Write for TBufferChannel
[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