netstack3_udp/
lib.rs

1// Copyright 2024 The Fuchsia Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5//! Netstack3 core UDP.
6//!
7//! This crate contains the UDP implementation for netstack3.
8
9#![no_std]
10#![warn(
11    missing_docs,
12    unreachable_patterns,
13    clippy::useless_conversion,
14    clippy::redundant_clone,
15    clippy::precedence
16)]
17extern crate alloc;
18
19#[path = "."]
20mod internal {
21    pub(super) mod base;
22    pub(super) mod counters;
23    pub(super) mod diagnostics;
24    pub(super) mod settings;
25}
26
27pub use internal::counters::{
28    CombinedUdpCounters, UdpCounterContext, UdpCountersWithSocket, UdpCountersWithoutSocket,
29};
30
31pub use internal::base::{
32    BoundSockets, BoundStateContext, DualStackBoundStateContext, NonDualStackBoundStateContext,
33    ReceiveUdpError, SendError, SendToError, Sockets, StateContext, UdpApi, UdpBindingsContext,
34    UdpBindingsTypes, UdpIpTransportContext, UdpPacketMeta, UdpReceiveBindingsContext,
35    UdpRemotePort, UdpSocketId, UdpSocketSet, UdpSocketState, UdpSocketTxMetadata, UdpState,
36    UdpStateContext, UseUdpIpTransportContextBlanket,
37};
38
39pub use internal::diagnostics::{UdpSocketDiagnosticTuple, UdpSocketDiagnostics};
40
41pub use internal::settings::UdpSettings;