www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - [SAoC 2022] QUIC Protocol : Milestone 2

Hi! Since my last update I added an internal buffer-like 
structure for Quic streams (it should support operations like 
read/write/consume) : 
https://github.com/dlang-community/quic-d/pull/9.
Petar recommended me to work in a way that avoids as much as 
possible unnecessary copies. One idea that related to this 
objective was to directly store the actual stream frames instead 
of the plain data. This way, you do not have to pull plain data 
out of a buffer only to copy it again to another StreamFrame 
buffer. I have added multiple methods that should make my buffer 
convenient to use in multiple scenarios that I may have to deal 
with. As I had to work on a form of acknowledging the 
data("consuming" it out of the buffer), I have read more about 
Quic acknowledging. Quic acknowledges packets in a somewhat 
similar way to TCP SACK(RFC2018) : in an Ack frame there are 
ranges of received packed numbers and gaps(of lost packets, if 
any).

Suggestions are welcome :). Thanks!
Nov 20 2022