www.digitalmars.com         C & C++   DMDScript  

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

reply Vlad =?UTF-8?B?Q2hpY2/ImQ==?= <vladut.chicos gmail.com> writes:
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!
Jan 22 2023
next sibling parent zoujiaqing <zoujiaqing gmail.com> writes:
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!
Mar 21 2023
prev sibling parent Sergey <kornburn yandex.ru> writes:
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
Oct 22 2023