Skip to content

Buffered ordered message stream#92

Draft
wbjohnston wants to merge 7 commits into
mainfrom
buffered-ordered-message-stream
Draft

Buffered ordered message stream#92
wbjohnston wants to merge 7 commits into
mainfrom
buffered-ordered-message-stream

Conversation

@wbjohnston

@wbjohnston wbjohnston commented Mar 26, 2021

Copy link
Copy Markdown
Owner

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