Struct handy_async::io::misc::Counter [] [src]

pub struct Counter<T> { /* fields omitted */ }

Counter counts the number of read/write bytes issued to an underlying stream.

Examples

use std::io::{self, Write};
use handy_async::io::misc::Counter;

let mut writer = Counter::new(io::sink());
writer.write(b"Hello").unwrap();
writer.write(b"World!").unwrap();
assert_eq!(writer.written_size(), b"Hello".len() + b"World!".len());

Methods

impl<T> Counter<T>
[src]

[src]

Makes a new Counter which has the inner stream T.

[src]

Gets a reference to the underlying stream.

[src]

Gets a mutable reference to the underlying stream.

[src]

Unwraps this Counter, returning the underlying stream.

[src]

Returns the total byte size written to the underlying stream.

[src]

Returns the total byte size read from the underlying stream.

impl Counter<Sink>
[src]

[src]

Equivalent to Counter::new(std::io::sink()).

Trait Implementations

impl<T: Read> Read for Counter<T>
[src]

[src]

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

[src]

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

Determines if this Reader can work with buffers of uninitialized memory. Read more

1.0.0
[src]

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

1.0.0
[src]

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

1.6.0
[src]

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

1.0.0
[src]

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

1.0.0
[src]

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

[src]

🔬 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 [char]s. Read more

1.0.0
[src]

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

1.0.0
[src]

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

impl<T: Write> Write for Counter<T>
[src]

[src]

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

[src]

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

1.0.0
[src]

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

1.0.0
[src]

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

1.0.0
[src]

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