#io #blocking #buffered #networking #eintr

netio

Alternative implementation of parts of std::io, better suited for blocking IO over networks

26 releases

Uses old Rust 2015

0.6.1 Dec 30, 2017
0.6.0 May 1, 2017
0.5.1 Jan 7, 2017
0.5.0 Aug 27, 2016
0.1.0 Mar 30, 2016

#17 in #buffered

MIT license

115KB
2K SLoC

netio

Crates.io

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

Description

The main reason for this crate is the handling of std::io::ErrorKind::Interrupted in std::io: Except for read() and 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 BufRead instead of Read to ensure that no content is lost on retry.

Dependencies

~750KB
~12K SLoC