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

Buffered ordered message stream #92

Draft
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

wbjohnston
Copy link
Owner

@wbjohnston wbjohnston commented Mar 26, 2021

closes #90 #75

Ref #88

Changes

  1. [matchbook-util] feat: add message_sequencer_stream, a stream that will buffer incoming messages until it receives the next message it expects, as determined by the topic_id and topic_sequence_n. When this stream receives a message out of order, it will buffer it and re-request all missing messages. When it receives all of the messages it requires to continue, it will emit all buffered messages until it can't anymore.
  2. [port] feat: messages are guaranteed to be processed in order now.
  3. [port] feat: messages will be re-requested if the port cannot continue to process messages.

TODO

  1. Front event stream in matching-engine
  2. clean up random additions to docker compose
  3. Add message_sequencer_stream doc string

@wbjohnston wbjohnston added M-matchbook-util Module: matchbook-util C-enhancement Category: A PR with an enhancement or bugfix. labels Mar 26, 2021
@wbjohnston wbjohnston force-pushed the buffered-ordered-message-stream branch from 6fcb5e9 to ae99a94 Compare March 26, 2021 06:01
@wbjohnston wbjohnston force-pushed the buffered-ordered-message-stream branch from 1bf04fe to 931f7ec Compare March 26, 2021 20:52
@wbjohnston wbjohnston force-pushed the buffered-ordered-message-stream branch from ead46d8 to 521effc Compare March 26, 2021 22:20
@wbjohnston wbjohnston added M-matching-engine Module: matching-engine M-port Module: port labels Mar 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-enhancement Category: A PR with an enhancement or bugfix. M-matchbook-util Module: matchbook-util M-matching-engine Module: matching-engine M-port Module: port
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Define Message total ordering
1 participant