Skip to content

Refactor mavconn#2103

Merged
vooon merged 21 commits intoros2from
refactor-mavconn
Feb 15, 2026
Merged

Refactor mavconn#2103
vooon merged 21 commits intoros2from
refactor-mavconn

Conversation

@vooon
Copy link
Member

@vooon vooon commented Feb 15, 2026

Summary

This PR modernizes and hardens libmavconn threading/lifecycle behavior, improves URL parsing validation, and adds initial CI coverage reporting.

What Changed

  • Refactored transport IO lifecycle with shared/owned io_service support and a common runner.
  • Fixed close-path/thread lifecycle edge cases (including callback-thread shutdown).
  • Reduced lock scope and removed recursive mutex usage in transport paths.
  • Modernized code to C++20 style in touched areas (std::jthread, lambdas, [[nodiscard]] where appropriate).
  • Hardened URL parsing with strict numeric/range validation for ports and ids.
  • Expanded tests for:
    • shared-io threading behavior,
    • callback-close safety,
    • invalid URL parse cases.
  • Added coverage.yml workflow with an extensible component matrix (enabled for libmavconn first).

@vooon vooon added this to the Version 2.13 milestone Feb 15, 2026
@vooon vooon requested a review from Copilot February 15, 2026 15:20
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@vooon vooon merged commit e2e813c into ros2 Feb 15, 2026
6 checks passed
@vooon vooon deleted the refactor-mavconn branch February 15, 2026 15:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments