Skip to content

Replace tcp_message_manager#4609

Merged
pwojcikdev merged 2 commits intonanocurrency:developfrom
pwojcikdev:fair-queuing/message-processor-3
May 10, 2024
Merged

Replace tcp_message_manager#4609
pwojcikdev merged 2 commits intonanocurrency:developfrom
pwojcikdev:fair-queuing/message-processor-3

Conversation

@pwojcikdev
Copy link
Copy Markdown
Contributor

This replaces tcp_message_manager with a new message_processor component based around fair queue. There are two major differences:

  • Instead of a single, large shared message queue each peer gets its own smaller, dedicated queue.
  • The producer/consumer condition behavior is changed, so that when overfilled it no longer blocks, instead dropping new messages. (With channels ideally throttling receiving new messages, but that's a todo for future network refactorings)

In the future it should be explored if message dispatch can be done directly from IO threads, thus saving one intermediate queue. This requires simulating real live network contention conditions, ie. 200+ peers.

@qwahzi qwahzi added this to the V27 milestone May 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Merged / V27.0

Development

Successfully merging this pull request may close these issues.

3 participants