Robot Raconteur Core C++ Library
Classes | Enumerations
NodeSetup.h File Reference

Go to the source code of this file.

Classes

class  RobotRaconteur::CommandLineConfigParser
 Command line parser for node setup classes. More...
 
class  RobotRaconteur::RobotRaconteurNodeSetup
 Setup a node using specified options and manage node lifecycle. More...
 
class  RobotRaconteur::ClientNodeSetup
 Initializes a RobotRaconteurNode instance to default configuration for a client only node. More...
 
class  RobotRaconteur::ServerNodeSetup
 Initializes a RobotRaconteurNode instance to default configuration for a server and client node. More...
 
class  RobotRaconteur::SecureServerNodeSetup
 Initializes a RobotRaconteurNode instance to default configuration for a secure server and client node. More...
 

Enumerations

enum  RobotRaconteur::RobotRaconteurNodeSetupFlags {
  RobotRaconteur::RobotRaconteurNodeSetupFlags_NONE = 0x0 , RobotRaconteur::RobotRaconteurNodeSetupFlags_ENABLE_NODE_DISCOVERY_LISTENING = 0x1 , RobotRaconteur::RobotRaconteurNodeSetupFlags_ENABLE_NODE_ANNOUNCE = 0x2 , RobotRaconteur::RobotRaconteurNodeSetupFlags_ENABLE_LOCAL_TRANSPORT = 0x4 ,
  RobotRaconteur::RobotRaconteurNodeSetupFlags_ENABLE_TCP_TRANSPORT = 0x8 , RobotRaconteur::RobotRaconteurNodeSetupFlags_ENABLE_HARDWARE_TRANSPORT = 0x10 , RobotRaconteur::RobotRaconteurNodeSetupFlags_LOCAL_TRANSPORT_START_SERVER = 0x20 , RobotRaconteur::RobotRaconteurNodeSetupFlags_LOCAL_TRANSPORT_START_CLIENT = 0x40 ,
  RobotRaconteur::RobotRaconteurNodeSetupFlags_TCP_TRANSPORT_START_SERVER = 0x80 , RobotRaconteur::RobotRaconteurNodeSetupFlags_TCP_TRANSPORT_START_SERVER_PORT_SHARER = 0x100 , RobotRaconteur::RobotRaconteurNodeSetupFlags_DISABLE_MESSAGE4 = 0x200 , RobotRaconteur::RobotRaconteurNodeSetupFlags_DISABLE_STRINGTABLE = 0x400 ,
  RobotRaconteur::RobotRaconteurNodeSetupFlags_DISABLE_TIMEOUTS = 0x800 , RobotRaconteur::RobotRaconteurNodeSetupFlags_LOAD_TLS_CERT = 0x1000 , RobotRaconteur::RobotRaconteurNodeSetupFlags_REQUIRE_TLS = 0x2000 , RobotRaconteur::RobotRaconteurNodeSetupFlags_LOCAL_TRANSPORT_SERVER_PUBLIC = 0x4000 ,
  RobotRaconteur::RobotRaconteurNodeSetupFlags_TCP_TRANSPORT_LISTEN_LOCALHOST = 0x8000 , RobotRaconteur::RobotRaconteurNodeSetupFlags_NODENAME_OVERRIDE = 0x10000 , RobotRaconteur::RobotRaconteurNodeSetupFlags_NODEID_OVERRIDE = 0x20000 , RobotRaconteur::RobotRaconteurNodeSetupFlags_TCP_PORT_OVERRIDE = 0x40000 ,
  RobotRaconteur::RobotRaconteurNodeSetupFlags_TCP_WEBSOCKET_ORIGIN_OVERRIDE = 0x80000 , RobotRaconteur::RobotRaconteurNodeSetupFlags_ENABLE_INTRA_TRANSPORT = 0x100000 , RobotRaconteur::RobotRaconteurNodeSetupFlags_INTRA_TRANSPORT_START_SERVER = 0x200000 , RobotRaconteur::RobotRaconteurNodeSetupFlags_TCP_TRANSPORT_IPV4_DISCOVERY = 0x400000 ,
  RobotRaconteur::RobotRaconteurNodeSetupFlags_TCP_TRANSPORT_IPV6_DISCOVERY = 0x800000 , RobotRaconteur::RobotRaconteurNodeSetupFlags_LOCAL_TAP_ENABLE = 0x1000000 , RobotRaconteur::RobotRaconteurNodeSetupFlags_LOCAL_TAP_NAME = 0x2000000 , RobotRaconteur::RobotRaconteurNodeSetupFlags_JUMBO_MESSAGE = 0x4000000 ,
  RobotRaconteur::RobotRaconteurNodeSetupFlags_ENABLE_ALL_TRANSPORTS = 0x10001C , RobotRaconteur::RobotRaconteurNodeSetupFlags_CLIENT_DEFAULT = 0x90004D , RobotRaconteurNodeSetupFlags_CLIENT_DEFAULT_ALLOWED_OVERRIDE = 0x7D33E5D , RobotRaconteur::RobotRaconteurNodeSetupFlags_SERVER_DEFAULT = 0xB004AF ,
  RobotRaconteur::RobotRaconteurNodeSetupFlags_SERVER_DEFAULT_ALLOWED_OVERRIDE = 0x7FFFFFF , RobotRaconteur::RobotRaconteurNodeSetupFlags_SECURE_SERVER_DEFAULT = 0xB034AF , RobotRaconteur::RobotRaconteurNodeSetupFlags_SECURE_SERVER_DEFAULT_ALLOWED_OVERRIDE = 0x73FCFFF
}
 Setup option flags. More...
 

Detailed Description

Author
John Wason, PhD
License
Software License Agreement (Apache License)
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Enumeration Type Documentation

◆ RobotRaconteurNodeSetupFlags

Setup option flags.

Setup option flags passed to node setup classes to select options to enable and disable. Flags are used to configure the following types of options:

  1. Enable and disable transport types
  2. Modify transport options including discovery, security requirements, and connection listening
  3. Configure TLS behavior
  4. Enable local tap for logging

Node setup classes also allow options and flags to be "overridden" using command line options. Use the *_ALLOW_OVERRIDE options to configure when these overrides are allowed.

The ClientNodeSetup, ServerNodeSetup, and SecureServerNodeSetup are convenience classes for the most commonly used options.

Enumerator
RobotRaconteurNodeSetupFlags_NONE 

No options enabled.

RobotRaconteurNodeSetupFlags_ENABLE_NODE_DISCOVERY_LISTENING 

Enable node discovery listening on all transports.

RobotRaconteurNodeSetupFlags_ENABLE_NODE_ANNOUNCE 

Enable node announce on all transports.

RobotRaconteurNodeSetupFlags_ENABLE_LOCAL_TRANSPORT 

Enable LocalTransport.

RobotRaconteurNodeSetupFlags_ENABLE_TCP_TRANSPORT 

Enable TcpTransport.

RobotRaconteurNodeSetupFlags_ENABLE_HARDWARE_TRANSPORT 

Enable HardwareTransport.

RobotRaconteurNodeSetupFlags_LOCAL_TRANSPORT_START_SERVER 

Start the LocalTransport server to listen for incoming clients.

RobotRaconteurNodeSetupFlags_LOCAL_TRANSPORT_START_CLIENT 

Start the LocalTransport client with specified node name.

RobotRaconteurNodeSetupFlags_TCP_TRANSPORT_START_SERVER 

Start the TcpTransport server to listen for incoming clients on the specified port.

RobotRaconteurNodeSetupFlags_TCP_TRANSPORT_START_SERVER_PORT_SHARER 

Start the TcpTransport server to incoming for incoming clients using the port sharer.

RobotRaconteurNodeSetupFlags_DISABLE_MESSAGE4 

Disable Message Format Version 4 on all transports.

RobotRaconteurNodeSetupFlags_DISABLE_STRINGTABLE 

Disable Message Format Version 4 string table on all transports.

RobotRaconteurNodeSetupFlags_DISABLE_TIMEOUTS 

Disable all timeouts (useful for debugging)

RobotRaconteurNodeSetupFlags_LOAD_TLS_CERT 

Load the TLS certificate for TcpTransport.

RobotRaconteurNodeSetupFlags_REQUIRE_TLS 

Require TLS for all clients on TcpTransport.

RobotRaconteurNodeSetupFlags_LOCAL_TRANSPORT_SERVER_PUBLIC 

Make LocalTransport server listen for incoming clients from all users.

RobotRaconteurNodeSetupFlags_TCP_TRANSPORT_LISTEN_LOCALHOST 

Only listen on localhost connections for TcpTransport.

RobotRaconteurNodeSetupFlags_NODENAME_OVERRIDE 

Allow NodeName to be configured using command line options.

RobotRaconteurNodeSetupFlags_NODEID_OVERRIDE 

Allow NodeID to be configured using command line options.

RobotRaconteurNodeSetupFlags_TCP_PORT_OVERRIDE 

Allow TCP port to be configured using command line options.

RobotRaconteurNodeSetupFlags_TCP_WEBSOCKET_ORIGIN_OVERRIDE 

Allow TCP WebSocket origin control to be configured using command line options.

RobotRaconteurNodeSetupFlags_ENABLE_INTRA_TRANSPORT 

Enable IntraTransport.

RobotRaconteurNodeSetupFlags_INTRA_TRANSPORT_START_SERVER 

Start the IntraTransport server to listen for incoming clients.

RobotRaconteurNodeSetupFlags_TCP_TRANSPORT_IPV4_DISCOVERY 

Enable TcpTransport IPv4 discovery.

RobotRaconteurNodeSetupFlags_TCP_TRANSPORT_IPV6_DISCOVERY 

Enable TcpTransport IPv6 discovery.

RobotRaconteurNodeSetupFlags_LOCAL_TAP_ENABLE 

Enable the LocalTap debug logging system.

RobotRaconteurNodeSetupFlags_LOCAL_TAP_NAME 

Allow the user to set the LocalTap name.

RobotRaconteurNodeSetupFlags_JUMBO_MESSAGE 

Enable jumbo messages (up to 100 MB per message)

RobotRaconteurNodeSetupFlags_ENABLE_ALL_TRANSPORTS 

Convenience flag to enable all transports.

RobotRaconteurNodeSetupFlags_CLIENT_DEFAULT 

Default configuration for client nodes (See ClientNodeSetup)

RobotRaconteurNodeSetupFlags_SERVER_DEFAULT 

Default configuration for server nodes.

RobotRaconteurNodeSetupFlags_SERVER_DEFAULT_ALLOWED_OVERRIDE 

Default allowed overrides for server nodes.

RobotRaconteurNodeSetupFlags_SECURE_SERVER_DEFAULT 

Default configuration for server nodes requiring TLS network transports.

RobotRaconteurNodeSetupFlags_SECURE_SERVER_DEFAULT_ALLOWED_OVERRIDE 

Default allowed overrides for server nodes requiring TLS network transports.