- remove
=dependency oncfg-if.
- Use default IOCP concurrency value (#1161).
- setting FD_CLOEXEC in pipe (#1095).
- Do not trigger HUP events on kqueue platforms (#958).
- Fix compilation on kqueue platforms with 32bit C long (#948).
- Don't report
RDHUPasHUP(#939) - Fix lazycell related compilation issues.
- Fix EPOLLPRI conflicting with READABLE
- Abort process on ref count overflows
- Define PRI on all targets
- Add EPOLLPRI readiness to UnixReady on supported platforms (#867)
- Reduce spurious awaken calls (#875)
- Implement
Eventedfor containers (#840). - Fix android-aarch64 build (#850).
- Add
Poll::poll_interruptible(#811) - Add
Ready::allandusizeconversions (#825)
- Fix build on DragonFlyBSD.
- Add
TcpListener::from_stdthat does not require the socket addr. - Deprecate
TcpListener::from_listenerin favor of from_std.
- Add
TcpStream::peekfunction (#773). - Raise minimum Rust version to 1.18.0.
Poll: retry select() when interrupted by a signal (#742).- Deprecate
Eventsindex access (#713). - Add
Events::clear(#782). - Add support for
lio_listio(#780).
- Allow register to take empty interest (#640).
- Fix bug with TCP errors on windows (#725).
- Add TcpListener::accept_std (#733).
- Update IoVec to fix soundness bug -- includes behavior change. (#747).
- Minimum Rust version is now 1.14.0.
- Fix Android x86_64 build.
- Misc API & doc polish.
- Experimental support for Fuchsia
- Add
only_v6option for UDP sockets - Fix build on NetBSD
- Minimum Rust version is now 1.13.0
- Assignment operators (e.g.
|=) are now implemented forReady
- More socket options are exposed through the TCP types, brought in through the
net2crate.
- Support Fuchia
- POSIX AIO support
- Fix memory leak caused by Register::new2
- Windows: fix handling failed TCP connections
- Fix build on aarch64-linux-android
- Fix usage of
O_CLOEXECwithSETFL
- Ignore EPIPE coming out of
kevent - Timer thread should exit when timer is dropped.
- Add send(), recv() and connect() to UDPSocket.
- Fix bug in custom readiness queue
- Move net types into
netmodule
- Misc improvements to kqueue bindings
- Add official support for iOS, Android, BSD
- Reimplement custom readiness queue
Pollis nowSync- Officially deprecate non-core functionality (timers, channel, etc...)
Registrationnow implementsEvented- Fix bug around error conditions with
connecton windows. - Use iovec crate for scatter / gather operations
- Only support readable and writable readiness on all platforms
- Expose additional readiness in a platform specific capacity
- Fix compilation on musl
- Add
TcpStream::from_streamwhich converts a std TCP stream to Mio.
- Implement readv/writev for
TcpStream, allowing vectored reads/writes to work across platforms - Remove
nixdependency - Implement
DisplayandErrorfor some channel error types. - Optimize TCP on Windows through
SetFileCompletionNotificationModes
- Allow registration of custom handles on Windows (like
EventedFdon Unix) - Send only one byte for the awakener on Unix instead of four
- Fix a bug in the timer implementation which caused an infinite loop
- Update dependency of
libcto 0.2.16 - Fix channel
declogic - Fix a timer bug around timeout cancellation
- Don't allocate buffers for TCP reads on Windows
- Touched up documentation in a few places
- Fix an infinite looping timer thread on OSX
- Fix compile on 32-bit OSX
- Fix compile on FreeBSD
- Shift primary API towards
Poll EventLoopand types todeprecatedmod. All contents of thedeprecatedmod will be removed by Mio 1.0.- Increase minimum supported Rust version to 1.9.0
- Deprecate unix domain socket implementation in favor of using a version external to Mio. For example: https://github.com/alexcrichton/mio-uds.
- Remove various types now included in
std - Updated TCP & UDP APIs to match the versions in
std - Enable implementing
Eventedfor any type viaRegistration - Rename
IoEvent->Event - Access
Eventdata via functions vs. public fields. - Expose
Eventsas a public type that is passed intoPoll - Use
std::time::Durationfor all APIs that require a time duration. - Polled events are now retrieved via
Eventstype. - Implement
std::error::ErrorforTimerError - Relax
Sendbound on notify messages. - Remove
Cloneimpl forTimeout(future proof) - Remove
mio::prelude - Remove
mio::util - Remove dependency on bytes
- Windows support (#239)
- NetBSD support (#306)
- Android support (#295)
- Don't re-export bytes types
- Renamed
EventLoop::register_opttoEventLoop::register(#257) EventLoopConfigis now a builder instead of having public struct fields. It is also no longerCopy. (#259)TcpSocketis no longer exported in the public API (#262)- Integrate with net2. (#262)
TcpListenernow returns the remote peer address fromacceptas well (#275)- The
UdpSocket::{send_to, recv_from}methods are no longer generic overBuforMutBufbut instead take slices directly. The return types have also been updated to return the number of bytes transferred. (#260) - Fix bug with kqueue where an error on registration prevented the changelist from getting flushed (#276)
- Support sending/receiving FDs over UNIX sockets (#291)
- Mio's socket types are permanently associated with an EventLoop (#308)
- Reduce unnecessary poll wakeups (#314)
- [BUGFIX] Fix notify channel concurrency bug (#216)
- [BUGFIX] EventLoop::register requests all events, not just readable.
- [BUGFIX] Attempting to send a message to a shutdown event loop fails correctly.
- [FEATURE] Expose TCP shutdown
- [IMPROVEMENT] Coalesce readable & writable into
readyevent (#184) - [IMPROVEMENT] Rename TryRead & TryWrite function names to avoid conflict with std.
- [IMPROVEMENT] Provide TCP and UDP types in Mio (path to windows #155)
- [IMPROVEMENT] Use clock_ticks crate instead of time (path to windows #155)
- [IMPROVEMENT] Move unix specific features into mio::unix module
- [IMPROVEMENT] TcpListener sets SO_REUSEADDR by default