Draft
Conversation
…e transport-agnostic session layer
There was a problem hiding this comment.
Pull request overview
This pull request removes reliable delivery functionality from the Cyphal/UDP transport layer, moving reliability concerns one layer higher in the protocol stack. The changes simplify the library significantly by eliminating ACK handling, feedback callbacks, and TX/RX linkage.
Changes:
- Removed reliable delivery mechanism including ACKs, retransmissions, and feedback callbacks
- Reduced header size from 40 to 32 bytes by removing frame_index and frame_kind fields
- Changed transfer-ID from 64-bit to 48-bit representation
- Simplified TX/RX pipeline by removing TX reference from RX instance
- Unified eject callback interface (removed separate subject/P2P callbacks)
Reviewed changes
Copilot reviewed 13 out of 14 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| libudpard/udpard.h | Removed feedback callback types, ACK-related fields, user context union; simplified vtable; changed transfer-ID to 48-bit |
| libudpard/udpard.c | Removed all ACK transmission/reception logic, staged transfer index, feedback handling; simplified header format |
| cyphal_udp_header.dsdl | Updated protocol spec removing frame_kind and frame_index fields; reduced header to 32 bytes |
| tests/src/test_*.c | Simplified tests removing reliability-specific scenarios; focused on basic roundtrip and deduplication |
| tests/src/helpers.h | Removed make_user_context helper no longer needed |
| README.md | Updated feature list removing reliable delivery references |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reliability has been moved one layer higher.