-
Notifications
You must be signed in to change notification settings - Fork 12
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
v3 Stable Release #35
Merged
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
…e. Only think left now is to implement Ack, Nack, and framing and we should be set
feat: Add queues feat: Add reliable windows feat: Finish recv queue feat: Fix fragmentation
…s somewhat unstable)
… (for whatever reason)
john-bv
added
Complete
The code review for this issue has been completed; and is now being finalized.
Core
A core related issue or PR
and removed
In Progress
We are working on this
labels
Aug 21, 2023
This was
linked to
issues
Aug 21, 2023
Closed
Closed
Closed
Closed
Closed
🎉 🦀 |
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 version aims to improve the API from that of
v2
to resolve issues like:async
model, and setup for Allow other async runtimes such as async-std #26Current Changelog for v3
netrex_events
has been dropped and you should use the newerConnection::recv_event()
channel instead.rakrs::start
has been dropped, you should userakrs::Listener::bind()
in conjunction withrakrs::Listener::start()
instead.Every packet sent to the client is now exposed with
Connection::recv()
with the exception of the handshake sequence. This will allow you to write your own handlers for certain packets. However keep in mind, the protocol specific packets such as Ack, Nack, and disconnects are not exposed.The
internal
module has been completely nuked and replaced withSendQueue
andRecvQueue
's.ACK, and NACK are now handled within their queues respectively, and follow a
TimeRecoveryQueue
.Added
TimeRecoveryQueue
which is a queue with a max capacity. This queue is elegant and a packet within the queue will expire only if one of the following conditions is met:The packet is pushed off the queue because newer packets have been added.
The packet has not been removed and it's been in the queue for too long of a duration.
Added
RecoveryQueue
which is a smart queue that will remove a index if and only if a newer packet is added that shifts the queue or if the retry attempts are greator than the value set within the queue, (which is 3 by default),Please see: https://github.com/orgs/NetrexMC/projects/4 for a up to date road map.