1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
// SPDX-License-Identifier: Apache-2.0
// Copyright 2026 ZeroDDS Contributors
//! Crate `zerodds-coap-bridge`. Safety classification: **STANDARD**.
//!
//! CoAP (RFC 7252) Wire-Codec + Reliability + Discovery + Bridge —
//! pure-Rust `no_std + alloc`, `forbid(unsafe_code)`. Implementiert
//! neben dem reinen Wire-Codec auch alle CoAP-Begleit-Schichten:
//! Reliability/Congestion-Control (§4.2-§4.7), Request/Response-
//! Matching (§5.3), Block-Wise-Transfer (RFC 7959), Resource-Discovery
//! im CoRE-Link-Format (RFC 6690), Observe-Registry (RFC 7641),
//! Multicast-Diskovery, Caching/Proxying (§5.6 + §5.7), DTLS-Mode-
//! Marker (§9) und einen Bidirectional-CoAP↔DDS-Topic-Bridge.
//!
//! Spec-Referenzen:
//!
//! - **RFC 7252** — CoAP (Constrained Application Protocol).
//! - **RFC 7641** — Observing Resources in CoAP.
//! - **RFC 7959** — Block-Wise Transfer.
//! - **RFC 6690** — CoRE-Link-Format.
//!
//! ## Schichten-Position
//!
//! Layer 5 — Bridges. Substrat fuer DDS↔IoT-Endpoint-Mapping
//! (Constrained-Devices, OPC-UA-PubSub-Mapping, ROS-2-on-Constrained-
//! Bridges).
//!
//! ## Public API (Stand 1.0.0-rc.1)
//!
//! - [`CoapMessage`] / [`CoapCode`] / [`MessageType`] — Message-Modell
//! (§3 + §12.1).
//! - [`encode`] / [`decode`] / [`CodecError`] — Wire-Codec.
//! - [`CoapOption`] / [`OptionNumber`] / [`OptionValue`] — Options
//! mit Delta-Encoding + Extended-Length (§3.1, §5.10).
//! - [`BlockOption`] / [`BlockValue`] / [`BlockReassembler`] /
//! [`BlockError`] — Block-Wise-Transfer (RFC 7959).
//! - [`CoreLink`] / [`encode_links`] / [`decode_links`] — Resource-
//! Discovery (RFC 6690).
//! - [`OBSERVE_OPTION_NUMBER`] / [`ObserveRegistry`] /
//! [`ObserverEntry`] — RFC 7641 Observer-State.
//! - [`PendingConfirmable`] / [`ReliabilityTracker`] / [`TickOutput`] /
//! [`ACK_TIMEOUT_MS`] / [`MAX_RETRANSMIT`] — Reliability §4.
//! - [`CoapDdsBridge`] / [`BridgeOp`] / [`BridgeError`] /
//! [`map_method`] / [`parse_dds_path`] — CoAP↔DDS-Topic-Mapping.
//!
//! ## Beispiel
//!
//! ```rust
//! use zerodds_coap_bridge::{decode, encode, CoapCode, CoapMessage, MessageType};
//!
//! let msg = CoapMessage {
//! version: 1,
//! message_type: MessageType::Confirmable,
//! token: Vec::new(),
//! code: CoapCode::GET,
//! message_id: 0xBEEF,
//! options: Vec::new(),
//! payload: Vec::new(),
//! };
//!
//! let wire = encode(&msg).expect("encode");
//! let decoded = decode(&wire).expect("decode");
//! assert_eq!(decoded.code, CoapCode::GET);
//! ```
extern crate alloc;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;