params Namespace Reference


Detailed Description

This namespace includes the standard parameter strings and methods for accessing them.


Classes

class  Params
 Do not use directly. Use params:: methods instead. More...

Functions

int loadparams (int &argc, char **&argv, bool requireFile=false)
 Loads the parameters as though from the command line.
int loadfile (const char *filename, bool allRequired=false)
void addRequired (const std::string &name, const std::string &desc="")
 Adds a required parameter of name name and description desc.
int print (FILE *ostream)
 Prints all the parameters to a FILE* such as stdout.
int print (std::ostream &os)
 Prints all the parameters to a ostream such as cout.
void getBootstrapPeers (const mace::MaceKey &laddr, NodeSet &peers, bool &autoBootstrap)
 Returns either MACE_AUTO_BOOTSTRAP_PEERS or MACE_BOOTSTRAP_PEERS, parsed as a set of IPV4 nodes.

Variables

static const std::string MACE_LOCAL_ADDRESS = "MACE_LOCAL_ADDRESS"
 Allows to override the detected local address.
static const std::string MACE_PORT = "MACE_PORT"
 Sets the default port for addresses.
static const std::string MACE_BIND_LOCAL_ADDRESS = "MACE_BIND_LOCAL_ADDRESS"
 1 or 0, sets whether to additionally bind to the local address rather than inaddr any.
static const std::string MACE_TRANSPORT_DISABLE_TRANSLATION = "MACE_TRANSPORT_DISABLE_TRANSLATION"
 1 or 0, sets whether to have the transport re-write source addresses for hosts using the auto-forwarding transport features.
static const std::string MACE_ALL_HOSTS_REACHABLE = "MACE_ALL_HOSTS_REACHABLE"
 When set allows the transport to skip overhead when not doing NAT.
static const std::string MACE_CERT_FILE = "MACE_CERT_FILE"
 Tell the transport where the certificate file is.
static const std::string MACE_PRIVATE_KEY_FILE = "MACE_PRIVATE_KEY_FILE"
 Tell the transport where the private key is.
static const std::string MACE_CA_FILE = "MACE_CA_FILE"
 Tell the transport where the CA certificate to trust is.
static const std::string MACE_NO_VERIFY_HOSTNAMES = "MACE_NO_VERIFY_HOSTNAMES"
 Tell the transport to ignore hostnames in certificates.
static const std::string MACE_PRINT_HOSTNAME_ONLY = "MACE_PRINT_HOSTNAME_ONLY"
 In outputting logs, don't print prefix or IP, just hostname.
static const std::string MACE_LOG_AUTO_SELECTORS = "MACE_LOG_AUTO_SELECTORS"
 These will be passed to Log::autoAdd.
static const std::string MACE_LOG_TIMESTAMP_HUMAN = "MACE_LOG_TIMESTAMP_HUMAN"
 If true, configured logging will use human timestamps.
static const std::string MACE_LOG_LEVEL = "MACE_LOG_LEVEL"
 Calls Log::setLevel.
static const std::string MACE_LOG_AUTO_ALL = "MACE_LOG_AUTO_ALL"
 Enables all logging via Log::autoAddAll.
static const std::string MACE_LOG_FILE = "MACE_LOG_FILE"
 Default file to write configured logs to.
static const std::string MACE_LOG_PATH = "MACE_LOG_PATH"
 Default path for log files.
static const std::string MACE_LOG_PREFIX = "MACE_LOG_PREFIX"
 Prefix for log files.
static const std::string MACE_LOG_APPEND = "MACE_LOG_APPEND"
 Don't truncate MACE_LOG_FILE.
static const std::string MACE_LOG_DISABLE_WARNING = "MACE_LOG_DISABLE_WARNING"
 During configuration, disable default warning logs.
static const std::string MACE_LOG_AUTO_BINARY = "MACE_LOG_AUTO_BINARY"
 Like MACE_LOG_AUTO_SELECTORS, but adds as binary logs.
static const std::string MACE_BIN_LOG_FILE = "MACE_BIN_LOG_FILE"
 File for writing the binary logs.
static const std::string MACE_BOOTSTRAP_PEERS = "MACE_BOOTSTRAP_PEERS"
 sets autoBootstrap to false, but will return from params::getBootstrapPeers
static const std::string MACE_AUTO_BOOTSTRAP_PEERS = "MACE_AUTO_BOOTSTRAP_PEERS"
 Will return for getBootstrapPeers, and set autoBootstrap to true.
static const std::string MACE_ADDRESS_ALLOW_LOOPBACK = "MACE_ADDRESS_ALLOW_LOOPBACK"
 Enable the transport to use the loopback as a local address. Disabled by default to prevent bad address detection.


Function Documentation

void params::getBootstrapPeers ( const mace::MaceKey laddr,
NodeSet peers,
bool &  autoBootstrap 
) [inline]

Returns either MACE_AUTO_BOOTSTRAP_PEERS or MACE_BOOTSTRAP_PEERS, parsed as a set of IPV4 nodes.

Warning:
Throws an exception if neither parameter is set.
Parameters:
laddr the local address, excluded from the parsed nodes
peers the set to store the nodes in
autoBootstrap set to true on return if MACE_AUTO_BOOTSTRAP_PEERS was set.

Definition at line 333 of file params.h.

int params::loadfile ( const char *  filename,
bool  allRequired = false 
) [inline]

Files are read in as follows: # is the comment delimiter. Lines beginning with it are ignored. The remainder of any line containing it, unless a quoted string are ignored. parameters are set by parameter = value, or parameter = "value"

Parameters:
filename the file to read parameters from
allRequired whether all required parameters must be in the file
Returns:
the number of parameters set

Definition at line 304 of file params.h.

int params::loadparams ( int &  argc,
char **&  argv,
bool  requireFile = false 
) [inline]

Loads the parameters as though from the command line.

Follows this method: 1 - Ignores argv[0], as this is the program executable 2 - If no option file is specified, defaults are read in from params.default 3 - If argv[1] is a file -- parameters are read in from it 4 - Remaining arguments are read and parsed as command-line [potentially] overriding values. 5 - Returns the number of parameters set.

Parameters:
argc the number of arguments in argv
argv the arguments
requireFile whether there must be a file parameter
Returns:
the number of parameters set

Definition at line 291 of file params.h.


Generated on Sat Oct 4 21:30:43 2008 for Mace Library by  doxygen 1.5.5