serverbox
serverbox copied to clipboard
Some modules for efficient networking
That would be very convenient. There is a visible confusion when people see 2 schedulers. This might make the code of the new one-scheduler a bit more complex than those...
There hardly can be any issues with that, but just for the sake of having the code exactly reflected to TLA+ lets do it anyway.
Those classes must have a `Run()` method which anybody can run in any thread. Even in the main one. Similar to how `boost::asio::io_context`'s `run()` method works. And naturally those must...
Otherwise they might too easily conflict with what people have in their code.
Related to #3. Investigate: - Whether can support them in `TCPSocketIFace` directly and automatically in `TCPSocket`/`SSLSocket`. For example, as new send and receive method overloads which would return awaitable futures....
`boost::asio` doesn't have to use IO. Can use `io_context` as a scheduler + `strand`s as tasks. Would be interesting to compare the speed of it vs `TaskScheduler`.
Looking at `mg::net::SSLContext::NewShared(true)` is not self-explanatory whether it is a client- or server-side context.
Create tickets for the following items and discard the not needed ones. - Introduce socket options and allow to pass them to `mg::aio::TCPServer` and `mg::aio::TCPSocket`. Allow to set which of...
Now when there are both `TCPSocket` and `SSLSocket` available in `mg::aio`, it should be possible to implement an `HTTPClient`. And an `HTTPServer` at least for testing the client.