Crate layered_io[−][src]
Expand description
I/O traits extending std::io::Read
and std::io::Write
.
Structs
Adapts an Read
+ Write
to implement DuplexLayered
.
Adapts an Read
to implement ReadLayered
.
Adapts a std::io::Write
to implement WriteLayered
.
Adapts an &[u8]
to implement ReadLayered
.
Enums
For interactivity, it’s desirable to avoid buffering data which is complete
enough to be actionable. Activity
allows writers to notify the API at
points when the data provided is actionable and buffers should be flushed
to the reader.
What is known about a stream in the future.
Traits
A trait to help with buffering on top of ReadLayered
and WriteLayered
.
A trait which simply combines ReadLayered
, WriteLayered
, and
HalfDuplex
.
An extension of Read
, with read_with_status
and
read_vectored_with_status
which return status information and zero is not
special-cased. It also allows streams to specify a minimum_buffer_size
.
An extension of std::io::Write
, but adds a close
function to allow
the stream to be closed and any outstanding errors to be reported, without
requiring a sync_all
.
Functions
Default implementation of Read::is_read_vectored
accompanying
[default_read_vectored_with_status
].
Default implementation of Write::is_write_vectored
accompanying
default_write_vectored
.
Default implementation of Read::read
in terms of
ReadLayered::read_with_status
.
Default implementation of ReadLayered::read_exact_using_status
in terms
of ReadLayered::read_with_status
.
Default implementation of Read::read_to_end
in terms of
ReadLayered::read_with_status
.
Default implementation of Read::read_to_string
in terms of
Read::read_to_end
.
Default implementation of Read::read_vectored
in terms of
ReadLayered::read_vectored_with_status
.
Default implementation of Bufferable::abandon
, which does nothing.
Default implementation of Write::write_all
, in terms of
Write::write
.
Default implementation of Write::write_all_vectored
, in terms of
Write::write_vectored
.
Default implementation of Write::write_vectored
, in terms of
Write::write
.
Translate from read_with_status
’s return value with independent size and
status to a std::io::Read::read
return value where 0 is special-cased
to mean end-of-stream, an io::ErrorKind::Interrupted
error is used to
indicate a zero-length read, and pushes are not reported.