January 22

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!