Fixed period AIS subscription loses updates #230
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix for issue: #220
Fixes subscription protocol when subscribing to AIS targets with fixed period:
Previous implementation lost vessel data while sampling the incoming events. This fix will buffer all incoming
filteredBus
events and ensure that one value for each vessel+source+path will be emitted after the givenperiod
.Remaining issues:
delta
events will be emitted simultaneously on everyperiod
, each containing only oneupdates
value. Optimal solution would emit only onedelta
event containing everything, but this would require some changes to the internal subscription architecture.minPeriod
is left untouched and will still lose some AIS vessel data.