GComm
0.2.3
|
#include <conf.hpp>
Static Public Member Functions | |
static void | register_params (gu::Config &) |
Static Public Attributes | |
static std::string const | ProtonetBackend |
static std::string const | ProtonetVersion |
static std::string const | TcpNonBlocking |
TCP non-blocking flag ("socket.non_blocking") More... | |
static std::string const | SocketUseSsl |
Use SSL sockets for communication. More... | |
static std::string const | SocketSslVerifyFile |
File containing CA certificates in PEM format ("socket.ssl_verify_file") | |
static std::string const | SocketSslCertificateFile |
File containing certificate to use in PEM format ("socket.ssl_certificate_file") | |
static std::string const | SocketSslPrivateKeyFile |
File containing private key associated with certificate ("socket.ssl_private_key_file") More... | |
static std::string const | SocketSslPasswordFile |
File containing password used to protect private key file ("socket.ssl_password_file") | |
static std::string const | SocketSslCipherList |
Cipher list for SSL connections (socket.ssl_cipher_list) | |
static std::string const | SocketSslCompression |
Disable compression boolean (socket.ssl_disable_compression) | |
static std::string const | SocketChecksum |
Algorithm for message checksums: 0 - none (backward compatible) 1 - CRC-32 (backward compatible) 2 - CRC-32C (optimized and potentially HW-accelerated on Intel CPUs) | |
static std::string const | GMCastScheme |
GMCast scheme for transport URI ("gmcast") | |
static std::string const | GMCastVersion |
GMCast protocol version. | |
static std::string const | GMCastGroup |
GMCast group name ("gmcast.group") More... | |
static std::string const | GMCastListenAddr |
GMCast listening address ("gmcast.listen_addr") More... | |
static std::string const | GMCastMCastAddr |
GMCast multicast address ("gmcast.mcast_addr") More... | |
static std::string const | GMCastMCastPort |
GMCast multicast port ("gmcast.mcast_port") More... | |
static std::string const | GMCastMCastTTL |
GMCast multicast TTL ("gmcast.mcast_ttl") More... | |
static std::string const | GMCastTimeWait |
static std::string const | GMCastPeerTimeout |
static std::string const | GMCastMaxInitialReconnectAttempts |
Maximum initial reconnect attempts. More... | |
static std::string const | GMCastPeerAddr |
Add or remove peer address. More... | |
static std::string const | GMCastIsolate |
Isolate node from peers. More... | |
static std::string const | GMCastSegment |
Segment identifier for segmentation. | |
static std::string const | EvsScheme |
EVS scheme for transport URI ("evs") | |
static std::string const | EvsVersion |
EVS protocol version. | |
static std::string const | EvsViewForgetTimeout |
EVS view forget timeout ("evs.view_forget_timeout") More... | |
static std::string const | EvsSuspectTimeout |
EVS suspect timeout ("evs.suspect_timeout") More... | |
static std::string const | EvsInactiveTimeout |
EVS inactive timeout ("evs.inactive_timeout") More... | |
static std::string const | EvsInactiveCheckPeriod |
EVS inactive check period ("evs.inactive_check_period") More... | |
static std::string const | EvsInstallTimeout |
static std::string const | EvsKeepalivePeriod |
EVS keepalive period ("evs.keepalive_period") More... | |
static std::string const | EvsJoinRetransPeriod |
EVS join retransmission period ("evs.join_retrans_period") More... | |
static std::string const | EvsStatsReportPeriod |
EVS statistics reporting period ("evs.stats_report_period") More... | |
static std::string const | EvsDebugLogMask |
EVS debug log mask ("evs.debug_log_mask") More... | |
static std::string const | EvsInfoLogMask |
EVS info log mask ("evs.info_log_mask") More... | |
static std::string const | EvsSendWindow |
EVS send window ("evs.send_window") More... | |
static std::string const | EvsUserSendWindow |
EVS user send window ("evs.user_send_window") More... | |
static std::string const | EvsUseAggregate |
EVS message aggregation mode ("evs.use_aggregate") More... | |
static std::string const | EvsCausalKeepalivePeriod |
Period to generate keepalives for causal messages. | |
static std::string const | EvsMaxInstallTimeouts |
EVS maximum install timeouts ("evs.max_install_timeouts") More... | |
static std::string const | PcScheme |
PC scheme for transport URI ("pc") | |
static std::string const | PcVersion |
PC protocol version. | |
static std::string const | PcIgnoreSb |
PC split-brain mode. More... | |
static std::string const | PcIgnoreQuorum |
PC quorum mode. More... | |
static std::string const | PcChecksum |
PC message checksumming. More... | |
static std::string const | PcAnnounceTimeout |
PC starup announce timeout. | |
static std::string const | PcLinger |
PC close linger timeout. | |
static std::string const | PcNpvo |
PC newer prim view overrides. | |
static std::string const | PcBootstrap |
If set during runtime bootstraps new PC. | |
static std::string const | PcWaitPrim |
Wait for prim comp unconditionally if set to true. | |
static std::string const | PcWaitPrimTimeout |
Timeout on waiting for primary component. | |
static std::string const | PcWeight |
Node weight in prim comp voting. | |
Configuration parameter definitions.
Transport definition and configuration parameters are passed to Transport::create() in the URI form. URI scheme part defines which transport is returned. Currently recognized are "tcp", "gmcast" and "pc". This will change in the future.
URI format is the following: gcomm://[<peer_host>[:<peer_port>]][?<key1>=<val1>&<key2>=<val2>]... The key/value pairs can be used to pass configuration parameters to gcomm layers.
Time periods as parameter values follow ISO8601 duration representation (as represented in http://en.wikipedia.org/wiki/ISO_8601#Durations). Examples:
To get subsecond resolution, second part can be represented as decimal number, but currently it is not recommended due to bug in Period parsing routine (rounding errors can result inaccurate boundary value checking).
|
static |
EVS debug log mask ("evs.debug_log_mask")
This mask controls what debug information is printed in the logs if debug logging is turned on. Mask value is bitwise-or from values gcomm::evs::Proto::DebugFlags. By default only state information is printed.
|
static |
EVS inactive check period ("evs.inactive_check_period")
This period controls how often node liveness is checked. Default is 1 second and there is no need to change this unless Conf::EvsSuspectTimeout or Conf::EvsInactiveTimeout is adjusted to smaller value. Default value is 1 second, minimum is 0.1 seconds and maximum is Conf::EvsSuspectTimeout/2.
|
static |
EVS inactive timeout ("evs.inactive_timeout")
This timeout control how long node can remain completely silent until it is discarded from the group. This is hard limit, unlike Conf::EvsSuspectTimeout, and the node is discarded even if it becomes live during the formation of the new group. Default value is 15 seconds.
|
static |
EVS info log mask ("evs.info_log_mask")
This mask controls what info log is printed in the logs. Mask value is bitwise-or from values gcomm::evs::Proto::InfoFlags.
|
static |
EVS join retransmission period ("evs.join_retrans_period")
This parameter controls how often join messages are retransmitted during group formation. There is usually no need to adjust this value. Default value is 0.3 seconds, minimum is 0.1 seconds and maximum is Conf::EvsSuspectTimeout/3.
|
static |
EVS keepalive period ("evs.keepalive_period")
This timeout controls how often keepalive messages are sent into network. Node liveness is determined with these keepalives, so the value sould be significantly smaller than Conf::EvsSuspectTimeout. Default value is 1 second, minimum is 0.1 seconds and maximum is Conf::EvsSuspectTimeout/3.
|
static |
EVS maximum install timeouts ("evs.max_install_timeouts")
This parameter controls how many install attempts are done before declaring other nodes as inactive and trying to re-establish group via singleton views.
|
static |
EVS send window ("evs.send_window")
This parameter controls how many messages protocol layer is allowed to send without getting all acknowledgements for any of them. Default value is 32.
|
static |
EVS statistics reporting period ("evs.stats_report_period")
This parameters controls how often statistics information is printed in the log. This parameter has effect only if statistics reporting is enabled via Conf::EvsInfoLogMask. Default value is 1 minute.
|
static |
EVS suspect timeout ("evs.suspect_timeout")
This timeout controls how long node can remain silent until it is put under suspicion. If majority of the current group agree that the node is under suspicion, it is discarded from group and new group view is formed immediately. If majority of the group does not agree about suspicion, Conf::EvsInactiveTimeout is waited until forming of new group will be attempted. Default value is 5 seconds.
|
static |
EVS message aggregation mode ("evs.use_aggregate")
This parameter controls whether EVS is allowed to aggregate several user messages into one message. By default this option is enabled and there should be no need to disable it unless adviced so.
|
static |
EVS user send window ("evs.user_send_window")
Like Conf::EvsSendWindow, but for messages for which sending is initiated by call from upper layer. Default value is 16.
|
static |
EVS view forget timeout ("evs.view_forget_timeout")
This timeout controls how long information about known group views is maintained. This information is needed to filter out delayed messages from previous views that are not live anymore. Default value is 5 minutes and there is usually not need to change it.
|
static |
|
static |
Isolate node from peers.
Setting this value to 'true' closes all conections and will prevent forming of new connections until value is set again to 'false'. This parameter should be used for testing purposes only and it will not be visible in global configuration array.
|
static |
GMCast listening address ("gmcast.listen_addr")
Listening address for GMCast. Address is currently passed in URI format (for example tcp://192.168.3.1:4567) and it should be passed as the last configuration parameter in order to avoid confusion. If parameter value is undefined, GMCast starts listening all interfaces at default port 4567.
|
static |
Maximum initial reconnect attempts.
Maximum initial reconnect attempts for address reported by peer.
|
static |
|
static |
|
static |
GMCast multicast TTL ("gmcast.mcast_ttl")
This parameter controls multicast packet TTL. By default it is set to 1 and usually it should not be changed unless adviced so. This means that multicast is limited to single LAN segment.
|
static |
Add or remove peer address.
Setting value to add:<scheme>://<ip>:<port> will inject new peer address in address list. Setting value to del:<scheme>://<ip>:<port> will remove peer address from list (via forget procedure).
|
static |
|
static |
|
static |
|
static |
File containing private key associated with certificate ("socket.ssl_private_key_file")
If private key file is protected with password, SocketSslPasswordFile ("socket.ssl_password_file") must also be set.
|
static |
Use SSL sockets for communication.
Boolean describing whether underlying transport should use SSL connections.
|
static |
TCP non-blocking flag ("socket.non_blocking")
Parameter value is boolean (passed 0 or 1) denoting whether the socket should or should not be in non-blocking state.