Skip to content

fix: retry indefinitely on network loss instead of exiting node#69

Open
Jy-Lau wants to merge 2 commits intoLORD-MicroStrain:rosfrom
Jy-Lau:Jy-Lau-patch-1
Open

fix: retry indefinitely on network loss instead of exiting node#69
Jy-Lau wants to merge 2 commits intoLORD-MicroStrain:rosfrom
Jy-Lau:Jy-Lau-patch-1

Conversation

@Jy-Lau
Copy link
Copy Markdown

@Jy-Lau Jy-Lau commented Apr 16, 2026

fix: retry indefinitely on network loss instead of exiting node

Two bugs caused the NTRIP client to become unrecoverable when network
was unavailable at startup or dropped mid-session:

  1. ntrip_ros_base.py: run() called connect() once and returned 1 on
    failure, causing sys.exit() and killing the ROS node. Now retries
    indefinitely using reconnect_attempt_wait_seconds between attempts.

  2. ntrip_base.py: reconnect() raised an Exception after
    reconnect_attempt_max failures, killing the node. The _connected
    guard also caused reconnect() to silently do nothing if called while
    disconnected. Now retries indefinitely with no exception and always
    disconnects cleanly before attempting reconnect.

This allows the node to survive transient network outages (e.g. WiFi
not available at launch) and reconnect seamlessly when connectivity
is restored, without requiring a manual relaunch.

Jy-Lau added 2 commits April 16, 2026 17:31
Two bugs caused the NTRIP client to become unrecoverable when network
was unavailable at startup or dropped mid-session:

1. ntrip_ros_base.py: run() called connect() once and returned 1 on
   failure, causing sys.exit() and killing the ROS node. Now retries
   indefinitely using reconnect_attempt_wait_seconds between attempts.

2. ntrip_base.py: reconnect() raised an Exception after
   reconnect_attempt_max failures, killing the node. The _connected
   guard also caused reconnect() to silently do nothing if called while
   disconnected. Now retries indefinitely with no exception and always
   disconnects cleanly before attempting reconnect.

This allows the node to survive transient network outages (e.g. WiFi
not available at launch) and reconnect seamlessly when connectivity
is restored, without requiring a manual relaunch.
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.

1 participant