Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

Config Class Reference

A store for global variables. More...

#include <config.h>

Inheritance diagram for Config::

BasicObject List of all members.

Public Methods

 Config ()
 Creates a default configuration. More...

virtual ~Config ()
int save ()
 Save to default configuration file. More...

int save (string path)
 Write the configuration to the file specified. More...

void save (std::ostream &out)
 Write configuration to specified output stream. More...

int load ()
 Load configuration from the default configuration file. More...

int load (string path)
 Read in a configuration file from the specified path. More...

void load (std::istream &in)
 Read in a configuration. More...

void setValue (string category, string var, string val)
void setValue (string var, string val)
 Sets a value in the global namespace. More...

void setValue (string var, bool val)
void setValue (string var, double val)
void setValue (string var, int val)
string getString (string category, string var)
string getString (string var)
bool getBool (string var)
int getInt (string var)
double getDouble (string var)
bool set (string var, string val)
 Set one of the config variables. More...

void getHelpForVariables (std::ostream &out)
 prints out help for the set command. More...

ConnectionTableEntrygetSelf ()
int getMaxConnections ()
int getMaxHosts ()
string getPeerListFileName ()
double getConnectPropagationProbability ()
double getDiscoveryPropagationProbability ()
double getDiscoveryResponseProbability ()
const string getCertPath (void)
int getMinConnections (void)
int getRWTimeout (void)
bool doFastRouting ()
bool avoidCensoredNodes ()
virtual void toStream (std::ostream &out)
 Prints out the state of the Config object in human-readable format. More...

SslCtxgetServerSslCtx (void)
SslCtxgetClientSslCtx (void)

Static Public Methods

bool matchTag (string buf, string tag)
 Returns true if tag is found as the first thing in buf. More...

bool readBool (string buf, string tag)
int readInt (string buf, string tag)
double readDouble (string buf, string tag)
string readString (string buf, string tag)

Static Public Attributes

const string MAX_CONNECTIONS_TAG = "MaxConnections"
const string MAX_HOSTS_TAG = "MaxHosts"
const string CERTIFICATE_PATH_TAG = "CertPath"
const string MIN_CONNECTIONS_TAG = "MinConnections"
const string CPP_TAG = "ConnectPropagationProbability"
const string DPP_TAG = "DiscoveryPropagationProbability"
const string DRP_TAG = "DiscoveryResponseProbability"
const string RW_TIMEOUT_TAG = "ReadWriteTimeout"
const string DO_FAST_ROUTING_TAG = "DoFastRouting"
const string AVOID_CENSORED_NODES_TAG = "AvoidCensoredNodes"

Private Attributes

int m_maxConnections
 maximum size of connection tables - set this to one less than what you want. More...

int m_maxHosts
 maximum size of each host list. More...

double m_cpp
 Connect Propagation Probability. This represents the chance that the connect will propagate. More...

double m_dpp
 Discovery Propagation Probability. More...

double m_drp
 Discovery Response Probability. More...

bool m_doFastRouting
 User wants to do fast routing. More...

bool m_avoidCensoredNodes
 User wants connections to avoid censored nodes. More...

ConnectionTableEntrym_selfNode
 A Node describing yourself. More...

string m_certPath
 path to our key/x509 cert file. More...

int m_minConnections
 min. connections to create and keep open. More...

string m_hostFile
 file name where list of nodes is stored. More...

int m_rwTimeout
 read/write timeout in seconds. if zero, wait forever. More...

SslCtxm_serverSslCtx
 SSL Context for server side. More...

SslCtxm_clientSslCtx
 SSL Context for client side. More...

map< string, VariableListm_categoryList

Detailed Description

A store for global variables.

Most of the variables can be set by the user or developer. This class can read and write the configuration to/from a file.

Definition at line 8 of file config.h.


Constructor & Destructor Documentation

Config::Config
 

Creates a default configuration.

Definition at line 24 of file config.cpp.

Config::~Config [virtual]
 

Definition at line 71 of file config.cpp.


Member Function Documentation

bool Config::avoidCensoredNodes
 

Definition at line 133 of file config.cpp.

Referenced by SummaryScreenCommand::getHtmlInterface().

bool Config::doFastRouting
 

Definition at line 127 of file config.cpp.

Referenced by SummaryScreenCommand::getHtmlInterface().

bool Config::getBool string var
 

Definition at line 370 of file config.cpp.

const string Config::getCertPath void [inline]
 

Definition at line 51 of file config.h.

SslCtx* Config::getClientSslCtx void [inline]
 

Definition at line 60 of file config.h.

Referenced by SslConnection::connect().

double Config::getConnectPropagationProbability
 

Definition at line 109 of file config.cpp.

Referenced by NetworkLayer::handleConnectPacket().

double Config::getDiscoveryPropagationProbability
 

Definition at line 115 of file config.cpp.

Referenced by NetworkLayer::handleDiscoveryPacket().

double Config::getDiscoveryResponseProbability
 

Definition at line 121 of file config.cpp.

Referenced by NetworkLayer::handleDiscoveryPacket().

double Config::getDouble string var
 

Definition at line 384 of file config.cpp.

void Config::getHelpForVariables std::ostream & out
 

prints out help for the set command.

Definition at line 445 of file config.cpp.

int Config::getInt string var
 

Definition at line 377 of file config.cpp.

int Config::getMaxConnections
 

Definition at line 91 of file config.cpp.

Referenced by LinkLayerInterface::accept(), LinkLayerInterface::connect(), LinkLayerInterface::listenImpl(), and LinkLayerInterface::toStream().

int Config::getMaxHosts
 

Definition at line 97 of file config.cpp.

Referenced by Catcher::addNode().

int Config::getMinConnections void [inline]
 

Definition at line 52 of file config.h.

Referenced by LinkLayerInterface::peerConnectImpl(), and LinkLayerInterface::toStream().

string Config::getPeerListFileName
 

Definition at line 103 of file config.cpp.

Referenced by toStream().

int Config::getRWTimeout void [inline]
 

Definition at line 53 of file config.h.

Referenced by SslConnection::accept(), and SslConnection::connect().

ConnectionTableEntry * Config::getSelf
 

Definition at line 85 of file config.cpp.

Referenced by ImHerePacket::ImHerePacket(), LinkLayerInterface::accept(), LinkLayerInterface::changeListeningPortTo(), NetworkLayer::connectTerminate(), SummaryScreenCommand::getHtmlInterface(), BasicConfigurationCommand::getHtmlInterface(), NetworkLayer::handleConnectPacket(), LinkLayerInterface::listenImpl(), BasicConfigurationCommand::run(), LinkLayerInterface::toStream(), toStream(), and LinkLayerInterface::~LinkLayerInterface().

SslCtx* Config::getServerSslCtx void [inline]
 

Definition at line 59 of file config.h.

Referenced by SslConnection::accept().

string Config::getString string var
 

Definition at line 364 of file config.cpp.

string Config::getString string category,
string var
 

Definition at line 341 of file config.cpp.

Referenced by getBool(), getDouble(), getInt(), and getString().

void Config::load std::istream & in
 

Read in a configuration.

Definition at line 207 of file config.cpp.

int Config::load string path
 

Read in a configuration file from the specified path.

Returns:
1 on success, 0 on failure

Definition at line 153 of file config.cpp.

int Config::load
 

Load configuration from the default configuration file.

Returns:
1 on success, 0 on failure.

Definition at line 143 of file config.cpp.

Referenced by GlobalObjects::init(), and load().

bool Config::matchTag string buf,
string tag
[static]
 

Returns true if tag is found as the first thing in buf.

Definition at line 174 of file config.cpp.

Referenced by load(), and operator>>().

bool Config::readBool string buf,
string tag
[static]
 

Definition at line 180 of file config.cpp.

Referenced by load().

double Config::readDouble string buf,
string tag
[static]
 

Definition at line 192 of file config.cpp.

Referenced by load().

int Config::readInt string buf,
string tag
[static]
 

Definition at line 186 of file config.cpp.

Referenced by load().

string Config::readString string buf,
string tag
[static]
 

Definition at line 198 of file config.cpp.

Referenced by load().

void Config::save std::ostream & out
 

Write configuration to specified output stream.

Definition at line 287 of file config.cpp.

int Config::save string path
 

Write the configuration to the file specified.

Returns:
1 on success, 0 on failure

Definition at line 264 of file config.cpp.

int Config::save
 

Save to default configuration file.

Definition at line 254 of file config.cpp.

Referenced by GlobalObjects::destroyImpl(), BasicConfigurationCommand::run(), save(), and toStream().

bool Config::set string var,
string val
 

Set one of the config variables.

Return true if value was set, false otherwise.

Definition at line 395 of file config.cpp.

Referenced by BasicConfigurationCommand::run(), and AdvancedConfigurationCommand::run().

void Config::setValue string var,
int val
 

Definition at line 333 of file config.cpp.

void Config::setValue string var,
double val
 

Definition at line 325 of file config.cpp.

void Config::setValue string var,
bool val
 

Definition at line 318 of file config.cpp.

void Config::setValue string var,
string val
 

Sets a value in the global namespace.

Definition at line 312 of file config.cpp.

void Config::setValue string category,
string var,
string val
 

Definition at line 303 of file config.cpp.

Referenced by setValue().

void Config::toStream std::ostream & out [virtual]
 

Prints out the state of the Config object in human-readable format.

Reimplemented from BasicObject.

Definition at line 460 of file config.cpp.


Member Data Documentation

const string Config::AVOID_CENSORED_NODES_TAG = "AvoidCensoredNodes" [static]
 

Definition at line 18 of file config.cpp.

const string Config::CERTIFICATE_PATH_TAG = "CertPath" [static]
 

Definition at line 11 of file config.cpp.

const string Config::CPP_TAG = "ConnectPropagationProbability" [static]
 

Definition at line 13 of file config.cpp.

const string Config::DO_FAST_ROUTING_TAG = "DoFastRouting" [static]
 

Definition at line 17 of file config.cpp.

const string Config::DPP_TAG = "DiscoveryPropagationProbability" [static]
 

Definition at line 14 of file config.cpp.

const string Config::DRP_TAG = "DiscoveryResponseProbability" [static]
 

Definition at line 15 of file config.cpp.

const string Config::MAX_CONNECTIONS_TAG = "MaxConnections" [static]
 

Definition at line 9 of file config.cpp.

const string Config::MAX_HOSTS_TAG = "MaxHosts" [static]
 

Definition at line 10 of file config.cpp.

const string Config::MIN_CONNECTIONS_TAG = "MinConnections" [static]
 

Definition at line 12 of file config.cpp.

const string Config::RW_TIMEOUT_TAG = "ReadWriteTimeout" [static]
 

Definition at line 16 of file config.cpp.

bool Config::m_avoidCensoredNodes [private]
 

User wants connections to avoid censored nodes.

Definition at line 93 of file config.h.

map<string, VariableList> Config::m_categoryList [private]
 

Definition at line 118 of file config.h.

string Config::m_certPath [private]
 

path to our key/x509 cert file.

Definition at line 99 of file config.h.

SslCtx* Config::m_clientSslCtx [private]
 

SSL Context for client side.

Definition at line 114 of file config.h.

double Config::m_cpp [private]
 

Connect Propagation Probability. This represents the chance that the connect will propagate.

Definition at line 81 of file config.h.

bool Config::m_doFastRouting [private]
 

User wants to do fast routing.

Definition at line 90 of file config.h.

double Config::m_dpp [private]
 

Discovery Propagation Probability.

Definition at line 84 of file config.h.

double Config::m_drp [private]
 

Discovery Response Probability.

Definition at line 87 of file config.h.

string Config::m_hostFile [private]
 

file name where list of nodes is stored.

Definition at line 105 of file config.h.

int Config::m_maxConnections [private]
 

maximum size of connection tables - set this to one less than what you want.

Definition at line 75 of file config.h.

int Config::m_maxHosts [private]
 

maximum size of each host list.

Definition at line 78 of file config.h.

int Config::m_minConnections [private]
 

min. connections to create and keep open.

Definition at line 102 of file config.h.

int Config::m_rwTimeout [private]
 

read/write timeout in seconds. if zero, wait forever.

Definition at line 108 of file config.h.

ConnectionTableEntry* Config::m_selfNode [private]
 

A Node describing yourself.

Definition at line 96 of file config.h.

SslCtx* Config::m_serverSslCtx [private]
 

SSL Context for server side.

Definition at line 111 of file config.h.


The documentation for this class was generated from the following files:
Generated at Thu Jul 11 13:31:56 2002 for Peekabooty by doxygen1.2.9 written by Dimitri van Heesch, © 1997-2001