Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Replace tcp_message_manager #4609

Merged

Conversation

pwojcikdev
Copy link
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
@pwojcikdev pwojcikdev merged commit 6eeaf21 into nanocurrency:develop May 10, 2024
24 of 26 checks passed
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
Status: Merged / V27.0
Development

Successfully merging this pull request may close these issues.

3 participants