LIBTRCOMMUNICATION
Socket communication layer build upon libtrevent.
BUGS
MULTIPLE WORKER
Stream sockets
For stream socket some new classes might be neede:
A connector derivate that does not create a TR_CON_EVENT_NEW_CON event but instead hands over the socket to one of its worker processes.
Another connector no doing TR_socketAccept but instead get the docket via its socket pair. This one then might isse TR_CON_EVENT_NEW_CON
Datagram sockets
Currently there is no clear plan to parallelize the communication on datagram sockets.
As we only have one socket for all communication it makes no sense to share it between multiple processes. This neccicarily will lead to race condition.
One possible way might be to share the socket with all worker, but do the read only in the master worker. When a packet has arraive it will be handed over to the worker via shared memory. This might be done as an event message. The worker then will process the packet and send a respone.