0.1.1.1 : Communication pattern



The communication pattern is based on data pushing: each Daemon pushes data directly to the desired receiver, as Figure 1 illustrates. There is no central broker: each Daemon holds a direct socket connection to every other Daemon it needs to communicate with.

nothing

Figure 1 : Global swarm usage. Each Daemon pushes data directly to the desired one.



When a confirmation is required (isConfirmationNeeded = true), the sending Daemon stores the message locally with a timestamp. Upon receiving a MESSAGE_CONFIRMATION, the sender computes the round-trip latency and stores it in its communication statistics. If no confirmation is received before the configured timeout (daemon_required_response_timeout), the pending message is discarded and a warning is logged.