Skip to content

Feature: CORE-37264 node manager#34

Merged
twallis-cpr merged 16 commits into
mainfrom
feature/CORE-37264-node-manager
May 26, 2026
Merged

Feature: CORE-37264 node manager#34
twallis-cpr merged 16 commits into
mainfrom
feature/CORE-37264-node-manager

Conversation

@twallis-cpr
Copy link
Copy Markdown
Contributor

Part of the larger proton re-architecture here (internal CPR/OTTO employee eyes only 👀 )

This re-creates the node manager API as a single read/write interface. The node type has a pointer to the registry and will parse through it to determine which bundles to send, and mark which endpoint to send it to (along with which transport type).

It is now up to the user to handle the actual mechanics of sending/receiving data from the transports, this is an attempt to enforce the "transports belong to the owner" principle that most embedded libraries have, rather than relying on users to conform to our callback structure. This prevents proton from being involved in things like interrupts, callbacks, etc.

@twallis-cpr twallis-cpr self-assigned this May 25, 2026
@twallis-cpr twallis-cpr requested a review from a team as a code owner May 25, 2026 20:07
@twallis-cpr twallis-cpr requested review from nnarain-cpr and tonybaltovski and removed request for a team May 25, 2026 20:07
@twallis-cpr twallis-cpr changed the title Feature/core 37264 node manager Feature: CORE-37264 node manager May 25, 2026
Comment thread core/tests/core/encode_decode_test.cpp Outdated
Comment thread core/CMakeLists.txt Outdated
Comment thread core/src/node_manager.c
slot_id = i;
something_to_send = true;
}
else if (bundle_desc->last_send_ms <= oldest_timestamp)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be < to avoid last bundle always being sent?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We do want to send the oldest bundle in this case (the periodic bundle send is a separate ticket). Right now it's based on the hierarchy in node_manager.h

https://github.com/clearpathrobotics/proton/pull/34/changes#diff-62d5bc50a3ffeeed22843a9834614e84edd0554368734a68cb1ea16e289a0bddR85-R89

Copy link
Copy Markdown
Member

@tonybaltovski tonybaltovski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Just one comment.

@twallis-cpr twallis-cpr merged commit 99ea3f3 into main May 26, 2026
9 checks passed
@twallis-cpr twallis-cpr deleted the feature/CORE-37264-node-manager branch May 26, 2026 16:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants