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

feat: Connections #34

Closed
2 tasks done
john-bv opened this issue Dec 5, 2022 · 0 comments · Fixed by #35
Closed
2 tasks done

feat: Connections #34

john-bv opened this issue Dec 5, 2022 · 0 comments · Fixed by #35
Assignees
Labels
Complete The code review for this issue has been completed; and is now being finalized.
Milestone

Comments

@john-bv
Copy link
Member

john-bv commented Dec 5, 2022

This issue is tracking the connection implementation behind RakNet.

Checklist

  • Implement Reliable Queues

  • Implement dynamic dispatch for each connection

Details

  • Reliable queues: Are for internal packet handling, similar to the v2 version you can see that here. However the newer queues are more robust in the fact that they will handle the repetition of ordering packets and ACKING as needed. For instance, the SendQueue will hold an ack of all packets we've sent, also known as the recovery queue, while the RecvQueue will hold an ack of all packets we're expecting, as well as handle reassembling of frames and out of order packets with an ordered queue.

  • Dynamic Dispatch: The main thread should be able to notify each connection of it's state regardless of the current processing state. EG: If we terminate a client, there's no reason it should need to wait until the next tick to figure that out, or if we need to send a packet immediately, there's no reason why we should need to queue this when we can dispatch it immediately to the server.

@john-bv john-bv added this to the December milestone Dec 5, 2022
@john-bv john-bv self-assigned this Dec 5, 2022
@john-bv john-bv closed this as completed Jan 11, 2023
@john-bv john-bv added the Complete The code review for this issue has been completed; and is now being finalized. label Jun 17, 2023
@john-bv john-bv linked a pull request Aug 21, 2023 that will close this issue
@NetrexMC NetrexMC locked and limited conversation to collaborators Sep 11, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Complete The code review for this issue has been completed; and is now being finalized.
Projects
No open projects
Status: Done
Development

Successfully merging a pull request may close this issue.

1 participant