readme v1
This commit is contained in:
parent
cc8ae71ff4
commit
59f6aa1eed
25
README.md
25
README.md
|
@ -8,12 +8,31 @@
|
||||||
|
|
||||||
## High level approach
|
## High level approach
|
||||||
|
|
||||||
TODO
|
For this assignment we developed a new protocol that would be particularly efficient at
|
||||||
|
transferring a file over an unreliable connection. The protocol devides the input file
|
||||||
|
into fixed-length "segments", numbers them sequentially, and attempts to transfer them to
|
||||||
|
the receiver. It repeatedly retransmits segments that it is not confident that the
|
||||||
|
receiever has obtained. The receiever periodically sends batched-acknowledgements that
|
||||||
|
list receieved segments. The segments are compressed using state-of-the-art compression
|
||||||
|
algorithms to ensure expedient delivery. The rate of sending and acknowledgement is
|
||||||
|
continuously tuned to optimize for network conditions.
|
||||||
|
|
||||||
## Challenges
|
## Challenges
|
||||||
|
|
||||||
TODO
|
We faced many challenges implementing this protocol, such as the following:
|
||||||
|
|
||||||
|
- Learning how to use cutting-edge event-loop libraries in Rust
|
||||||
|
- Selecting a re-transmission algorithms that would be resistant to drops and duplicates
|
||||||
|
- Choosing constants that would tune the transmission rate to adjust automatically to
|
||||||
|
network latency and bandwidth
|
||||||
|
- Ensuring that *both* connections would close once the file had been successfully
|
||||||
|
transferred.
|
||||||
|
|
||||||
## Testing
|
## Testing
|
||||||
|
|
||||||
TODO
|
Various internal algorithms and datastructures were tested using simple unit tests. For
|
||||||
|
instance, we have unit tests to check that our packet encoding/decoding schemes work
|
||||||
|
correctly.
|
||||||
|
|
||||||
|
However, testing general consistency of the protocol was done by running the scripts
|
||||||
|
provided to us, which automatically adjust network conditions and send large files.
|
||||||
|
|
Loading…
Reference in New Issue