Crate netio [] [src]

Alternative implementation of many functions found in std::io, but suitable for blocking IO over networks.

The main reason for this crate is the handling of ErrorKind::Interrupted in std::io. Except for std::io::Read::read and std::io::Write::write, almost all functions will ignore interrupts and just retry.

This crate provides alternative implementations using a similar API but allow for interrupts whithout losing any content.

Most functions are based on buffered readers instead of plain readers to ensure that no content is lost on retry.

Reexports

pub extern crate buf_redux;

Modules

mock

Structs

Bytes

An iterator over u8 values of a reader.

Chain

Adapter to chain together two readers.

Collect

A reader adapter over an iterator of readers

Compat
Error

The error type for I/O operations of the Read, Write, Seek, and associated traits.

Repeat

An adapter that restarts from the beginning after EOF is reached.

Retry

An adapter that retries reading/writing operations of the underlying reader or writer.

Split

An iterator over the contents of an instance of BufRead split on a particular byte.

Take

Adapter which limits the bytes read from / written to an underlying reader / writer.

Utf8Reader

Enums

ErrorKind

A list specifying general categories of I/O error.

Traits

BufRead

Alternative to std::io::BufRead

BufReadGrow

A BufReadGrow is a BufReader that has the ability to read additional data even if the buffer is not empty.

IoExt
Read

Alternative to std::io::Read

Stream

Base trait for generic stream operations

Write

Alternative to std::io::Write

Functions

copy

Copies the entire content of a buffered reader into a writer.

copy_until

Copies the content of a buffered reader into a writer until a delimiter is reached.

Type Definitions

BufReader

Alternative to std::io::BufReader

Result

A specialized Result type for I/O operations.