#include <ddtProducerConsumerBase.hpp>
This class serves as a base class for DdtDataProducer and DdtDataConsumer classes. It provides the ReadIni() and GetFreePort() functions for derived classes.
◆ NotificationType
There are different types of notifications:
Enumerator |
---|
NEW_DATA | New data notification
|
PUB_REG | Publisher registration
|
PUB_UNREG | Publisher unregisters
|
SHM_DEL | Shared memory deleted
|
◆ DdtProducerConsumerBase()
DdtProducerConsumerBase::DdtProducerConsumerBase |
( |
DdtLogger * |
ddt_logger | ) |
|
|
explicit |
Constructor
- Parameters
-
ddt_logger | A DDT logger object (no transfer of ownership). |
◆ ~DdtProducerConsumerBase()
DdtProducerConsumerBase::~DdtProducerConsumerBase |
( |
| ) |
|
|
virtualdefault |
◆ GetFreePort()
int32_t DdtProducerConsumerBase::GetFreePort |
( |
| ) |
const |
|
protected |
Reads /proc/net/tcp and returns a free port from the port range specified in databroker.ini.
- Returns
- A free port number.
iterate over port range check each iteration if port is in use break and return the port if it is free
◆ Init()
void DdtProducerConsumerBase::Init |
( |
DdtLogger * |
ddt_logger | ) |
|
|
protected |
Initializes member variables.
- Parameters
-
ddt_logger | A DDT logger object (no transfer of ownership). |
◆ LoadDefaults()
void DdtProducerConsumerBase::LoadDefaults |
( |
| ) |
|
|
protected |
Loads default values for configuration parameters.
◆ Notify()
◆ PrintConfigValues()
void DdtProducerConsumerBase::PrintConfigValues |
( |
| ) |
|
|
protected |
Prints the values of configuration parameters.
◆ ReadIni()
void DdtProducerConsumerBase::ReadIni |
( |
| ) |
|
|
protected |
Reads the databroker configuration file.
◆ LINE_LENGTH
const int ddt::DdtProducerConsumerBase::LINE_LENGTH = 256 |
|
protected |
Number of characters per line when reading the ports file.
◆ logger
DdtLogger* ddt::DdtProducerConsumerBase::logger |
|
protected |
◆ max_port
int32_t ddt::DdtProducerConsumerBase::max_port |
|
protected |
Configurable upper boundary of the port range used for notifications.
◆ MAX_PORT_DEFAULT
const int ddt::DdtProducerConsumerBase::MAX_PORT_DEFAULT = 5500 |
|
protected |
The default upper boundary of the port range used for notifications.
◆ min_port
int32_t ddt::DdtProducerConsumerBase::min_port |
|
protected |
Configurable lower boundary of the port range used for notifications.
◆ MIN_PORT_DEFAULT
const int ddt::DdtProducerConsumerBase::MIN_PORT_DEFAULT = 5100 |
|
protected |
The default lower boundary of the port range used for notifications.
◆ MIN_RANGE
const int ddt::DdtProducerConsumerBase::MIN_RANGE = 3 |
|
protected |
Minimum number of ports for the specified port range.
The documentation for this class was generated from the following files: