Derecho  0.9
Distributed systems toolkit for RDMA
Classes | Namespaces | Macros | Functions
conf.hpp File Reference
#include <atomic>
#include "getpot/GetPot"
#include <getopt.h>
#include <inttypes.h>
#include <map>
#include <memory>
#include <stdio.h>
#include <unistd.h>
Include dependency graph for conf.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  derecho::Conf
 The single configuration file for derecho. More...
 

Namespaces

 derecho
 

Macros

#define CONF_ENTRY_INTEGER(name, section, string)
 
#define CONF_DERECHO_LEADER_IP   "DERECHO/leader_ip"
 
#define CONF_DERECHO_LEADER_GMS_PORT   "DERECHO/leader_gms_port"
 
#define CONF_DERECHO_LOCAL_ID   "DERECHO/local_id"
 
#define CONF_DERECHO_LOCAL_IP   "DERECHO/local_ip"
 
#define CONF_DERECHO_GMS_PORT   "DERECHO/gms_port"
 
#define CONF_DERECHO_RPC_PORT   "DERECHO/rpc_port"
 
#define CONF_DERECHO_SST_PORT   "DERECHO/sst_port"
 
#define CONF_DERECHO_RDMC_PORT   "DERECHO/rdmc_port"
 
#define CONF_DERECHO_HEARTBEAT_MS   "DERECHO/heartbeat_ms"
 
#define CONF_DERECHO_SST_POLL_CQ_TIMEOUT_MS   "DERECHO/sst_poll_cq_timeout_ms"
 
#define CONF_DERECHO_DISABLE_PARTITIONING_SAFETY   "DERECHO/disable_partitioning_safety"
 
#define CONF_DERECHO_MAX_P2P_REQUEST_PAYLOAD_SIZE   "DERECHO/max_p2p_request_payload_size"
 
#define CONF_DERECHO_MAX_P2P_REPLY_PAYLOAD_SIZE   "DERECHO/max_p2p_reply_payload_size"
 
#define CONF_DERECHO_P2P_WINDOW_SIZE   "DERECHO/p2p_window_size"
 
#define CONF_SUBGROUP_DEFAULT_MAX_PAYLOAD_SIZE   "SUBGROUP/DEFAULT/max_payload_size"
 
#define CONF_SUBGROUP_DEFAULT_MAX_REPLY_PAYLOAD_SIZE   "SUBGROUP/DEFAULT/max_reply_payload_size"
 
#define CONF_SUBGROUP_DEFAULT_MAX_SMC_PAYLOAD_SIZE   "SUBGROUP/DEFAULT/max_smc_payload_size"
 
#define CONF_SUBGROUP_DEFAULT_BLOCK_SIZE   "SUBGROUP/DEFAULT/block_size"
 
#define CONF_SUBGROUP_DEFAULT_WINDOW_SIZE   "SUBGROUP/DEFAULT/window_size"
 
#define CONF_SUBGROUP_DEFAULT_RDMC_SEND_ALGORITHM   "SUBGROUP/DEFAULT/rdmc_send_algorithm"
 
#define CONF_RDMA_PROVIDER   "RDMA/provider"
 
#define CONF_RDMA_DOMAIN   "RDMA/domain"
 
#define CONF_RDMA_TX_DEPTH   "RDMA/tx_depth"
 
#define CONF_RDMA_RX_DEPTH   "RDMA/rx_depth"
 
#define CONF_PERS_FILE_PATH   "PERS/file_path"
 
#define CONF_PERS_RAMDISK_PATH   "PERS/ramdisk_path"
 
#define CONF_PERS_RESET   "PERS/reset"
 
#define CONF_PERS_MAX_LOG_ENTRY   "PERS/max_log_entry"
 
#define CONF_PERS_MAX_DATA_SIZE   "PERS/max_data_size"
 
#define CONF_LOGGER_DEFAULT_LOG_NAME   "LOGGER/default_log_name"
 
#define CONF_LOGGER_DEFAULT_LOG_LEVEL   "LOGGER/default_log_level"
 

Functions

const std::string & derecho::getConfString (const std::string &key)
 
const int16_t derecho::getConfInt16 (const std::string &key)
 
const uint16_t derecho::getConfUInt16 (const std::string &key)
 
const int32_t derecho::getConfInt32 (const std::string &key)
 
const uint32_t derecho::getConfUInt32 (const std::string &key)
 
const int64_t derecho::getConfInt64 (const std::string &key)
 
const uint64_t derecho::getConfUInt64 (const std::string &key)
 
const float derecho::getConfFloat (const std::string &key)
 
const double derecho::getConfDouble (const std::string &key)
 
const bool derecho::getConfBoolean (const std::string &key)
 
const bool derecho::hasCustomizedConfKey (const std::string &key)
 

Macro Definition Documentation

◆ CONF_DERECHO_DISABLE_PARTITIONING_SAFETY

#define CONF_DERECHO_DISABLE_PARTITIONING_SAFETY   "DERECHO/disable_partitioning_safety"

Definition at line 32 of file conf.hpp.

◆ CONF_DERECHO_GMS_PORT

#define CONF_DERECHO_GMS_PORT   "DERECHO/gms_port"

Definition at line 26 of file conf.hpp.

◆ CONF_DERECHO_HEARTBEAT_MS

#define CONF_DERECHO_HEARTBEAT_MS   "DERECHO/heartbeat_ms"

Definition at line 30 of file conf.hpp.

◆ CONF_DERECHO_LEADER_GMS_PORT

#define CONF_DERECHO_LEADER_GMS_PORT   "DERECHO/leader_gms_port"

Definition at line 23 of file conf.hpp.

◆ CONF_DERECHO_LEADER_IP

#define CONF_DERECHO_LEADER_IP   "DERECHO/leader_ip"

Definition at line 22 of file conf.hpp.

◆ CONF_DERECHO_LOCAL_ID

#define CONF_DERECHO_LOCAL_ID   "DERECHO/local_id"

Definition at line 24 of file conf.hpp.

◆ CONF_DERECHO_LOCAL_IP

#define CONF_DERECHO_LOCAL_IP   "DERECHO/local_ip"

Definition at line 25 of file conf.hpp.

◆ CONF_DERECHO_MAX_P2P_REPLY_PAYLOAD_SIZE

#define CONF_DERECHO_MAX_P2P_REPLY_PAYLOAD_SIZE   "DERECHO/max_p2p_reply_payload_size"

Definition at line 35 of file conf.hpp.

◆ CONF_DERECHO_MAX_P2P_REQUEST_PAYLOAD_SIZE

#define CONF_DERECHO_MAX_P2P_REQUEST_PAYLOAD_SIZE   "DERECHO/max_p2p_request_payload_size"

Definition at line 34 of file conf.hpp.

◆ CONF_DERECHO_P2P_WINDOW_SIZE

#define CONF_DERECHO_P2P_WINDOW_SIZE   "DERECHO/p2p_window_size"

Definition at line 36 of file conf.hpp.

◆ CONF_DERECHO_RDMC_PORT

#define CONF_DERECHO_RDMC_PORT   "DERECHO/rdmc_port"

Definition at line 29 of file conf.hpp.

◆ CONF_DERECHO_RPC_PORT

#define CONF_DERECHO_RPC_PORT   "DERECHO/rpc_port"

Definition at line 27 of file conf.hpp.

◆ CONF_DERECHO_SST_POLL_CQ_TIMEOUT_MS

#define CONF_DERECHO_SST_POLL_CQ_TIMEOUT_MS   "DERECHO/sst_poll_cq_timeout_ms"

Definition at line 31 of file conf.hpp.

◆ CONF_DERECHO_SST_PORT

#define CONF_DERECHO_SST_PORT   "DERECHO/sst_port"

Definition at line 28 of file conf.hpp.

◆ CONF_ENTRY_INTEGER

#define CONF_ENTRY_INTEGER (   name,
  section,
  string 
)

Definition at line 15 of file conf.hpp.

◆ CONF_LOGGER_DEFAULT_LOG_LEVEL

#define CONF_LOGGER_DEFAULT_LOG_LEVEL   "LOGGER/default_log_level"

Definition at line 55 of file conf.hpp.

◆ CONF_LOGGER_DEFAULT_LOG_NAME

#define CONF_LOGGER_DEFAULT_LOG_NAME   "LOGGER/default_log_name"

Definition at line 54 of file conf.hpp.

◆ CONF_PERS_FILE_PATH

#define CONF_PERS_FILE_PATH   "PERS/file_path"

Definition at line 49 of file conf.hpp.

◆ CONF_PERS_MAX_DATA_SIZE

#define CONF_PERS_MAX_DATA_SIZE   "PERS/max_data_size"

Definition at line 53 of file conf.hpp.

◆ CONF_PERS_MAX_LOG_ENTRY

#define CONF_PERS_MAX_LOG_ENTRY   "PERS/max_log_entry"

Definition at line 52 of file conf.hpp.

◆ CONF_PERS_RAMDISK_PATH

#define CONF_PERS_RAMDISK_PATH   "PERS/ramdisk_path"

Definition at line 50 of file conf.hpp.

◆ CONF_PERS_RESET

#define CONF_PERS_RESET   "PERS/reset"

Definition at line 51 of file conf.hpp.

◆ CONF_RDMA_DOMAIN

#define CONF_RDMA_DOMAIN   "RDMA/domain"

Definition at line 46 of file conf.hpp.

◆ CONF_RDMA_PROVIDER

#define CONF_RDMA_PROVIDER   "RDMA/provider"

Definition at line 45 of file conf.hpp.

◆ CONF_RDMA_RX_DEPTH

#define CONF_RDMA_RX_DEPTH   "RDMA/rx_depth"

Definition at line 48 of file conf.hpp.

◆ CONF_RDMA_TX_DEPTH

#define CONF_RDMA_TX_DEPTH   "RDMA/tx_depth"

Definition at line 47 of file conf.hpp.

◆ CONF_SUBGROUP_DEFAULT_BLOCK_SIZE

#define CONF_SUBGROUP_DEFAULT_BLOCK_SIZE   "SUBGROUP/DEFAULT/block_size"

Definition at line 41 of file conf.hpp.

◆ CONF_SUBGROUP_DEFAULT_MAX_PAYLOAD_SIZE

#define CONF_SUBGROUP_DEFAULT_MAX_PAYLOAD_SIZE   "SUBGROUP/DEFAULT/max_payload_size"

Definition at line 38 of file conf.hpp.

◆ CONF_SUBGROUP_DEFAULT_MAX_REPLY_PAYLOAD_SIZE

#define CONF_SUBGROUP_DEFAULT_MAX_REPLY_PAYLOAD_SIZE   "SUBGROUP/DEFAULT/max_reply_payload_size"

Definition at line 39 of file conf.hpp.

◆ CONF_SUBGROUP_DEFAULT_MAX_SMC_PAYLOAD_SIZE

#define CONF_SUBGROUP_DEFAULT_MAX_SMC_PAYLOAD_SIZE   "SUBGROUP/DEFAULT/max_smc_payload_size"

Definition at line 40 of file conf.hpp.

◆ CONF_SUBGROUP_DEFAULT_RDMC_SEND_ALGORITHM

#define CONF_SUBGROUP_DEFAULT_RDMC_SEND_ALGORITHM   "SUBGROUP/DEFAULT/rdmc_send_algorithm"

Definition at line 43 of file conf.hpp.

◆ CONF_SUBGROUP_DEFAULT_WINDOW_SIZE

#define CONF_SUBGROUP_DEFAULT_WINDOW_SIZE   "SUBGROUP/DEFAULT/window_size"

Definition at line 42 of file conf.hpp.