-
Notifications
You must be signed in to change notification settings - Fork 2
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
break tx into smaller tasks #19
Open
Hasan6979
wants to merge
16
commits into
main
Choose a base branch
from
LLT-5850_break_tx_into_tasks
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Timers are updated on every single packet call, but their accuracy is limited to 250ms where currentTime is updated. So just mark timers to update, and update them only once in update_timers.
Hasan6979
changed the base branch from
LLT-5805_update_timers_periodically
to
main
January 10, 2025 11:50
Hasan6979
force-pushed
the
LLT-5850_break_tx_into_tasks
branch
from
January 17, 2025 14:53
6c8d671
to
139cc26
Compare
Hasan6979
force-pushed
the
LLT-5850_break_tx_into_tasks
branch
from
January 21, 2025 18:34
bff818c
to
1a15093
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR attempts to optimize sending encrypting packets out of the tunnel.
It achieves this by leveraging multi-core CPU architecture and breaking sending the encrypted packets into 3 parts, each with its own separate thread.
Thread 1 - iface_reader -> Reads data from the interface, checks the peer, gets the current valid session keys and hands over the keys and the data to encryption worker thread.
Thread 2 - encryption_worker -> Receives the data and the encryptions keys and encrypts the packet with it. Forwards the encrypted packet to the network worker.
Thread 3 - Network_worker -> Receives the encrypted data and the endpoint and sends the data towards the endpoint on the network.
The idea is that because each thread is much smaller, so much less context switching would be expected.