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.
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
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!