Communication protocol handler for the taskrambler framework. This does not contain specific protocol implementations but the abstract code to handle them.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Georg Hopp 2bcf511537 Add CI control file 10 years ago
docs new communication layer...enables easy creation of either tcp or udp servers and clients when it's finished 11 years ago
include Add first classes for a multi worker server. 10 years ago
m4 new communication layer...enables easy creation of either tcp or udp servers and clients when it's finished 11 years ago
src version bump 10 years ago
testers Gitignore testset binary 10 years ago
tests new communication layer...enables easy creation of either tcp or udp servers and clients when it's finished 11 years ago
.gitignore Gitignore testset binary 10 years ago
.gitlab-ci.yml Add CI control file 10 years ago
AUTHORS new communication layer...enables easy creation of either tcp or udp servers and clients when it's finished 11 years ago
COPYING new communication layer...enables easy creation of either tcp or udp servers and clients when it's finished 11 years ago
ChangeLog new communication layer...enables easy creation of either tcp or udp servers and clients when it's finished 11 years ago
Makefile.am small fix 11 years ago
NEWS new communication layer...enables easy creation of either tcp or udp servers and clients when it's finished 11 years ago
README new communication layer...enables easy creation of either tcp or udp servers and clients when it's finished 11 years ago
README.md Change socket hashtables for read, accept and write to set 10 years ago
TODO new communication layer...enables easy creation of either tcp or udp servers and clients when it's finished 11 years ago
bootstrap new communication layer...enables easy creation of either tcp or udp servers and clients when it's finished 11 years ago
configure.ac version bump 10 years ago

README.md

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.