Skip to content

Master process split - single master + workers, passing sockets

Martin Petráček requested to merge master-process-split into multi-process

This MR contains splitting of ucollect-master into single master + worker processes. It's just a part of ongoing work - splitting master into multiple processes. Now it's able to accept clients, handle authentication and pass them to worker. I think this should be reasonably complete part for review.

There are some other things that needs to be done before multi-process master would be complete (mainly timer synchronization and UDP server for spoof plugin).

Master just accept clients, handles their authentication and (if auth is successful) passes their file descriptor to worker, which takes care of them until they disconnect. This allows to pass single client (single CID) always to the same worker, which reduces problems with synchronization between processes.

This work is related to #47 (closed) and #42 (closed).

Edited by Vojtech Myslivec

Merge request reports