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

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

Merged
merged 2 commits into from
Nov 5, 2024

Conversation

kschrab
Copy link
Contributor

@kschrab kschrab commented Oct 25, 2024

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

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

Required

  • The title of this merge request follows the scheme type(scope): description (in the style of Conventional Commits)
  • You have assigned a suitable label to this pull request (e.g., enhancement, or bugfix)
  • origin/main has been merged into your Fork.
  • 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 kschrab self-assigned this Oct 25, 2024
@kschrab kschrab force-pushed the 918-sns-multihop-unicast branch from edb45a2 to 6bbc442 Compare October 28, 2024 11:03
@kschrab
Copy link
Contributor Author

kschrab commented Oct 30, 2024

@hoelger please review

@hoelger
Copy link
Contributor

hoelger commented Oct 31, 2024

Here are two/three other minor improvements, one is just style, the other two are performance optimizations, so that in case of no-delivery the loops don't count up to maxTtl but rather exit early.

I couldn't comment that in the PR because it's not directly part of the changes

improvements.patch

@kschrab kschrab force-pushed the 918-sns-multihop-unicast branch from 6bbc442 to 6c73ef4 Compare November 4, 2024 11:56
@kschrab
Copy link
Contributor Author

kschrab commented Nov 4, 2024

Here are two/three other minor improvements, one is just style, the other two are performance optimizations, so that in case of no-delivery the loops don't count up to maxTtl but rather exit early.

I couldn't comment that in the PR because it's not directly part of the changes

improvements.patch

Good suggestions. I added them to my change.

@kschrab kschrab requested a review from hoelger November 4, 2024 12:36
@hoelger
Copy link
Contributor

hoelger commented Nov 4, 2024

Apart from one minor comment: LGTM

@kschrab kschrab force-pushed the 918-sns-multihop-unicast branch from bdec8eb to bf888a4 Compare November 4, 2024 17:17
@kschrab kschrab merged commit bf6bcc7 into main Nov 5, 2024
5 checks passed
@kschrab kschrab deleted the 918-sns-multihop-unicast branch November 5, 2024 14:20
FunKuchen pushed a commit to FunKuchen/mosaic that referenced this pull request Nov 12, 2024
… routing (eclipse#428)

* feat(sns): cleanup, minor performance improvement for flooding (early exit if flooding could not be progressed)
FunKuchen pushed a commit to FunKuchen/mosaic that referenced this pull request Nov 12, 2024
… routing (eclipse#428)

* feat(sns): cleanup, minor performance improvement for flooding (early exit if flooding could not be progressed)
schwepmo pushed a commit that referenced this pull request Dec 2, 2024
… routing (#428)

* feat(sns): cleanup, minor performance improvement for flooding (early exit if flooding could not be progressed)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants