Combine TCP and UDP driver implementations into `netmod-overlay`
Currently there are two overlay netmod
drivers: netmod-tcp
and netmod-udp
. Both are important when building a qaul network via existing networking infrastructure.
Because the UDP and TCP drivers share a lot of the same abstractions (mapping ratman
IDs to IP addresses), code logic is duplicate. Furthermore, it might not be clear to someone not versed in networking why they should use the UDP or TCP modules, and what advantages and disadvantages these two protocols offer.
To improve this experience, as well as the maintainability of the network drivers in the future, the plan is to deprecate netmod-tcp
and netmod-udp
and to introduce a new driver called netmod-overlay
, which implements the same ratman
IDs -> IP addresses mapping mechanism, while being able to use it for both TCP and UDP connections. Optionally, we should investigate using QUIC instead of TCP, as it can be overlayed on the UDP connections, and may reduce transmission overhead to improve overall network throughput.