Skip to main content

compio_net/
lib.rs

1//! Network utilities.
2//!
3//! Currently, TCP/UDP/Unix socket are implemented.
4
5#![cfg_attr(docsrs, feature(doc_cfg))]
6#![cfg_attr(feature = "once_cell_try", feature(once_cell_try))]
7#![allow(unused_features)]
8#![warn(missing_docs)]
9#![deny(rustdoc::broken_intra_doc_links)]
10#![doc(
11    html_logo_url = "https://github.com/compio-rs/compio-logo/raw/refs/heads/master/generated/colored-bold.svg"
12)]
13#![doc(
14    html_favicon_url = "https://github.com/compio-rs/compio-logo/raw/refs/heads/master/generated/colored-bold.svg"
15)]
16
17mod incoming;
18mod opts;
19mod resolve;
20mod socket;
21pub(crate) mod split;
22mod tcp;
23mod udp;
24mod unix;
25
26/// Reference to a control message.
27#[deprecated(
28    since = "0.12.0",
29    note = "use `compio_io::ancillary::AncillaryRef` instead"
30)]
31pub type CMsgRef<'a> = compio_io::ancillary::AncillaryRef<'a>;
32
33/// An iterator for control messages.
34#[deprecated(
35    since = "0.12.0",
36    note = "use `compio_io::ancillary::AncillaryIter` instead"
37)]
38pub type CMsgIter<'a> = compio_io::ancillary::AncillaryIter<'a>;
39
40/// Helper to construct control message.
41#[deprecated(
42    since = "0.12.0",
43    note = "use `compio_io::ancillary::AncillaryBuilder` instead"
44)]
45pub type CMsgBuilder<'a> = compio_io::ancillary::AncillaryBuilder<'a>;
46
47/// Providing functionalities to wait for readiness.
48#[deprecated(since = "0.12.0", note = "Use `compio::runtime::fd::PollFd` instead")]
49pub type PollFd<T> = compio_runtime::fd::PollFd<T>;
50pub(crate) use incoming::*;
51pub use opts::SocketOpts;
52pub use resolve::ToSocketAddrsAsync;
53pub(crate) use resolve::{each_addr, first_addr_buf, first_addr_buf_zerocopy};
54pub(crate) use socket::*;
55pub use split::*;
56pub use tcp::*;
57pub use udp::*;
58pub use unix::*;