Hi! For the last part of SAOC I continued my work on (QUIC/TLS) frame handling:
https://github.com/dlang-community/quic-d/tree/devel-session
For reference you can look at my last post to see the ideas behind QuicSession:
https://forum.dlang.org/thread/iwsonssaihcsapkxhrtl@forum.dlang.org
Although SAOC ends I am definitely interested in continuing to contribute to quic-d.
Here is a list of things that I think I should add in the future:
- packet acknowledgment
- packet pacing (although RFC9002 proposes a window-based method, it is not
enforced. I have read about modern control strategies used with success in TCP and I am interested in using such approach for quic-d.) - a provider entity that interacts with quic-d and the actual network for data exchange.
A zero-copy functionality should be used (something like sendmsg MSG_ZEROCOPY or io_ring). - abstract interfaces for cryptography/event related methods so that quic-d does not depend on a specific library (openssl/libuv).
Suggestions are welcome. Thanks!