dnp3 (C++ API) 1.8.0-RC1
Loading...
Searching...
No Matches
dnp3::OutstationConfig Struct Reference

Outstation configuration. More...

#include <dnp3.hpp>

Public Member Functions

 OutstationConfig (uint16_t outstation_address, uint16_t master_address, const EventBufferConfig &event_buffer_config)
 Initialize to defaults. More...
 

Public Attributes

uint16_t outstation_address
 Link-layer outstation address. More...
 
uint16_t master_address
 Link-layer master address. More...
 
EventBufferConfig event_buffer_config
 Event buffer sizes configuration. More...
 
uint16_t solicited_buffer_size
 Solicited response buffer size. More...
 
uint16_t unsolicited_buffer_size
 Unsolicited response buffer size. More...
 
uint16_t rx_buffer_size
 Receive buffer size. More...
 
DecodeLevel decode_level
 Decoding level. More...
 
std::chrono::steady_clock::duration confirm_timeout
 Confirmation timeout. More...
 
std::chrono::steady_clock::duration select_timeout
 Select timeout. More...
 
OutstationFeatures features
 Optional features. More...
 
uint32_t max_unsolicited_retries
 Maximum number of unsolicited retries. More...
 
std::chrono::steady_clock::duration unsolicited_retry_delay
 Delay to wait before retrying an unsolicited response. More...
 
std::chrono::steady_clock::duration keep_alive_timeout
 Delay of inactivity before sending a REQUEST_LINK_STATUS to the master. More...
 
uint16_t max_read_request_headers
 Limits the selections or headers processed in a READ request. More...
 
uint16_t max_controls_per_request
 Maximum number of controls in a single request. More...
 
ClassZeroConfig class_zero
 Controls responses to Class 0 reads. More...
 

Friends

class CppOutstationConfigFriend
 

Detailed Description

Outstation configuration.

Constructor & Destructor Documentation

◆ OutstationConfig()

dnp3::OutstationConfig::OutstationConfig ( uint16_t  outstation_address,
uint16_t  master_address,
const EventBufferConfig &  event_buffer_config 
)

Initialize to defaults.

Note
Values are initialized to:
Parameters
outstation_addressLink-layer outstation address
master_addressLink-layer master address
event_buffer_configEvent buffer sizes configuration
Returns
New instance of OutstationConfig

Member Data Documentation

◆ class_zero

ClassZeroConfig dnp3::OutstationConfig::class_zero

Controls responses to Class 0 reads.

◆ confirm_timeout

std::chrono::steady_clock::duration dnp3::OutstationConfig::confirm_timeout

Confirmation timeout.

◆ decode_level

DecodeLevel dnp3::OutstationConfig::decode_level

Decoding level.

◆ event_buffer_config

EventBufferConfig dnp3::OutstationConfig::event_buffer_config

Event buffer sizes configuration.

◆ features

OutstationFeatures dnp3::OutstationConfig::features

Optional features.

◆ keep_alive_timeout

std::chrono::steady_clock::duration dnp3::OutstationConfig::keep_alive_timeout

Delay of inactivity before sending a REQUEST_LINK_STATUS to the master.

A value of zero means no automatic keep-alive will be sent.

◆ master_address

uint16_t dnp3::OutstationConfig::master_address

Link-layer master address.

◆ max_controls_per_request

uint16_t dnp3::OutstationConfig::max_controls_per_request

Maximum number of controls in a single request.

◆ max_read_request_headers

uint16_t dnp3::OutstationConfig::max_read_request_headers

Limits the selections or headers processed in a READ request.

Internally, this controls the size of pre-allocated buffers used to process requests. A minimum value of 64 is always enforced.

A READ processed right away counts only the static selections it makes: one per static header that selects points, and one per class 0 type that has points. Event headers, and headers that select nothing, don't count. A READ that arrives while the outstation waits for an unsolicited confirm is held as pending, and holding it counts each header that parses, event headers included.

Past the limit, further selections or headers are ignored, the rest are answered, and the response sets the PARAMETER_ERROR IIN bit. Device attributes (group 0) have a separate, fixed limit of 32 selections per READ.

Independent of this limit, a READ whose selection visits more points, events or attribute sets than a fixed multiple of the database is answered with PARAMETER_ERROR and no objects.

◆ max_unsolicited_retries

uint32_t dnp3::OutstationConfig::max_unsolicited_retries

Maximum number of unsolicited retries.

◆ outstation_address

uint16_t dnp3::OutstationConfig::outstation_address

Link-layer outstation address.

◆ rx_buffer_size

uint16_t dnp3::OutstationConfig::rx_buffer_size

Receive buffer size.

Must be at least 249 bytes

◆ select_timeout

std::chrono::steady_clock::duration dnp3::OutstationConfig::select_timeout

Select timeout.

◆ solicited_buffer_size

uint16_t dnp3::OutstationConfig::solicited_buffer_size

Solicited response buffer size.

Must be at least 249 bytes

◆ unsolicited_buffer_size

uint16_t dnp3::OutstationConfig::unsolicited_buffer_size

Unsolicited response buffer size.

Must be at least 249 bytes

◆ unsolicited_retry_delay

std::chrono::steady_clock::duration dnp3::OutstationConfig::unsolicited_retry_delay

Delay to wait before retrying an unsolicited response.


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