In Artanis, the request handling can be scheduled even when the socket buffer is full (depends on
And let other handlers deal with the requests. Just like the scheduling of an OS, but in userland.
If you have issues with the buffer when scheduling, there’s no way to flush before it breaks, since we can’t tell if the scheduling is caused by the buffering or the blocking.
Ragnarok takes advantage of
SO_REUSEPORT introduced in GNU/Linux 3.9 to provide a feature
server.multi which can be enabled in the config. This feature allows users to start several
Artanis instances listening to the same port, to take advantage of multi core CPUs, and the Linux Kernel managing the events.
(to be continued …)