Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Working publisher using broadcast #208

Merged
merged 2 commits into from
Dec 2, 2024
Merged

Conversation

Carter12s
Copy link
Collaborator

Description

Re-working publisher to use tokio::broadcast as the underlying channel so that one lagging TCP Socket doesn't result in the publisher blocking.

Fixes

Closes: #206

Checklist

  • Update CHANGELOG.md

@lucasw
Copy link
Contributor

lucasw commented Nov 29, 2024

I can test this more in a few days- but did I try removing the publish async: lucasw@395cf99 - want to have that change here (and then deal with all the downstream pubilsh() changes)?

@Carter12s
Copy link
Collaborator Author

I'd like to avoid the removing async from publish change in this MR. I don't think it is a crazy change to make, but I think one change at a time.

@lucasw
Copy link
Contributor

lucasw commented Dec 2, 2024

The intended fix here looks good, and the connection even recovers in the case of disconnecting ethernet, waiting a minute, then reconnecting (but too much longer gets more fully disconnected or it's just hung up forever and even reconnections don't recover it?).

@Carter12s Carter12s merged commit 63a282b into master Dec 2, 2024
5 checks passed
@Carter12s
Copy link
Collaborator Author

I went ahead and merged with your testing cause I like these changes, but definitely more work to do here to make ros1 robust over various disconnection scenarios. Lots of complexity buried in there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants