lunatic-solutions / lunatic

Lunatic is an Erlang-inspired runtime for WebAssembly
https://lunatic.solutions
Apache License 2.0
4.65k stars 136 forks source link

Quic message chunking #198

Closed kosticmarin closed 1 year ago

kosticmarin commented 1 year ago

This PR implements a new distributed Quic client which supports message chunking in order to implement a fair usage of network resources between competing processes.

Each process has its own message queue where messages are submitted. The congestion_control_worker implements a round robin strategy to process messages from all existing Environments/Processes.

On the Quic server side chunks are collected and sent messages are reconstructed.

This is still a WIP version and I still have some open questions.

Tasks TODO: