L

libtrcomm

Communication protocol handler for the taskrambler framework. This does not contain specific protocol implementations but the abstract code to handle them.

passed 2bcf5115 Add CI control file · by Georg Hopp

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.