#![cfg_attr(docsrs, feature(doc_cfg))]
#[cfg(not(target_os = "macos"))]
compile_error!("atap only supports macOS");
pub(crate) mod constants;
pub(crate) mod executor;
pub(crate) mod reactor;
pub(crate) mod runtime;
mod modules {
pub(crate) mod address_lock;
pub mod builder;
pub(crate) mod c_path;
pub(crate) mod erased_task;
pub mod errors;
pub(crate) mod event_desc;
pub(crate) mod exit_guard;
pub(crate) mod extras;
pub(crate) mod faults;
pub(crate) mod fd;
pub(crate) mod forward;
pub(crate) mod gate;
pub(crate) mod gated;
pub(crate) mod gather;
pub(crate) mod handle_kind;
pub(crate) mod handle_set;
pub(crate) mod handle_set_tuples;
pub(crate) mod help;
pub(crate) mod injector;
pub(crate) mod input;
pub(crate) mod int_check;
pub mod join_policy;
pub(crate) mod kevent;
pub(crate) mod kqueue;
pub(crate) mod mailbox;
pub(crate) mod mapping;
pub(crate) mod merge_set;
pub(crate) mod merge_set_tuples;
pub(crate) mod park;
pub mod pool_stats;
pub(crate) mod receivers;
pub(crate) mod retried;
pub mod runtime_status;
pub(crate) mod series;
pub(crate) mod sleep_thread;
pub(crate) mod task_data;
pub(crate) mod task_handle;
pub(crate) mod task_kind;
pub(crate) mod task_setup;
pub mod task_state;
pub(crate) mod task_table;
pub(crate) mod thread_slot;
pub(crate) mod tuning;
pub(crate) mod waiter;
pub(crate) mod wake_target;
pub(crate) mod worker;
pub(crate) mod worker_pool;
pub(crate) mod worker_state;
pub mod worker_stats;
}
mod futures {
pub mod channel;
pub mod compute;
pub mod file;
pub(crate) mod kernel_wait;
pub mod net;
pub mod process;
pub mod signal;
pub mod sleep;
pub(crate) mod sleep_task;
pub(crate) mod task;
pub mod tcp;
#[cfg(feature = "tls")]
#[cfg_attr(docsrs, doc(cfg(feature = "tls")))]
pub mod tls;
pub mod udp;
pub mod unix;
}
pub use constants::DEFAULT_PRIORITY;
pub use futures::task::{Nothing, Task};
pub use modules::errors::RuntimeError;
pub use modules::join_policy::JoinPolicy;
pub use modules::pool_stats::PoolStats;
pub use modules::runtime_status::RuntimeStatus;
pub use modules::task_handle::TaskHandle;
pub use modules::task_state::TaskState;
pub use modules::worker_stats::WorkerStats;
pub use runtime::Runtime;
pub mod prelude {
pub use crate::channel::Channel;
pub use crate::compute::Compute;
pub use crate::fs::File;
pub use crate::process::Process;
pub use crate::signal::{Signal, SignalKind};
pub use crate::sleep::{Sleep, SleepMode};
pub use crate::tcp::Tcp;
#[cfg(feature = "tls")]
#[cfg_attr(docsrs, doc(cfg(feature = "tls")))]
pub use crate::tls::Tls;
pub use crate::udp::Udp;
pub use crate::unix::Unix;
pub use crate::{JoinPolicy, Runtime, RuntimeError, TaskHandle};
}
pub mod builder {
pub use crate::modules::builder::{
NoWait, Once, Open, Rate, ReceiveAll, ReceiveAny, Repeat, Repeatable, RuntimeBuilder, Set,
TaskBuilder, Unset, WaitFor, Waits, Wiring,
};
pub use crate::modules::handle_kind::{HandleKind, Plain, Waiting};
pub use crate::modules::handle_set::HandleSet;
pub use crate::modules::input::{Ignore, Receives, Standalone, Use};
pub use crate::modules::merge_set::MergeSet;
}
pub mod channel {
pub use crate::futures::channel::{
Bounded, BoundedSender, Channel, ChannelRecvTask, ChannelSendTask, Receiver, Sender,
Unbounded,
};
}
pub mod compute {
pub use crate::futures::compute::{Compute, ComputeTask};
}
pub mod fs {
pub use crate::futures::file::{
Change, CopyTask, DirEntry, File, FileKind, FileMetadataTask, FileOpTask, FileReadTask,
FileWriteTask, LockKind, Metadata, MetadataTask, OpenFile, OpenTask, PathBufTask, PathTask,
ReadDirTask, ReadTask, WatchTask, WriteTask,
};
}
pub mod net {
pub use crate::futures::net::{FinishTask, NetAddress, RecvTask, SendTask};
}
pub mod process {
pub use crate::futures::process::{
ChildOutput, ChildSignalTask, ChildStdin, ChildWaitTask, ExitStatus, OutputTask, Process,
ProcessOutput, RunningChild, SpawnTask, StatusTask,
};
}
pub mod signal {
pub use crate::futures::signal::{
SendSignalTask, Signal, SignalKind, SignalReleasePolicy, SignalTask,
};
}
pub mod sleep {
pub use crate::futures::sleep::{Sleep, SleepMode};
pub use crate::futures::sleep_task::SleepTask;
}
pub mod tcp {
pub use crate::futures::tcp::{
AcceptTask, ConnectTask, Connection, ListenTask, Listener, RequestTask, Tcp,
};
}
#[cfg(feature = "tls")]
#[cfg_attr(docsrs, doc(cfg(feature = "tls")))]
pub mod tls {
pub use crate::futures::tls::{
Tls, TlsAcceptTask, TlsConnectTask, TlsConnection, TlsListenTask, TlsListener,
TlsRequestTask,
};
}
pub mod udp {
pub use crate::futures::udp::{
BindTask, RecvFromTask, SendToTask, Udp, UdpConnectTask, UdpRecvTask, UdpSendTask,
UdpSocket,
};
}
pub mod unix {
pub use crate::futures::unix::{
Credentials, Unix, UnixAcceptTask, UnixBindTask, UnixConnectTask, UnixConnection,
UnixDatagram, UnixListenTask, UnixListener, UnixPairTask, UnixRecvFromTask, UnixSendToTask,
};
}