RandomTransmitter Satellite#
Name |
RandomTransmitter |
|---|---|
Description |
A satellite that transmits random data |
Category |
Developer Tools |
Language |
C++ |
Description#
This satellite creates random data and sends it out as fast as possible, allowing to test the network performance. Random data can either be generated continuously during the run or once at the beginning of the run, which is faster.
When data sending is limited because the framework or the receiver cannot handle the data rate, the transmitter will sleep
for 1ms. The duty cycle resulting from this is tracked in the DUTY_CYCLE metric.
Building#
The RandomTransmitter satellite has no additional dependencies. The satellite is not build by default, building can be enabled via:
meson configure build -Dsatellite_random_transmitter=true
Parameters#
Parameter |
Type |
Description |
Default Value |
|---|---|---|---|
|
Bool |
Use pre-generated data |
|
|
Unsigned 32-bit integer |
Seed for the random engine |
Random |
|
Unsigned integer |
Size of a data block in bytes |
|
|
Unsigned integer |
Number of data blocks per data message |
|
Metrics#
Metric |
Description |
Value Type |
Interval |
|---|---|---|---|
|
Total duty cycle of the run loop |
Integer |
5s |
Framework Parameters#
This satellite inherits the following framework parameters from its base classes:
Parameters inherited from TransmitterSatellite#
Parameters to control data transmission in the _data section:
Parameter |
Type |
Description |
Default Value |
|---|---|---|---|
|
Unsigned integer |
Timeout in seconds to send the BOR message. The satellite will attempt for this interval to send the message and goes into |
10 |
|
Unsigned integer |
Timeout in seconds to send the EOR message. The satellite will attempt for this interval to send the message and goes into |
10 |
|
Unsigned integer |
Timeout in seconds to send the data message. The satellite will attempt for this interval to send the message and goes into |
10 |
|
Unsigned integer |
Threshold for sending data messages in KiB. The satellite will only send queued data records after the combined payload size of the data records has reached this threshold. |
128 |
|
Unsigned integer |
Size of the queue for the data records. Small values might lead to performance issues, large values lead to larger memory usage. |
32768 |
|
String |
License this data is recorded under. Defaults to the Open Data Commons Attribution License. This information will be added to the run metadata. |
|
Parameters inherited from Satellite#
Autonomous Operation#
Parameters to control autonomy in the _autonomy section:
Parameter |
Type |
Description |
Default Value |
|---|---|---|---|
|
Role name |
Role this satellite should take in the Constellation. Accepted values are |
|
|
Unsigned integer |
Maximum interval in seconds between heartbeats to be sent to other Constellation components. The time between heartbeat is adjusted automatically according to the number of nodes in the Constellation but will never exceed this value. |
|
Conditional Transitions#
Parameters to control conditional transitions in the _conditions section:
Parameter |
Type |
Description |
Default Value |
|---|---|---|---|
|
List of strings |
List of canonical names of remote satellites for conditional transitioning in |
- |
|
List of strings |
List of canonical names of remote satellites for conditional transitioning in |
- |
|
List of strings |
List of canonical names of remote satellites for conditional transitioning in |
- |
|
List of strings |
List of canonical names of remote satellites for conditional transitioning in |
- |
|
List of strings |
List of canonical names of remote satellites for conditional transitioning in |
- |
|
Unsigned integer |
Timeout in seconds to wait for all conditions to be satisfied for conditional transitioning |
|
Framework Metrics#
This satellite inherits the following framework metrics from its base classes:
Metrics inherited from TransmitterSatellite#
Metric |
Description |
Value Type |
Interval |
|---|---|---|---|
|
Amount of bytes transmitted during current run |
Integer |
10s |
|
Number of data blocks transmitted during current run |
Integer |
10s |
|
Number of data records transmitted during current run |
Integer |
10s |
Metrics inherited from Satellite#
Metric |
Description |
Value Type |
Interval |
|---|---|---|---|
|
Current run identifier. Updated whenever it changes. |
String |
- |