Engage Engine API  1.249.9089
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

 
std::string meshName
 [Optional] This Rallypoint's mesh name
 
std::vector< std::string > extraMeshes
 [Optional] List of additional meshes that can be reached via this RP
 
TuningSettings tuning
 [Optional] Low-level tuning
 
- 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 8622 of file ConfigurationObjects.h.

Constructor & Destructor Documentation

◆ RallypointServer()

AppConfigurationObjects::RallypointServer::RallypointServer ( )
inline

Definition at line 8796 of file ConfigurationObjects.h.

Member Function Documentation

◆ clear()

void AppConfigurationObjects::RallypointServer::clear ( )
inline

Definition at line 8801 of file ConfigurationObjects.h.

Member Data Documentation

◆ advertising

RallypointAdvertisingSettings AppConfigurationObjects::RallypointServer::advertising

[Optional] Settings for advertising.

Definition at line 8779 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 8659 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 8677 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 8647 of file ConfigurationObjects.h.

◆ certStoreFileName

std::string AppConfigurationObjects::RallypointServer::certStoreFileName

Path to the certificate store.

Definition at line 8719 of file ConfigurationObjects.h.

◆ certStorePasswordHex

std::string AppConfigurationObjects::RallypointServer::certStorePasswordHex

Hex password for the certificate store (if any)

Definition at line 8722 of file ConfigurationObjects.h.

◆ configurationCheckSignalName

std::string AppConfigurationObjects::RallypointServer::configurationCheckSignalName

Name to use for signalling a configuration check.

Definition at line 8734 of file ConfigurationObjects.h.

◆ disableLoopDetection

bool AppConfigurationObjects::RallypointServer::disableLoopDetection

If true, turns off loop detection.

Definition at line 8755 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 8701 of file ConfigurationObjects.h.

◆ discovery

DiscoveryConfiguration AppConfigurationObjects::RallypointServer::discovery

Details discovery capabilities.

See also
DiscoveryConfiguration

Definition at line 8686 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 8752 of file ConfigurationObjects.h.

◆ extendedGroupRestrictions

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

Extended group restrictions.

Definition at line 8731 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 8674 of file ConfigurationObjects.h.

◆ extraMeshes

std::vector<std::string> AppConfigurationObjects::RallypointServer::extraMeshes

[Optional] List of additional meshes that can be reached via this RP

Definition at line 8791 of file ConfigurationObjects.h.

◆ featureset

Featureset AppConfigurationObjects::RallypointServer::featureset

Optional feature set.

Definition at line 8740 of file ConfigurationObjects.h.

◆ fipsCrypto

FipsCryptoSettings AppConfigurationObjects::RallypointServer::fipsCrypto

[Optional] Settings for the FIPS crypto.

Definition at line 8629 of file ConfigurationObjects.h.

◆ forwardDiscoveredGroups

bool AppConfigurationObjects::RallypointServer::forwardDiscoveredGroups

Enables automatic forwarding of discovered multicast traffic to peer Rallypoints.

Definition at line 8689 of file ConfigurationObjects.h.

◆ forwardMulticastAddressing

bool AppConfigurationObjects::RallypointServer::forwardMulticastAddressing

Enables forwarding of multicast addressing to peer Rallypoints.

Definition at line 8692 of file ConfigurationObjects.h.

◆ groupRestrictionAccessPolicyType

GroupRestrictionAccessPolicyType_t AppConfigurationObjects::RallypointServer::groupRestrictionAccessPolicyType

The policy employed to allow group registration.

Definition at line 8728 of file ConfigurationObjects.h.

◆ groupRestrictions

StringRestrictionList AppConfigurationObjects::RallypointServer::groupRestrictions

Group IDs to be restricted (inclusive or exclusive)

Definition at line 8725 of file ConfigurationObjects.h.

◆ id

std::string AppConfigurationObjects::RallypointServer::id

A unqiue identifier for the Rallypoint.

Definition at line 8635 of file ConfigurationObjects.h.

◆ igmpSnooping

IgmpSnooping AppConfigurationObjects::RallypointServer::igmpSnooping

IGMP snooping configuration.

Definition at line 8707 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 8644 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 8662 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 8641 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 8698 of file ConfigurationObjects.h.

◆ licensing

Licensing AppConfigurationObjects::RallypointServer::licensing

Licensing settings.

Definition at line 8737 of file ConfigurationObjects.h.

◆ limits

RallypointServerLimits AppConfigurationObjects::RallypointServer::limits

Details for capacity limits and determining processing load.

See also
RallypointServerLimits

Definition at line 8668 of file ConfigurationObjects.h.

◆ linkGraph

RallypointServerLinkGraph AppConfigurationObjects::RallypointServer::linkGraph

Details for producing a Graphviz-compatible link graph.

See also
RallypointServerLinkGraph

Definition at line 8671 of file ConfigurationObjects.h.

◆ listenPort

int AppConfigurationObjects::RallypointServer::listenPort

TCP port to listen on. Default is 7443.

Definition at line 8638 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 8764 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 8758 of file ConfigurationObjects.h.

◆ meshName

std::string AppConfigurationObjects::RallypointServer::meshName

[Optional] This Rallypoint's mesh name

Definition at line 8788 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 8680 of file ConfigurationObjects.h.

◆ multicastRestrictions

NetworkAddressRestrictionList AppConfigurationObjects::RallypointServer::multicastRestrictions

Multicasts to be restricted (inclusive or exclusive)

Definition at line 8704 of file ConfigurationObjects.h.

◆ multicastTxOptions

NetworkTxOptions AppConfigurationObjects::RallypointServer::multicastTxOptions

Tx options for multicast.

Definition at line 8716 of file ConfigurationObjects.h.

◆ normalTaskQueueBias

uint32_t AppConfigurationObjects::RallypointServer::normalTaskQueueBias

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

Definition at line 8749 of file ConfigurationObjects.h.

◆ nsm

NsmConfiguration AppConfigurationObjects::RallypointServer::nsm

[Optional] Settings for NSM.

Definition at line 8776 of file ConfigurationObjects.h.

◆ peeringConfiguration

PeeringConfiguration AppConfigurationObjects::RallypointServer::peeringConfiguration

Internal - not serialized.

Definition at line 8695 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 8656 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 8653 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 8650 of file ConfigurationObjects.h.

◆ peerRtBehaviors

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

[Optional] Array of behaviors for roundtrip times to peers

Definition at line 8770 of file ConfigurationObjects.h.

◆ peerRtTestIntervalMs

int AppConfigurationObjects::RallypointServer::peerRtTestIntervalMs

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

Definition at line 8767 of file ConfigurationObjects.h.

◆ routeMap

RallypointServerRouteMap AppConfigurationObjects::RallypointServer::routeMap

Details for producing a report containing the route map.

See also
RallypointServerRouteMap

Definition at line 8761 of file ConfigurationObjects.h.

◆ rxCapture

PacketCapturer AppConfigurationObjects::RallypointServer::rxCapture

Details for capture of received packets

Definition at line 8782 of file ConfigurationObjects.h.

◆ staticReflectors

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

Vector of static groups.

Definition at line 8710 of file ConfigurationObjects.h.

◆ statusReport

RallypointServerStatusReportConfiguration AppConfigurationObjects::RallypointServer::statusReport

Details for producing a status report.

See also
RallypointServerStatusReportConfiguration

Definition at line 8665 of file ConfigurationObjects.h.

◆ sysFlags

uint32_t AppConfigurationObjects::RallypointServer::sysFlags

[Optional, Default 0] Internal system flags

Definition at line 8746 of file ConfigurationObjects.h.

◆ tcpTxOptions

TcpNetworkTxOptions AppConfigurationObjects::RallypointServer::tcpTxOptions

Tx options for TCP.

Definition at line 8713 of file ConfigurationObjects.h.

◆ tls

Tls AppConfigurationObjects::RallypointServer::tls

Details concerning Transport Layer Security.

See also
Tls

Definition at line 8683 of file ConfigurationObjects.h.

◆ tuning

TuningSettings AppConfigurationObjects::RallypointServer::tuning

[Optional] Low-level tuning

Definition at line 8794 of file ConfigurationObjects.h.

◆ txCapture

PacketCapturer AppConfigurationObjects::RallypointServer::txCapture

Details for capture of transmitted packets

Definition at line 8785 of file ConfigurationObjects.h.

◆ udpStreaming

RallypointUdpStreaming AppConfigurationObjects::RallypointServer::udpStreaming

Optional configuration for high-performance UDP streaming.

Definition at line 8743 of file ConfigurationObjects.h.

◆ watchdog

WatchdogSettings AppConfigurationObjects::RallypointServer::watchdog

[Optional] Settings for the Rallypoint's watchdog.

Definition at line 8632 of file ConfigurationObjects.h.

◆ websocket

RallypointWebsocketSettings AppConfigurationObjects::RallypointServer::websocket

[Optional] Settings for websocket operation

Definition at line 8773 of file ConfigurationObjects.h.


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