Skip to content

Commit 1a4263a

Browse files
Remove the P2P header (#70)
ACKs are now indicated via a dedicated flag in the header, and P2P messages are treated verbatim like ordinary topic messages. The metadata required for P2P responses is now managed entirely by Cy (one layer above libxxxards). As a result, the library has been slightly simplified, both at the API level and internally.
1 parent 6ae1709 commit 1a4263a

13 files changed

Lines changed: 538 additions & 959 deletions

MIGRATION_v1.x_to_v2.0.md

Lines changed: 0 additions & 197 deletions
This file was deleted.

README.md

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,16 @@ next-generation intelligent vehicles: manned and unmanned aircraft, spacecraft,
2828
- Robust message ordering recovery for ordering-sensitive applications (e.g., state estimators, control loops)
2929
with well-defined deterministic recovery in the event of lost messages.
3030
- Packet loss mitigation via:
31-
- redundant interfaces (packet lost on one interface may be received on another, transparent to the application);
3231
- reliable topics (retransmit until acknowledged; callback notifications for successful/failed deliveries).
33-
- Heap not required; the library can be used with fixed-size block pool allocators.
32+
- redundant interfaces (packet lost on one interface may be received on another, transparent to the application);
33+
- Heap not required (but supported); the library can be used with fixed-size block pool allocators.
3434
- Detailed time complexity and memory requirement models for the benefit of real-time high-integrity applications.
35+
- Highly scalable: designed to handle thousands of topics and hundreds of concurrent transfers with minimal resources.
3536
- Runs anywhere out of the box, including extremely resource-constrained baremetal environments with ~100K ROM/RAM.
3637
No porting required.
3738
- Partial MISRA C compliance (reach out to <https://forum.opencyphal.org>).
3839
- Full implementation in a single C file with only 2k lines of straightforward C99!
39-
- Extensive test coverage.
40+
- Extensive verification suite.
4041

4142
## Usage
4243

@@ -68,13 +69,9 @@ standards-compliant C99 compiler is available.
6869

6970
**Read the API docs in [`libudpard/udpard.h`](libudpard/udpard.h).**
7071

71-
## See also
72-
73-
- [Nunavut transpiler](https://github.com/OpenCyphal/nunavut) for DSDL message (de)serialization.
74-
7572
## Revisions
7673

77-
### v3.0
74+
### v3.0 -- WORK IN PROGRESS
7875

7976
The library has been redesigned from scratch to support Cyphal v1.1, named topics, and reliable transfers.
8077
No porting guide is provided since the changes are too significant;
@@ -83,7 +80,7 @@ please refer to the new API docs in `libudpard/udpard.h`.
8380
### v2.0
8481

8582
- Updating from LibUDPard v1 to v2 involves several significant changes to improve memory management and payload handling.
86-
- Please follow [MIGRATION_v1.x_to_v2.0](MIGRATION_v1.x_to_v2.0.md) guide and carefully update your code.
83+
- Please follow `MIGRATION_v1.x_to_v2.0.md` guide (available in v2 tree).
8784

8885
### v1.0
8986

0 commit comments

Comments
 (0)