Engage Engine API  1.245.9085
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 8615 of file ConfigurationObjects.h.

Constructor & Destructor Documentation

◆ RallypointServer()

AppConfigurationObjects::RallypointServer::RallypointServer ( )
inline

Definition at line 8789 of file ConfigurationObjects.h.

Member Function Documentation

◆ clear()

void AppConfigurationObjects::RallypointServer::clear ( )
inline

Definition at line 8794 of file ConfigurationObjects.h.

Member Data Documentation

◆ advertising

RallypointAdvertisingSettings AppConfigurationObjects::RallypointServer::advertising

[Optional] Settings for advertising.

Definition at line 8772 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 8652 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 8670 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 8640 of file ConfigurationObjects.h.

◆ certStoreFileName

std::string AppConfigurationObjects::RallypointServer::certStoreFileName

Path to the certificate store.

Definition at line 8712 of file ConfigurationObjects.h.

◆ certStorePasswordHex

std::string AppConfigurationObjects::RallypointServer::certStorePasswordHex

Hex password for the certificate store (if any)

Definition at line 8715 of file ConfigurationObjects.h.

◆ configurationCheckSignalName

std::string AppConfigurationObjects::RallypointServer::configurationCheckSignalName

Name to use for signalling a configuration check.

Definition at line 8727 of file ConfigurationObjects.h.

◆ disableLoopDetection

bool AppConfigurationObjects::RallypointServer::disableLoopDetection

If true, turns off loop detection.

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

◆ discovery

DiscoveryConfiguration AppConfigurationObjects::RallypointServer::discovery

Details discovery capabilities.

See also
DiscoveryConfiguration

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

◆ extendedGroupRestrictions

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

Extended group restrictions.

Definition at line 8724 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 8667 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 8784 of file ConfigurationObjects.h.

◆ featureset

Featureset AppConfigurationObjects::RallypointServer::featureset

Optional feature set.

Definition at line 8733 of file ConfigurationObjects.h.

◆ fipsCrypto

FipsCryptoSettings AppConfigurationObjects::RallypointServer::fipsCrypto

[Optional] Settings for the FIPS crypto.

Definition at line 8622 of file ConfigurationObjects.h.

◆ forwardDiscoveredGroups

bool AppConfigurationObjects::RallypointServer::forwardDiscoveredGroups

Enables automatic forwarding of discovered multicast traffic to peer Rallypoints.

Definition at line 8682 of file ConfigurationObjects.h.

◆ forwardMulticastAddressing

bool AppConfigurationObjects::RallypointServer::forwardMulticastAddressing

Enables forwarding of multicast addressing to peer Rallypoints.

Definition at line 8685 of file ConfigurationObjects.h.

◆ groupRestrictionAccessPolicyType

GroupRestrictionAccessPolicyType_t AppConfigurationObjects::RallypointServer::groupRestrictionAccessPolicyType

The policy employed to allow group registration.

Definition at line 8721 of file ConfigurationObjects.h.

◆ groupRestrictions

StringRestrictionList AppConfigurationObjects::RallypointServer::groupRestrictions

Group IDs to be restricted (inclusive or exclusive)

Definition at line 8718 of file ConfigurationObjects.h.

◆ id

std::string AppConfigurationObjects::RallypointServer::id

A unqiue identifier for the Rallypoint.

Definition at line 8628 of file ConfigurationObjects.h.

◆ igmpSnooping

IgmpSnooping AppConfigurationObjects::RallypointServer::igmpSnooping

IGMP snooping configuration.

Definition at line 8700 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 8637 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 8655 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 8634 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 8691 of file ConfigurationObjects.h.

◆ licensing

Licensing AppConfigurationObjects::RallypointServer::licensing

Licensing settings.

Definition at line 8730 of file ConfigurationObjects.h.

◆ limits

RallypointServerLimits AppConfigurationObjects::RallypointServer::limits

Details for capacity limits and determining processing load.

See also
RallypointServerLimits

Definition at line 8661 of file ConfigurationObjects.h.

◆ linkGraph

RallypointServerLinkGraph AppConfigurationObjects::RallypointServer::linkGraph

Details for producing a Graphviz-compatible link graph.

See also
RallypointServerLinkGraph

Definition at line 8664 of file ConfigurationObjects.h.

◆ listenPort

int AppConfigurationObjects::RallypointServer::listenPort

TCP port to listen on. Default is 7443.

Definition at line 8631 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 8757 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 8751 of file ConfigurationObjects.h.

◆ meshName

std::string AppConfigurationObjects::RallypointServer::meshName

[Optional] This Rallypoint's mesh name

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

◆ multicastRestrictions

NetworkAddressRestrictionList AppConfigurationObjects::RallypointServer::multicastRestrictions

Multicasts to be restricted (inclusive or exclusive)

Definition at line 8697 of file ConfigurationObjects.h.

◆ multicastTxOptions

NetworkTxOptions AppConfigurationObjects::RallypointServer::multicastTxOptions

Tx options for multicast.

Definition at line 8709 of file ConfigurationObjects.h.

◆ normalTaskQueueBias

uint32_t AppConfigurationObjects::RallypointServer::normalTaskQueueBias

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

Definition at line 8742 of file ConfigurationObjects.h.

◆ nsm

NsmConfiguration AppConfigurationObjects::RallypointServer::nsm

[Optional] Settings for NSM.

Definition at line 8769 of file ConfigurationObjects.h.

◆ peeringConfiguration

PeeringConfiguration AppConfigurationObjects::RallypointServer::peeringConfiguration

Internal - not serialized.

Definition at line 8688 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 8649 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 8646 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 8643 of file ConfigurationObjects.h.

◆ peerRtBehaviors

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

[Optional] Array of behaviors for roundtrip times to peers

Definition at line 8763 of file ConfigurationObjects.h.

◆ peerRtTestIntervalMs

int AppConfigurationObjects::RallypointServer::peerRtTestIntervalMs

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

Definition at line 8760 of file ConfigurationObjects.h.

◆ routeMap

RallypointServerRouteMap AppConfigurationObjects::RallypointServer::routeMap

Details for producing a report containing the route map.

See also
RallypointServerRouteMap

Definition at line 8754 of file ConfigurationObjects.h.

◆ rxCapture

PacketCapturer AppConfigurationObjects::RallypointServer::rxCapture

Details for capture of received packets

Definition at line 8775 of file ConfigurationObjects.h.

◆ staticReflectors

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

Vector of static groups.

Definition at line 8703 of file ConfigurationObjects.h.

◆ statusReport

RallypointServerStatusReportConfiguration AppConfigurationObjects::RallypointServer::statusReport

Details for producing a status report.

See also
RallypointServerStatusReportConfiguration

Definition at line 8658 of file ConfigurationObjects.h.

◆ sysFlags

uint32_t AppConfigurationObjects::RallypointServer::sysFlags

[Optional, Default 0] Internal system flags

Definition at line 8739 of file ConfigurationObjects.h.

◆ tcpTxOptions

TcpNetworkTxOptions AppConfigurationObjects::RallypointServer::tcpTxOptions

Tx options for TCP.

Definition at line 8706 of file ConfigurationObjects.h.

◆ tls

Tls AppConfigurationObjects::RallypointServer::tls

Details concerning Transport Layer Security.

See also
Tls

Definition at line 8676 of file ConfigurationObjects.h.

◆ tuning

TuningSettings AppConfigurationObjects::RallypointServer::tuning

[Optional] Low-level tuning

Definition at line 8787 of file ConfigurationObjects.h.

◆ txCapture

PacketCapturer AppConfigurationObjects::RallypointServer::txCapture

Details for capture of transmitted packets

Definition at line 8778 of file ConfigurationObjects.h.

◆ udpStreaming

RallypointUdpStreaming AppConfigurationObjects::RallypointServer::udpStreaming

Optional configuration for high-performance UDP streaming.

Definition at line 8736 of file ConfigurationObjects.h.

◆ watchdog

WatchdogSettings AppConfigurationObjects::RallypointServer::watchdog

[Optional] Settings for the Rallypoint's watchdog.

Definition at line 8625 of file ConfigurationObjects.h.

◆ websocket

RallypointWebsocketSettings AppConfigurationObjects::RallypointServer::websocket

[Optional] Settings for websocket operation

Definition at line 8766 of file ConfigurationObjects.h.


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