| // Copyright 2018 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| //! A futures-rs executor design specifically for Fuchsia OS. |
| |
| #![deny(missing_docs)] |
| |
| mod runtime; |
| pub use self::runtime::*; |
| |
| mod handle; |
| pub use self::handle::channel::{Channel, RecvMsg}; |
| pub use self::handle::on_signals::OnSignals; |
| pub use self::handle::socket::Socket; |
| |
| /// Asynchronous networking abstractions. |
| pub mod net; |
| |
| #[cfg(target_os = "fuchsia")] |
| pub use self::handle::{ |
| fifo::{Fifo, FifoEntry, FifoReadable, FifoWritable, ReadEntries, ReadOne, WriteEntries}, |
| rwhandle::RWHandle, |
| }; |
| |
| /// An emulation library for Zircon handles on non-Fuchsia platforms. |
| #[cfg(not(target_os = "fuchsia"))] |
| pub mod emulated_handle { |
| pub use super::handle::{ |
| AsHandleRef, Channel, EmulatedHandleRef, EventPair, Handle, HandleBased, HandleDisposition, |
| HandleInfo, HandleOp, HandleRef, MessageBuf, MessageBufEtc, ObjectType, Peered, Rights, |
| Signals, Socket, SocketOpts, |
| }; |
| } |
| |
| /// A future which can be used by multiple threads at once. |
| pub mod atomic_future; |
| |
| // Re-export pin_mut as its used by the async proc macros |
| pub use pin_utils::pin_mut; |
| |
| pub use fuchsia_async_macro::{run, run_singlethreaded, run_until_stalled}; |
| |
| /// Testing support for repeated runs |
| pub mod test_support; |