Thread overview
[SAoC 2022] QUIC Protocol: Milestone 4
Jan 22, 2023
Vlad Chicoș
Mar 21, 2023
zoujiaqing
Oct 22
Sergey
January 22, 2023

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!

March 21, 2023

On Sunday, 22 January 2023 at 21:53:34 UTC, Vlad Chicoș wrote:

>

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!

Thank you for your outstanding contribution!
Hope we can use QUIC as soon as possible!

October 22

On Sunday, 22 January 2023 at 21:53:34 UTC, Vlad Chicoș wrote:

>

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

Suggestions are welcome. Thanks!

Just FYI C libraries for QUIC now became 1.0:

https://github.com/ngtcp2/ngtcp2/releases/tag/v1.0.0
https://github.com/ngtcp2/nghttp3/releases/tag/v1.0.0