mosaic icon indicating copy to clipboard operation
mosaic copied to clipboard

feat(sns): support multi-hop unicast for topological and geographical routing

Open kschrab opened this issue 1 year ago • 0 comments

Description

SNS covers already various addressing/routing modes. With this MR, multihop unicast for both topoligic or geographic routing are added by re-using existing methods. Multi-hop Broadcast is still missing.

Addressing Routing Support
Unicast Topologic ✅Singlehop
Multihop (new)
Broadcast Topologic ✅Singlehop
❌Multihop
Unicast Geographic Singlehop (new)
Multihop (new)
Broadcast Geographic ✅Singlehop
✅Multihop

The SimpleAdHocTransmissionModel does not really count hops between single vehicles, but instead uses a configured multi-hop delay which is applied as soon as more than hop is required.

The SophisticatedAdHocTransmissionModel uses existing method forward (which was initially used by the Geographic routing) to send the message to a specific vehicle in the unicast mode via multiple hops.

The geographic unicast was implemented by simply reducing the list of potential receivers in the target geo area to the one destination vehicle.

Issue(s) related to this PR

  • Resolves internal issue 918

Affected parts of the online documentation

Changes in the documentation required?

Kind of, we should add supported features (such as the table above) to our website documentation.

Definition of Done

Prerequisites

  • [x] You have read CONTRIBUTING.md carefully.
  • [x] You have signed the Contributor License Agreement.
  • [x] Your GitHub user id is linked with your Eclipse Account.

Required

  • [x] The title of this merge request follows the scheme type(scope): description (in the style of Conventional Commits)
  • [x] You have assigned a suitable label to this pull request (e.g., enhancement, or bugfix)
  • [ ] origin/main has been merged into your Fork.
  • [x] Coding guidelines have been followed (see CONTRIBUTING.md).
  • [ ] All checks on GitHub pass.
  • [ ] All tests on Jenkins pass.

Requested (can be enforced by maintainers)

  • [ ] New functionality is covered by unit tests or integration tests. Code coverage must not decrease.
  • [ ] If a bug has been fixed, a new unit test has been written (beforehand) to prove misbehavior
  • [ ] There are no new SpotBugs warnings.

Special notes to reviewer

kschrab avatar Oct 25 '24 16:10 kschrab