Name Last Update
docs Loading commit data...
include Loading commit data...
m4 Loading commit data...
src Loading commit data...
testers Loading commit data...
tests Loading commit data...
.gitignore Loading commit data...
.gitlab-ci.yml Loading commit data...
AUTHORS Loading commit data...
COPYING Loading commit data...
ChangeLog Loading commit data...
Makefile.am Loading commit data...
NEWS Loading commit data...
README Loading commit data...
README.md Loading commit data...
TODO Loading commit data...
bootstrap Loading commit data...
configure.ac Loading commit data...

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.