Engage Engine API  1.244.9084
Loading...
Searching...
No Matches
AppConfigurationObjects::RallypointServer Class Reference

Configuration for the Rallypoint server. More...

#include <ConfigurationObjects.h>

Inherits AppConfigurationObjects::ConfigurationObjectBase.

Public Member Functions

void clear ()
 
- Public Member Functions inherited from AppConfigurationObjects::ConfigurationObjectBase
virtual void initForDocumenting ()
 
virtual std::string toString ()
 
virtual bool isDocumenting () const
 

Public Attributes

FipsCryptoSettings fipsCrypto
 [Optional] Settings for the FIPS crypto.
 
WatchdogSettings watchdog
 [Optional] Settings for the Rallypoint's watchdog.
 
std::string id
 A unqiue identifier for the Rallypoint.
 
int listenPort
 TCP port to listen on. Default is 7443.
 
IpFamilyType_t ipFamily
 [Optional, Default IpFamilyType_t::ifIp4] Address familiy to be used for listening
 
std::string interfaceName
 Name of the NIC to bind to for listening for incoming TCP connections.
 
SecurityCertificate certificate
 X.509 certificate and private key that identifies the Rallypoint.
 
std::string peeringConfigurationFileName
 Name of a file containing a JSON array of Rallypoint peers to connect to.
 
std::string peeringConfigurationFileCommand
 Command-line to execute that returns a JSON array of Rallypoint peers to connect to.
 
int peeringConfigurationFileCheckSecs
 Number of seconds between checks to see if the peering configuration has been updated. Default is 60.
 
bool allowMulticastForwarding
 Allows traffic received on unicast links to be forwarded to the multicast network.
 
int ioPools
 Number of threading pools to create for network I/O. Default is -1 which creates 1 I/O pool per CPU core.
 
RallypointServerStatusReportConfiguration statusReport
 Details for producing a status report.
 
RallypointServerLimits limits
 Details for capacity limits and determining processing load.
 
RallypointServerLinkGraph linkGraph
 Details for producing a Graphviz-compatible link graph.
 
ExternalHealthCheckResponder externalHealthCheckResponder
 Details concerning the Rallypoint's interaction with an external health-checker such as a load-balancer.
 
bool allowPeerForwarding
 Set to true to allow forwarding of packets received from other Rallypoints to all other Rallypoints. WARNING Be exceptionally careful when enabling this capability!
 
std::string multicastInterfaceName
 The name of the NIC on which to send and receive multicast traffic.
 
Tls tls
 Details concerning Transport Layer Security.
 
DiscoveryConfiguration discovery
 Details discovery capabilities.
 
bool forwardDiscoveredGroups
 Enables automatic forwarding of discovered multicast traffic to peer Rallypoints.
 
bool forwardMulticastAddressing
 Enables forwarding of multicast addressing to peer Rallypoints.
 
PeeringConfiguration peeringConfiguration
 Internal - not serialized.
 
bool isMeshLeaf
 Indicates whether this Rallypoint is part of a core mesh or hangs off the periphery as a leaf node.
 
bool disableMessageSigning
 Set to true to forgo DSA signing of messages. Doing so is is a security risk but can be useful on CPU-constrained systems on already-secure environments.
 
NetworkAddressRestrictionList multicastRestrictions
 Multicasts to be restricted (inclusive or exclusive)
 
IgmpSnooping igmpSnooping
 IGMP snooping configuration.
 
std::vector< RallypointReflectorstaticReflectors
 Vector of static groups.
 
TcpNetworkTxOptions tcpTxOptions
 Tx options for TCP.
 
NetworkTxOptions multicastTxOptions
 Tx options for multicast.
 
std::string certStoreFileName
 Path to the certificate store.
 
std::string certStorePasswordHex
 Hex password for the certificate store (if any)
 
StringRestrictionList groupRestrictions
 Group IDs to be restricted (inclusive or exclusive)
 
GroupRestrictionAccessPolicyType_t groupRestrictionAccessPolicyType
 The policy employed to allow group registration.
 
std::vector< RallypointExtendedGroupRestrictionextendedGroupRestrictions
 Extended group restrictions.
 
std::string configurationCheckSignalName
 Name to use for signalling a configuration check.
 
Licensing licensing
 Licensing settings.
 
Featureset featureset
 Optional feature set.
 
RallypointUdpStreaming udpStreaming
 Optional configuration for high-performance UDP streaming.
 
uint32_t sysFlags
 [Optional, Default 0] Internal system flags
 
uint32_t normalTaskQueueBias
 [Optional, Default 0] Sets the queue's normal task bias
 
bool enableLeafReflectionReverseSubscription
 If enabled, causes a mesh leaf to reverse-subscribe to a core node upon the core subscribing and a reflector having been setup.
 
bool disableLoopDetection
 If true, turns off loop detection.
 
uint32_t maxSecurityLevel
 [Optional, Default 0] Sets the maximum item security level that can be registered with the RP
 
RallypointServerRouteMap routeMap
 Details for producing a report containing the route map.
 
uint32_t maxOutboundPeerConnectionIntervalDeltaSecs
 [Optional, Default 15] Sets the delta value for the maximum number of seconds to delay when attempting outbound peer connections
 
int peerRtTestIntervalMs
 [Optional, Default: 60000] Milliseconds between sending round-trip test requests to peers
 
std::vector< RallypointRpRtTimingBehaviorpeerRtBehaviors
 [Optional] Array of behaviors for roundtrip times to peers
 
RallypointWebsocketSettings websocket
 [Optional] Settings for websocket operation
 
NsmConfiguration nsm
 [Optional] Settings for NSM.
 
RallypointAdvertisingSettings advertising
 [Optional] Settings for advertising.
 
PacketCapturer rxCapture
 Details for capture of received packets

 
PacketCapturer txCapture
 Details for capture of transmitted packets

 
- Public Attributes inherited from AppConfigurationObjects::ConfigurationObjectBase
nlohmann::json _attached
 

Additional Inherited Members

- Protected Attributes inherited from AppConfigurationObjects::ConfigurationObjectBase
bool _documenting
 

Detailed Description

Configuration for the Rallypoint server.

Helper C++ class to serialize and de-serialize RallypointServer JSON

Example:

{
"allowMulticastForwarding": false,
"allowPeerForwarding": false,
"certificate": {
"certificate": "",
"key": ""
},
"discovery": {
"cistech": {
"address": {
"address": "",
"port": 0
},
"ageTimeoutMs": 30000,
"enabled": false,
"interfaceName": ""
},
"sap": {
"address": {
"address": "",
"port": 0
},
"advertising": {
"alwaysAdvertise": false,
"enabled": false,
"intervalMs": 20000
},
"ageTimeoutMs": 30000,
"enabled": false,
"interfaceName": ""
},
"ssdp": {
"address": {
"address": "",
"port": 0
},
"advertising": {
"alwaysAdvertise": false,
"enabled": false,
"intervalMs": 20000
},
"ageTimeoutMs": 30000,
"enabled": false,
"interfaceName": "",
"searchTerms": []
},
"trellisware": {
"enabled": false
}
},
"externalHealthCheckResponder": {
"immediateClose": true,
"listenPort": 0
},
"forwardDiscoveredGroups": false,
"forwardMulticastAddressing": false,
"id": "",
"interfaceName": "",
"ioPools": -1,
"isMeshLeaf": false,
"listenPort": 7443,
"multicastInterfaceName": "",
"peeringConfigurationFileCheckSecs": 60,
"peeringConfigurationFileName": "",
"peeringConfigurationFileCommand":"",
"requireFips": false,
"statusReport": {
"fileName": "",
"intervalSecs": 30
},
"tls": {
"allowSelfSignedCertificates": true,
"blacklistedIssuers": [],
"blacklistedSubjects": [],
"caCertificates": [],
"verifyPeers": false,
"whitelistedIssuers": [],
"whitelistedSubjects": []
}
}

Definition at line 8352 of file ConfigurationObjects.h.

Constructor & Destructor Documentation

◆ RallypointServer()

AppConfigurationObjects::RallypointServer::RallypointServer ( )
inline

Definition at line 8517 of file ConfigurationObjects.h.

Member Function Documentation

◆ clear()

void AppConfigurationObjects::RallypointServer::clear ( )
inline

Definition at line 8522 of file ConfigurationObjects.h.

Member Data Documentation

◆ advertising

RallypointAdvertisingSettings AppConfigurationObjects::RallypointServer::advertising

[Optional] Settings for advertising.

Definition at line 8509 of file ConfigurationObjects.h.

◆ allowMulticastForwarding

bool AppConfigurationObjects::RallypointServer::allowMulticastForwarding

Allows traffic received on unicast links to be forwarded to the multicast network.

Definition at line 8389 of file ConfigurationObjects.h.

◆ allowPeerForwarding

bool AppConfigurationObjects::RallypointServer::allowPeerForwarding

Set to true to allow forwarding of packets received from other Rallypoints to all other Rallypoints. WARNING Be exceptionally careful when enabling this capability!

Definition at line 8407 of file ConfigurationObjects.h.

◆ certificate

SecurityCertificate AppConfigurationObjects::RallypointServer::certificate

X.509 certificate and private key that identifies the Rallypoint.

See also
SecurityCertificate

Definition at line 8377 of file ConfigurationObjects.h.

◆ certStoreFileName

std::string AppConfigurationObjects::RallypointServer::certStoreFileName

Path to the certificate store.

Definition at line 8449 of file ConfigurationObjects.h.

◆ certStorePasswordHex

std::string AppConfigurationObjects::RallypointServer::certStorePasswordHex

Hex password for the certificate store (if any)

Definition at line 8452 of file ConfigurationObjects.h.

◆ configurationCheckSignalName

std::string AppConfigurationObjects::RallypointServer::configurationCheckSignalName

Name to use for signalling a configuration check.

Definition at line 8464 of file ConfigurationObjects.h.

◆ disableLoopDetection

bool AppConfigurationObjects::RallypointServer::disableLoopDetection

If true, turns off loop detection.

Definition at line 8485 of file ConfigurationObjects.h.

◆ disableMessageSigning

bool AppConfigurationObjects::RallypointServer::disableMessageSigning

Set to true to forgo DSA signing of messages. Doing so is is a security risk but can be useful on CPU-constrained systems on already-secure environments.

Definition at line 8431 of file ConfigurationObjects.h.

◆ discovery

DiscoveryConfiguration AppConfigurationObjects::RallypointServer::discovery

Details discovery capabilities.

See also
DiscoveryConfiguration

Definition at line 8416 of file ConfigurationObjects.h.

◆ enableLeafReflectionReverseSubscription

bool AppConfigurationObjects::RallypointServer::enableLeafReflectionReverseSubscription

If enabled, causes a mesh leaf to reverse-subscribe to a core node upon the core subscribing and a reflector having been setup.

Definition at line 8482 of file ConfigurationObjects.h.

◆ extendedGroupRestrictions

std::vector<RallypointExtendedGroupRestriction> AppConfigurationObjects::RallypointServer::extendedGroupRestrictions

Extended group restrictions.

Definition at line 8461 of file ConfigurationObjects.h.

◆ externalHealthCheckResponder

ExternalHealthCheckResponder AppConfigurationObjects::RallypointServer::externalHealthCheckResponder

Details concerning the Rallypoint's interaction with an external health-checker such as a load-balancer.

See also
ExternalHealthCheckResponder

Definition at line 8404 of file ConfigurationObjects.h.

◆ featureset

Featureset AppConfigurationObjects::RallypointServer::featureset

Optional feature set.

Definition at line 8470 of file ConfigurationObjects.h.

◆ fipsCrypto

FipsCryptoSettings AppConfigurationObjects::RallypointServer::fipsCrypto

[Optional] Settings for the FIPS crypto.

Definition at line 8359 of file ConfigurationObjects.h.

◆ forwardDiscoveredGroups

bool AppConfigurationObjects::RallypointServer::forwardDiscoveredGroups

Enables automatic forwarding of discovered multicast traffic to peer Rallypoints.

Definition at line 8419 of file ConfigurationObjects.h.

◆ forwardMulticastAddressing

bool AppConfigurationObjects::RallypointServer::forwardMulticastAddressing

Enables forwarding of multicast addressing to peer Rallypoints.

Definition at line 8422 of file ConfigurationObjects.h.

◆ groupRestrictionAccessPolicyType

GroupRestrictionAccessPolicyType_t AppConfigurationObjects::RallypointServer::groupRestrictionAccessPolicyType

The policy employed to allow group registration.

Definition at line 8458 of file ConfigurationObjects.h.

◆ groupRestrictions

StringRestrictionList AppConfigurationObjects::RallypointServer::groupRestrictions

Group IDs to be restricted (inclusive or exclusive)

Definition at line 8455 of file ConfigurationObjects.h.

◆ id

std::string AppConfigurationObjects::RallypointServer::id

A unqiue identifier for the Rallypoint.

Definition at line 8365 of file ConfigurationObjects.h.

◆ igmpSnooping

IgmpSnooping AppConfigurationObjects::RallypointServer::igmpSnooping

IGMP snooping configuration.

Definition at line 8437 of file ConfigurationObjects.h.

◆ interfaceName

std::string AppConfigurationObjects::RallypointServer::interfaceName

Name of the NIC to bind to for listening for incoming TCP connections.

Definition at line 8374 of file ConfigurationObjects.h.

◆ ioPools

int AppConfigurationObjects::RallypointServer::ioPools

Number of threading pools to create for network I/O. Default is -1 which creates 1 I/O pool per CPU core.

Definition at line 8392 of file ConfigurationObjects.h.

◆ ipFamily

IpFamilyType_t AppConfigurationObjects::RallypointServer::ipFamily

[Optional, Default IpFamilyType_t::ifIp4] Address familiy to be used for listening

Definition at line 8371 of file ConfigurationObjects.h.

◆ isMeshLeaf

bool AppConfigurationObjects::RallypointServer::isMeshLeaf

Indicates whether this Rallypoint is part of a core mesh or hangs off the periphery as a leaf node.

Definition at line 8428 of file ConfigurationObjects.h.

◆ licensing

Licensing AppConfigurationObjects::RallypointServer::licensing

Licensing settings.

Definition at line 8467 of file ConfigurationObjects.h.

◆ limits

RallypointServerLimits AppConfigurationObjects::RallypointServer::limits

Details for capacity limits and determining processing load.

See also
RallypointServerLimits

Definition at line 8398 of file ConfigurationObjects.h.

◆ linkGraph

RallypointServerLinkGraph AppConfigurationObjects::RallypointServer::linkGraph

Details for producing a Graphviz-compatible link graph.

See also
RallypointServerLinkGraph

Definition at line 8401 of file ConfigurationObjects.h.

◆ listenPort

int AppConfigurationObjects::RallypointServer::listenPort

TCP port to listen on. Default is 7443.

Definition at line 8368 of file ConfigurationObjects.h.

◆ maxOutboundPeerConnectionIntervalDeltaSecs

uint32_t AppConfigurationObjects::RallypointServer::maxOutboundPeerConnectionIntervalDeltaSecs

[Optional, Default 15] Sets the delta value for the maximum number of seconds to delay when attempting outbound peer connections

Definition at line 8494 of file ConfigurationObjects.h.

◆ maxSecurityLevel

uint32_t AppConfigurationObjects::RallypointServer::maxSecurityLevel

[Optional, Default 0] Sets the maximum item security level that can be registered with the RP

Definition at line 8488 of file ConfigurationObjects.h.

◆ multicastInterfaceName

std::string AppConfigurationObjects::RallypointServer::multicastInterfaceName

The name of the NIC on which to send and receive multicast traffic.

Definition at line 8410 of file ConfigurationObjects.h.

◆ multicastRestrictions

NetworkAddressRestrictionList AppConfigurationObjects::RallypointServer::multicastRestrictions

Multicasts to be restricted (inclusive or exclusive)

Definition at line 8434 of file ConfigurationObjects.h.

◆ multicastTxOptions

NetworkTxOptions AppConfigurationObjects::RallypointServer::multicastTxOptions

Tx options for multicast.

Definition at line 8446 of file ConfigurationObjects.h.

◆ normalTaskQueueBias

uint32_t AppConfigurationObjects::RallypointServer::normalTaskQueueBias

[Optional, Default 0] Sets the queue's normal task bias

Definition at line 8479 of file ConfigurationObjects.h.

◆ nsm

NsmConfiguration AppConfigurationObjects::RallypointServer::nsm

[Optional] Settings for NSM.

Definition at line 8506 of file ConfigurationObjects.h.

◆ peeringConfiguration

PeeringConfiguration AppConfigurationObjects::RallypointServer::peeringConfiguration

Internal - not serialized.

Definition at line 8425 of file ConfigurationObjects.h.

◆ peeringConfigurationFileCheckSecs

int AppConfigurationObjects::RallypointServer::peeringConfigurationFileCheckSecs

Number of seconds between checks to see if the peering configuration has been updated. Default is 60.

Definition at line 8386 of file ConfigurationObjects.h.

◆ peeringConfigurationFileCommand

std::string AppConfigurationObjects::RallypointServer::peeringConfigurationFileCommand

Command-line to execute that returns a JSON array of Rallypoint peers to connect to.

Definition at line 8383 of file ConfigurationObjects.h.

◆ peeringConfigurationFileName

std::string AppConfigurationObjects::RallypointServer::peeringConfigurationFileName

Name of a file containing a JSON array of Rallypoint peers to connect to.

Definition at line 8380 of file ConfigurationObjects.h.

◆ peerRtBehaviors

std::vector<RallypointRpRtTimingBehavior> AppConfigurationObjects::RallypointServer::peerRtBehaviors

[Optional] Array of behaviors for roundtrip times to peers

Definition at line 8500 of file ConfigurationObjects.h.

◆ peerRtTestIntervalMs

int AppConfigurationObjects::RallypointServer::peerRtTestIntervalMs

[Optional, Default: 60000] Milliseconds between sending round-trip test requests to peers

Definition at line 8497 of file ConfigurationObjects.h.

◆ routeMap

RallypointServerRouteMap AppConfigurationObjects::RallypointServer::routeMap

Details for producing a report containing the route map.

See also
RallypointServerRouteMap

Definition at line 8491 of file ConfigurationObjects.h.

◆ rxCapture

PacketCapturer AppConfigurationObjects::RallypointServer::rxCapture

Details for capture of received packets

Definition at line 8512 of file ConfigurationObjects.h.

◆ staticReflectors

std::vector<RallypointReflector> AppConfigurationObjects::RallypointServer::staticReflectors

Vector of static groups.

Definition at line 8440 of file ConfigurationObjects.h.

◆ statusReport

RallypointServerStatusReportConfiguration AppConfigurationObjects::RallypointServer::statusReport

Details for producing a status report.

See also
RallypointServerStatusReportConfiguration

Definition at line 8395 of file ConfigurationObjects.h.

◆ sysFlags

uint32_t AppConfigurationObjects::RallypointServer::sysFlags

[Optional, Default 0] Internal system flags

Definition at line 8476 of file ConfigurationObjects.h.

◆ tcpTxOptions

TcpNetworkTxOptions AppConfigurationObjects::RallypointServer::tcpTxOptions

Tx options for TCP.

Definition at line 8443 of file ConfigurationObjects.h.

◆ tls

Tls AppConfigurationObjects::RallypointServer::tls

Details concerning Transport Layer Security.

See also
Tls

Definition at line 8413 of file ConfigurationObjects.h.

◆ txCapture

PacketCapturer AppConfigurationObjects::RallypointServer::txCapture

Details for capture of transmitted packets

Definition at line 8515 of file ConfigurationObjects.h.

◆ udpStreaming

RallypointUdpStreaming AppConfigurationObjects::RallypointServer::udpStreaming

Optional configuration for high-performance UDP streaming.

Definition at line 8473 of file ConfigurationObjects.h.

◆ watchdog

WatchdogSettings AppConfigurationObjects::RallypointServer::watchdog

[Optional] Settings for the Rallypoint's watchdog.

Definition at line 8362 of file ConfigurationObjects.h.

◆ websocket

RallypointWebsocketSettings AppConfigurationObjects::RallypointServer::websocket

[Optional] Settings for websocket operation

Definition at line 8503 of file ConfigurationObjects.h.


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