opendnp3  3.1.0
Reference implementation of DNP3 (IEEE-1815)
opendnp3::EventBufferConfig Struct Reference

Configuration of maximum event counts per event type. More...

#include <opendnp3/outstation/EventBufferConfig.h>

Public Member Functions

 EventBufferConfig (uint16_t maxBinaryEvents=0, uint16_t maxDoubleBinaryEvents=0, uint16_t maxAnalogEvents=0, uint16_t maxCounterEvents=0, uint16_t maxFrozenCounterEvents=0, uint16_t maxBinaryOutputStatusEvents=0, uint16_t maxAnalogOutputStatusEvents=0, uint16_t maxOctetStringEvents=0)
 Construct the class specifying the maximum number of events for each type individually. More...
 
uint32_t TotalEvents () const
 

Static Public Member Functions

static EventBufferConfig AllTypes (uint16_t sizes)
 Construct the class using the same maximum for all types. More...
 

Public Attributes

uint16_t maxAnalogEvents
 
uint16_t maxAnalogOutputStatusEvents
 
uint16_t maxBinaryEvents
 
uint16_t maxBinaryOutputStatusEvents
 
uint16_t maxCounterEvents
 
uint16_t maxDoubleBinaryEvents
 
uint16_t maxFrozenCounterEvents
 
uint16_t maxOctetStringEvents
 

Detailed Description

Configuration of maximum event counts per event type.

The underlying implementation uses a preallocated heap buffer to store events until they are transmitted to the master. The size of this buffer is proportional to the TotalEvents() method, i.e. the sum of the maximum events for each type.

Implementations should configure the buffers to store a reasonable number events given the polling frequency and memory restrictions of the target platform.

Definition at line 40 of file EventBufferConfig.h.

Constructor & Destructor Documentation

◆ EventBufferConfig()

opendnp3::EventBufferConfig::EventBufferConfig ( uint16_t  maxBinaryEvents = 0,
uint16_t  maxDoubleBinaryEvents = 0,
uint16_t  maxAnalogEvents = 0,
uint16_t  maxCounterEvents = 0,
uint16_t  maxFrozenCounterEvents = 0,
uint16_t  maxBinaryOutputStatusEvents = 0,
uint16_t  maxAnalogOutputStatusEvents = 0,
uint16_t  maxOctetStringEvents = 0 
)

Construct the class specifying the maximum number of events for each type individually.

Member Function Documentation

◆ AllTypes()

static EventBufferConfig opendnp3::EventBufferConfig::AllTypes ( uint16_t  sizes)
static

Construct the class using the same maximum for all types.

This is mainly used for demo purposes. You probably don't want to use this method unless your implementation actually reports every type.

◆ TotalEvents()

uint32_t opendnp3::EventBufferConfig::TotalEvents ( ) const

Member Data Documentation

◆ maxAnalogEvents

uint16_t opendnp3::EventBufferConfig::maxAnalogEvents

Definition at line 70 of file EventBufferConfig.h.

◆ maxAnalogOutputStatusEvents

uint16_t opendnp3::EventBufferConfig::maxAnalogOutputStatusEvents

Definition at line 82 of file EventBufferConfig.h.

◆ maxBinaryEvents

uint16_t opendnp3::EventBufferConfig::maxBinaryEvents

Definition at line 64 of file EventBufferConfig.h.

◆ maxBinaryOutputStatusEvents

uint16_t opendnp3::EventBufferConfig::maxBinaryOutputStatusEvents

Definition at line 79 of file EventBufferConfig.h.

◆ maxCounterEvents

uint16_t opendnp3::EventBufferConfig::maxCounterEvents

Definition at line 73 of file EventBufferConfig.h.

◆ maxDoubleBinaryEvents

uint16_t opendnp3::EventBufferConfig::maxDoubleBinaryEvents

Definition at line 67 of file EventBufferConfig.h.

◆ maxFrozenCounterEvents

uint16_t opendnp3::EventBufferConfig::maxFrozenCounterEvents

Definition at line 76 of file EventBufferConfig.h.

◆ maxOctetStringEvents

uint16_t opendnp3::EventBufferConfig::maxOctetStringEvents

Definition at line 85 of file EventBufferConfig.h.


The documentation for this struct was generated from the following file: