1pub mod config;
2pub mod context;
3pub mod error;
4#[cfg(feature = "metrics")]
5pub mod jsonl;
6#[cfg(feature = "metrics")]
7pub mod metrics;
8mod platform;
9pub mod publication;
10#[cfg(feature = "raw-packets")]
11pub mod raw;
12#[cfg(feature = "raw-ip")]
13pub mod raw_ip;
14pub mod report;
15#[cfg(any(feature = "raw-packets", feature = "raw-ip"))]
16mod socket_cache;
17#[cfg(test)]
18mod test_support;
19#[cfg(feature = "tokio")]
20pub mod tokio_adapter;
21
22pub use config::{
23 Ipv6MulticastScope, OutgoingInterface, PublicationAddressFamily, PublicationConfig,
24 is_ipv6_ssm_group,
25};
26pub use context::Context;
27pub use error::MctxError;
28#[cfg(feature = "metrics")]
29pub use metrics::{
30 ContextMetricsDelta, ContextMetricsSampler, ContextMetricsSnapshot, PublicationMetricsDelta,
31 PublicationMetricsSampler, PublicationMetricsSnapshot,
32};
33pub use publication::{Publication, PublicationId, PublicationParts};
34#[cfg(feature = "raw-packets")]
35pub use raw::{
36 RawContext, RawPublication, RawPublicationConfig, RawPublicationId, RawSendReport,
37 RawValidationMode,
38};
39#[cfg(feature = "raw-ip")]
40pub use raw_ip::{
41 RawIpCapabilities, RawIpCapability, RawIpContext, RawIpPublication, RawIpPublicationConfig,
42 RawIpPublicationId, RawIpSendReport, RawIpSocketConfig, raw_ip_capabilities,
43};
44pub use report::SendReport;
45#[cfg(feature = "tokio")]
46pub use tokio_adapter::{TokioPublication, TokioSendError};