This file is ~350 lines of code and increases with the use of TCP instead of UDP I believe.
We should extract the generic pieces into a library that people can use. This issue is becoming more important now that multiple projects have networking clients and with the recent naming changes it is becoming obvious there is too much duplicated code.
Right now all of the networking clients we are experimenting with (e.g in the profiler, LionsOS and sDDF echo server example) use LWIP.
The client code that contains the Microkit entry points and sDDF parts hooks into the LWIP library, an example is here https://github.com/au-ts/sDDF/blob/main/examples/echo_server/lwip.c.
This file is ~350 lines of code and increases with the use of TCP instead of UDP I believe.
We should extract the generic pieces into a library that people can use. This issue is becoming more important now that multiple projects have networking clients and with the recent naming changes it is becoming obvious there is too much duplicated code.