netstack3_datagram/
lib.rs1#![no_std]
11#![warn(
12 missing_docs,
13 unreachable_patterns,
14 clippy::useless_conversion,
15 clippy::redundant_clone,
16 clippy::precedence
17)]
18
19extern crate alloc;
20
21#[path = "."]
22mod internal {
23 pub(super) mod datagram;
24 pub(super) mod diagnostics;
25 pub(super) mod settings;
26 pub(super) mod sndbuf;
27 pub(super) mod spec_context;
28 pub(super) mod uninstantiable;
29}
30
31pub use internal::datagram::{
32 BoundDatagramSocketMap, BoundSocketState, BoundSocketStateType, ConnInfo, ConnState,
33 ConnectError, DatagramApi, DatagramBindingsContext, DatagramBindingsTypes,
34 DatagramBoundStateContext, DatagramFlowId, DatagramIpSpecificSocketOptions,
35 DatagramSocketMapSpec, DatagramSocketSet, DatagramSocketSpec, DatagramStateContext,
36 DualStackBaseIpExt, DualStackConnState, DualStackConverter, DualStackDatagramBoundStateContext,
37 DualStackIpExt, EitherIpSocket, ExpectedConnError, ExpectedUnboundError, InUseError, IpExt,
38 IpOptions, ListenerInfo, MulticastInterfaceSelector, MulticastMembershipInterfaceSelector,
39 NonDualStackConverter, NonDualStackDatagramBoundStateContext, ReferenceState, SendError,
40 SendToError, SetMulticastMembershipError, SocketInfo, SocketState, SocketStateInner, StrongRc,
41 WeakRc, WrapOtherStackIpOptions, WrapOtherStackIpOptionsMut,
42};
43pub use internal::diagnostics::{DatagramSocketDiagnosticsSpec, SocketStateForMatching};
44pub use internal::settings::DatagramSettings;
45pub use internal::sndbuf::TxMetadata;
46pub use internal::spec_context::{
47 DatagramSpecBoundStateContext, DatagramSpecStateContext,
48 DualStackDatagramSpecBoundStateContext, NonDualStackDatagramSpecBoundStateContext,
49};
50
51#[cfg(any(test, feature = "testutils"))]
53pub mod testutil {
54 pub use crate::internal::datagram::create_primary_id;
55 pub use crate::internal::datagram::testutil::setup_fake_ctx_with_dualstack_conn_addrs;
56}