-
Notifications
You must be signed in to change notification settings - Fork 16
Open
Description
Large parts needs to be refactored/fixed, this issue is just a list of things that need to be done, more or less in order of importance:
Main:
- Flow control: most pressing, doesn't really work atm. Make it composition instead of inheritance based, rename variables, make sure we only flow-control the things that need to be flow controlled, revisit _BLOCKED frame generation logic, etc.
- ACK packets create a BigNum instance for each included packet number, which gets slow quickly. Works with ranges and see if string comparisons aren't faster (oh the irony)
- Logging: move everything from VerboseLogging to this.logger. Remove dependeny on log4js. Allow passing parameters instead of having to stringify everything.
- Command line parameters: properly named parameters and other high-level switches through environment vars
Additional:
- Aead: move everything inside the CryptoContext instead of with separate functions: lots of duplicate code there (but beware: lots of small discrepancies as well!)
- Loss detection and retransmission logic: we retransmit too soon, too often
- Congestion control logic: somehow our cc window never goes up again after failing once
- Packet flow: how packets are created and how/where we currently call connection.sendPackets is -not proper-
- Frame encode/decode: either all in the frame-specific classes, or all in the factory, not both!
- Experimentation code in congestion controller: move to dynamic packet pipeline.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels