www.digitalmars.com         C & C++   DMDScript  

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

Hi! Since my last update I worked a bit on a proof of concept 
draft of
QuicSession, an entity that should drive the connection, with the 
help of my
previously implemented modules.

https://github.com/dlang-community/quic-d/commits/devel-session

As far as I understand this sans I/O approach, I started my work 
with these
ideas in mind (inspired by some other implementations, too):

- A connect() call should trigger the initial key generation and 
it should allow
transitions to other states as new packets from the other peer 
arrive.

- Calling a method that gives you datagram(s) checks for example 
if the
handshake is done, if there is data on any stream to send and it 
writes packets
accordingly.

- Calling a method that parses incoming datagrams should modify 
the internal
states (via some frame handlers) and notify you through a queue 
of events.

Suggestions are welcome! :) Thanks!
Jan 12 2023