The client programs that aggregate the desired system data are sending them to the daemon process.
The client programs that aggregate the desired system data are sending them to the daemon process.
This is done via a simple packet, `measurement_t` which is defined in [`common/include/measurement.h`](common/include/measurement.h).
This is done via a simple packet, `measurement_t` which is defined in [`common/include/measurement.h`](common/include/measurement.h).
It holds the data of a measurement, which can be an integer, unsigned integer, float or double, the type of the data and an id that identifies the sender.
It holds the data of a measurement, which can be an integer, unsigned integer, float or double, the type of the data and an id that identifies the sender.
The id is an `uint8_t` and should be unique for each client that sends data, so the maximum amount of clients is 255.
The id is an `uint8_t` and should be unique for each client that sends data, so the maximum amount of clients is 256.
The packet is sent via a message queue, which is created by the daemon process.
The packet is sent via a message queue, which is created by the daemon process.
Clients will wait until the message queue is created and then send their data to the daemon.
Clients will wait until the message queue is created and then send their data to the daemon.