-
Notifications
You must be signed in to change notification settings - Fork 99
Open
Description
What is wrong
Currently uTP is the most difficult part of our protocol for implementations to get correct. Getting things working in the "normal" case appears to be reasonably. There are however a lot of cases which are harder to get right which show up in live environments such as:
- out of order packets
- dropped packets
How can this be fixed
We need a framework for testing uTP implementations in clients. I believe that we need something that allows us to have some full level of control over what packets are sent and in what order between two running clients. Maybe a JSON-RPC endpoint that accepts a payload with the following:
- Inbound vs Outbound
- should the client initiate the connection or listen for an inbound connection.
- Packets & Timing
- A list of packets that should be sent and the timing/delay for when each one should be sent.
- Expected outcomes
- Should the transfer complete or fail and if so what should the outcome be.
All of this is just intended to be a starting point for an idea of how to test this. The real details will need to be determined by whomever decides to implement this.
Metadata
Metadata
Assignees
Labels
No labels