1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
// Copyright 2020 Steven Bosnick // // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE-2.0 or // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your // option. This file may not be copied, modified, or distributed // except according to those terms //! A library for provinding abstractions for passing [`RawFd`][RawFd] between //! processes. This is necessarily a Unix (or Unix-like) library as `RawFd` are Unix //! specific. //! //! The underlying mechanism for passing the `RawFd` is a Unix socket, but the //! different abstractions provided here are different ways of embedding this in the //! Rust ecosystem. //! //! [RawFd]: https://doc.rust-lang.org/stable/std/os/unix/io/type.RawFd.html #![deny(missing_docs, warnings)] mod queue; #[cfg(feature = "net-fd")] mod net; #[cfg(feature = "mio-fd")] pub mod mio; #[cfg(feature = "tokio-fd")] pub mod tokio; #[cfg(feature = "net-fd")] pub use net::{Incoming, UnixListener, UnixStream}; pub use queue::{DequeueFd, EnqueueFd, QueueFullError};