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

Lack of channel ID prioritization in MConnection's message receiving process #1192

Open
2 tasks done
staheri14 opened this issue Jan 26, 2024 · 0 comments · May be fixed by #1228
Open
2 tasks done

Lack of channel ID prioritization in MConnection's message receiving process #1192

staheri14 opened this issue Jan 26, 2024 · 0 comments · May be fixed by #1228
Assignees
Labels
WS: Big Blonks 🔭 Improving consensus critical gossiping protocols

Comments

@staheri14
Copy link
Contributor

staheri14 commented Jan 26, 2024

Problem

Summary: Currently, there is no channel ID prioritization on the receiving side of an MConnection. This results in sequential processing of incoming messages without prioritizing important messages, such as those for voting.

More context: In the MConnection, sending channels are associated with priorities, which affects the order in which messages are sent. However, on the receiving end, all messages are processed in the order they arrive. For example, if there are 100 messages with a lower priority (i.e., belonging to a channel ID with low priority) in line (i.e., in the MConnection's bufConnReader), and the 101st message is an important one, the recvRoutine will only process this important message after completing all the preceding 100 messages. Essentially, there is no priority for channel IDs implemented on the receiving side. This contrasts with the sending side, where even if a low priority channel ID has pending messages, the sending routine sendRoutine() will prioritize a message from a higher priority channel ID over them and send it earlier (these lines). To be precise, the priority is determined by the ratio of the amount of recently sent bytes to the channel ID's absolute priority.

Acceptance Criteria

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
WS: Big Blonks 🔭 Improving consensus critical gossiping protocols
Projects
None yet
1 participant