Engage Engine API  1.263.9103
Real-time tactical communications engine API
Loading...
Searching...
No Matches
AppConfigurationObjects::RallypointServer Class Reference

Configuration for the Rallypoint server. More...

#include <ConfigurationObjects.h>

Inherits AppConfigurationObjects::ConfigurationObjectBase.

Public Types

enum  StreamIdPrivacyType_t {
  sptDefault = 0 , sptCertificate = 1 , sptCertPublicKey = 2 , sptCertSubject = 3 ,
  sptCertIssuer = 4 , sptCertFingerprint = 5 , sptCertSerial = 6 , sptSubjectC = 7 ,
  sptSubjectST = 8 , sptSubjectL = 9 , sptSubjectO = 10 , sptSubjectOU = 11 ,
  sptSubjectCN = 12 , sptIssuerC = 13 , sptIssuerST = 14 , sptIssuerL = 15 ,
  sptIssuerO = 16 , sptIssuerOU = 17 , sptIssuerCN = 18
}
 

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

StreamIdPrivacyType_t streamIdPrivacyType
 [Optional, default sptDefault] Modes for stream ID transformation.
 
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.
 
std::string name
 A human-readable name 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 domain 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 domain 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.
 
RallypointServerStreamStatsExport streamStatsExport
 Details for exporting stream statistics.
 
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
 
NsmNode nsm
 [Optional] Embedded NSM node settings (JSON key nsm; legacy flat NsmConfiguration accepted).
 
RallypointAdvertisingSettings advertising
 [Optional] Settings for advertising.
 
RtiCloudSettings rtiCloud
 [Optional] Rally Tactical cloud (RTI) integration.
 
PacketCapturer rxCapture
 Details for capture of received packets

 
PacketCapturer txCapture
 Details for capture of transmitted packets

 
std::string domainName
 [Optional] This Rallypoint's domain name
 
std::vector< std::string > allowedDomains
 [Optional] List of domains that explicitly MAY connect to this RP
 
std::vector< std::string > blockedDomains
 [Optional] List of domains that explictly MAY NOT connect to this RP
 
std::vector< std::string > extraDomains
 [Optional] List of additional domains that can be reached via this RP
 
TuningSettings tuning
 [Optional] Low-level tuning
 
std::vector< NamedIdentityadditionalIdentities
 [Optional] List of additional named identities
 
- 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 10154 of file ConfigurationObjects.h.

Member Enumeration Documentation

◆ StreamIdPrivacyType_t

enum AppConfigurationObjects::RallypointServer::StreamIdPrivacyType_t

Definition at line 10160 of file ConfigurationObjects.h.

Constructor & Destructor Documentation

◆ RallypointServer()

AppConfigurationObjects::RallypointServer::RallypointServer ( )
inline

Definition at line 10372 of file ConfigurationObjects.h.

Member Function Documentation

◆ clear()

void AppConfigurationObjects::RallypointServer::clear ( )
inline

Definition at line 10377 of file ConfigurationObjects.h.

Member Data Documentation

◆ additionalIdentities

std::vector<NamedIdentity> AppConfigurationObjects::RallypointServer::additionalIdentities

[Optional] List of additional named identities

Definition at line 10370 of file ConfigurationObjects.h.

◆ advertising

RallypointAdvertisingSettings AppConfigurationObjects::RallypointServer::advertising

[Optional] Settings for advertising.

Definition at line 10343 of file ConfigurationObjects.h.

◆ allowedDomains

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

[Optional] List of domains that explicitly MAY connect to this RP

Definition at line 10358 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 10220 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 10238 of file ConfigurationObjects.h.

◆ blockedDomains

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

[Optional] List of domains that explictly MAY NOT connect to this RP

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

◆ certStoreFileName

std::string AppConfigurationObjects::RallypointServer::certStoreFileName

Path to the certificate store.

Definition at line 10280 of file ConfigurationObjects.h.

◆ certStorePasswordHex

std::string AppConfigurationObjects::RallypointServer::certStorePasswordHex

Hex password for the certificate store (if any)

Definition at line 10283 of file ConfigurationObjects.h.

◆ configurationCheckSignalName

std::string AppConfigurationObjects::RallypointServer::configurationCheckSignalName

Name to use for signalling a configuration check.

Definition at line 10295 of file ConfigurationObjects.h.

◆ disableLoopDetection

bool AppConfigurationObjects::RallypointServer::disableLoopDetection

If true, turns off loop detection.

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

◆ discovery

DiscoveryConfiguration AppConfigurationObjects::RallypointServer::discovery

Details discovery capabilities.

See also
DiscoveryConfiguration

Definition at line 10247 of file ConfigurationObjects.h.

◆ domainName

std::string AppConfigurationObjects::RallypointServer::domainName

[Optional] This Rallypoint's domain name

Definition at line 10355 of file ConfigurationObjects.h.

◆ enableLeafReflectionReverseSubscription

bool AppConfigurationObjects::RallypointServer::enableLeafReflectionReverseSubscription

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

Definition at line 10313 of file ConfigurationObjects.h.

◆ extendedGroupRestrictions

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

Extended group restrictions.

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

◆ extraDomains

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

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

Definition at line 10364 of file ConfigurationObjects.h.

◆ featureset

Featureset AppConfigurationObjects::RallypointServer::featureset

Optional feature set.

Definition at line 10301 of file ConfigurationObjects.h.

◆ fipsCrypto

FipsCryptoSettings AppConfigurationObjects::RallypointServer::fipsCrypto

[Optional] Settings for the FIPS crypto.

Definition at line 10187 of file ConfigurationObjects.h.

◆ forwardDiscoveredGroups

bool AppConfigurationObjects::RallypointServer::forwardDiscoveredGroups

Enables automatic forwarding of discovered multicast traffic to peer Rallypoints.

Definition at line 10250 of file ConfigurationObjects.h.

◆ forwardMulticastAddressing

bool AppConfigurationObjects::RallypointServer::forwardMulticastAddressing

Enables forwarding of multicast addressing to peer Rallypoints.

Definition at line 10253 of file ConfigurationObjects.h.

◆ groupRestrictionAccessPolicyType

GroupRestrictionAccessPolicyType_t AppConfigurationObjects::RallypointServer::groupRestrictionAccessPolicyType

The policy employed to allow group registration.

Definition at line 10289 of file ConfigurationObjects.h.

◆ groupRestrictions

StringRestrictionList AppConfigurationObjects::RallypointServer::groupRestrictions

Group IDs to be restricted (inclusive or exclusive)

Definition at line 10286 of file ConfigurationObjects.h.

◆ id

std::string AppConfigurationObjects::RallypointServer::id

A unqiue identifier for the Rallypoint.

Definition at line 10193 of file ConfigurationObjects.h.

◆ igmpSnooping

IgmpSnooping AppConfigurationObjects::RallypointServer::igmpSnooping

IGMP snooping configuration.

Definition at line 10268 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 10205 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 10223 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 10202 of file ConfigurationObjects.h.

◆ isMeshLeaf

bool AppConfigurationObjects::RallypointServer::isMeshLeaf

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

Definition at line 10259 of file ConfigurationObjects.h.

◆ licensing

Licensing AppConfigurationObjects::RallypointServer::licensing

Licensing settings.

Definition at line 10298 of file ConfigurationObjects.h.

◆ limits

RallypointServerLimits AppConfigurationObjects::RallypointServer::limits

Details for capacity limits and determining processing load.

See also
RallypointServerLimits

Definition at line 10229 of file ConfigurationObjects.h.

◆ linkGraph

RallypointServerLinkGraph AppConfigurationObjects::RallypointServer::linkGraph

Details for producing a Graphviz-compatible link graph.

See also
RallypointServerLinkGraph

Definition at line 10232 of file ConfigurationObjects.h.

◆ listenPort

int AppConfigurationObjects::RallypointServer::listenPort

TCP port to listen on. Default is 7443.

Definition at line 10199 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 10328 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 10319 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 10241 of file ConfigurationObjects.h.

◆ multicastRestrictions

NetworkAddressRestrictionList AppConfigurationObjects::RallypointServer::multicastRestrictions

Multicasts to be restricted (inclusive or exclusive)

Definition at line 10265 of file ConfigurationObjects.h.

◆ multicastTxOptions

NetworkTxOptions AppConfigurationObjects::RallypointServer::multicastTxOptions

Tx options for multicast.

Definition at line 10277 of file ConfigurationObjects.h.

◆ name

std::string AppConfigurationObjects::RallypointServer::name

A human-readable name for the Rallypoint.

Definition at line 10196 of file ConfigurationObjects.h.

◆ normalTaskQueueBias

uint32_t AppConfigurationObjects::RallypointServer::normalTaskQueueBias

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

Definition at line 10310 of file ConfigurationObjects.h.

◆ nsm

NsmNode AppConfigurationObjects::RallypointServer::nsm

[Optional] Embedded NSM node settings (JSON key nsm; legacy flat NsmConfiguration accepted).

Definition at line 10340 of file ConfigurationObjects.h.

◆ peeringConfiguration

PeeringConfiguration AppConfigurationObjects::RallypointServer::peeringConfiguration

Internal - not serialized.

Definition at line 10256 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 10217 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 10214 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 10211 of file ConfigurationObjects.h.

◆ peerRtBehaviors

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

[Optional] Array of behaviors for roundtrip times to peers

Definition at line 10334 of file ConfigurationObjects.h.

◆ peerRtTestIntervalMs

int AppConfigurationObjects::RallypointServer::peerRtTestIntervalMs

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

Definition at line 10331 of file ConfigurationObjects.h.

◆ routeMap

RallypointServerRouteMap AppConfigurationObjects::RallypointServer::routeMap

Details for producing a report containing the route map.

See also
RallypointServerRouteMap

Definition at line 10322 of file ConfigurationObjects.h.

◆ rtiCloud

RtiCloudSettings AppConfigurationObjects::RallypointServer::rtiCloud

[Optional] Rally Tactical cloud (RTI) integration.

Definition at line 10346 of file ConfigurationObjects.h.

◆ rxCapture

PacketCapturer AppConfigurationObjects::RallypointServer::rxCapture

Details for capture of received packets

Definition at line 10349 of file ConfigurationObjects.h.

◆ staticReflectors

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

Vector of static groups.

Definition at line 10271 of file ConfigurationObjects.h.

◆ statusReport

RallypointServerStatusReportConfiguration AppConfigurationObjects::RallypointServer::statusReport

Details for producing a status report.

See also
RallypointServerStatusReportConfiguration

Definition at line 10226 of file ConfigurationObjects.h.

◆ streamIdPrivacyType

StreamIdPrivacyType_t AppConfigurationObjects::RallypointServer::streamIdPrivacyType

[Optional, default sptDefault] Modes for stream ID transformation.

Definition at line 10184 of file ConfigurationObjects.h.

◆ streamStatsExport

RallypointServerStreamStatsExport AppConfigurationObjects::RallypointServer::streamStatsExport

Details for exporting stream statistics.

See also
RallypointServerStreamStatsExport

Definition at line 10325 of file ConfigurationObjects.h.

◆ sysFlags

uint32_t AppConfigurationObjects::RallypointServer::sysFlags

[Optional, Default 0] Internal system flags

Definition at line 10307 of file ConfigurationObjects.h.

◆ tcpTxOptions

TcpNetworkTxOptions AppConfigurationObjects::RallypointServer::tcpTxOptions

Tx options for TCP.

Definition at line 10274 of file ConfigurationObjects.h.

◆ tls

Tls AppConfigurationObjects::RallypointServer::tls

Details concerning Transport Layer Security.

See also
Tls

Definition at line 10244 of file ConfigurationObjects.h.

◆ tuning

TuningSettings AppConfigurationObjects::RallypointServer::tuning

[Optional] Low-level tuning

Definition at line 10367 of file ConfigurationObjects.h.

◆ txCapture

PacketCapturer AppConfigurationObjects::RallypointServer::txCapture

Details for capture of transmitted packets

Definition at line 10352 of file ConfigurationObjects.h.

◆ udpStreaming

RallypointUdpStreaming AppConfigurationObjects::RallypointServer::udpStreaming

Optional configuration for high-performance UDP streaming.

Definition at line 10304 of file ConfigurationObjects.h.

◆ watchdog

WatchdogSettings AppConfigurationObjects::RallypointServer::watchdog

[Optional] Settings for the Rallypoint's watchdog.

Definition at line 10190 of file ConfigurationObjects.h.

◆ websocket

RallypointWebsocketSettings AppConfigurationObjects::RallypointServer::websocket

[Optional] Settings for websocket operation

Definition at line 10337 of file ConfigurationObjects.h.


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