Loading...
Searching...
No Matches
resdb Namespace Reference

Namespaces

namespace  coin
 
namespace  contract
 
namespace  storage
 
namespace  testing
 
namespace  utils
 
namespace  utxo
 

Classes

class  Acceptor
 
class  AsyncAcceptor
 
class  AsyncReplicaClient
 
class  AtomicUniquePtr
 
class  BatchQueue
 
class  BlockingQueue
 
class  ChainState
 
class  CheckPoint
 
class  CheckPointManager
 
class  Commitment
 
class  ComplaningClients
 
class  ConsensusManager
 
class  ConsensusManagerGeoPBFT
 
class  ConsensusManagerPBFT
 
struct  Context
 
class  CustomQuery
 
struct  DataInfo
 
class  DuplicateManager
 
class  GeoGlobalExecutor
 
class  GeoPBFTCommitment
 
class  GeoTransactionExecutor
 
class  KeyGenerator
 
class  KVClient
 
class  KVExecutor
 
class  LockFreeCollectorPool
 
class  LockFreeQueue
 
class  MessageManager
 
class  MockAsyncReplicaClient
 
class  MockCheckPoint
 
class  MockCheckPointManager
 
class  MockGeoGlobalExecutor
 
class  MockNetChannel
 
class  MockReplicaCommunicator
 
class  MockResDBTxnAccessor
 
class  MockServiceInterface
 
class  MockSignatureVerifier
 
class  MockSocket
 
class  MockStorage
 
class  MockTransactionExecutorDataImpl
 
class  MockTransactionManager
 
class  NetChannel
 
class  PerformanceClientTimeout
 
class  PerformanceManager
 
class  PreVerifyConsensusServicePBFT
 
class  PrometheusHandler
 
class  Query
 
struct  QueueItem
 
class  Recovery
 
class  ReplicaCommunicator
 
struct  RequestInfo
 
class  ResDBConfig
 
class  ResDBPoCConfig
 
class  ResDBStateAccessor
 
class  ResDBTest
 
class  ResDBTestClient
 
class  ResDBTestManager
 
class  ResDBTxnAccessor
 
class  ResponseManager
 
class  ServerFactory
 
class  ServiceInterface
 
class  ServiceNetwork
 
class  SignatureVerifier
 
class  SignatureVerifierInterface
 
class  Socket
 
class  SpinLockSet
 
class  Stats
 
class  Storage
 
class  SystemInfo
 
class  TcpSocket
 
class  TransactionCollector
 
class  TransactionConstructor
 
class  TransactionExecutor
 
class  TransactionManager
 
class  ViewChangeManager
 
class  ViewChangeTimeout
 

Typedefs

typedef std::function< std::unique_ptr< ResDBConfig >(const ResConfigData &config_data, const ReplicaInfo &self_info, const KeyInfo &private_key, const CertificateInfo &public_key_cert_info)> ConfigGenFunc
 

Enumerations

enum  TransactionStatue {
  None = 0 , Prepare = -999 , READY_PREPARE = 1 , READY_COMMIT = 2 ,
  READY_EXECUTE = 3 , EXECUTED = 4
}
 
enum  CollectorResultCode { INVALID = -2 , OK = 0 , STATE_CHANGED = 1 }
 
enum  ViewChangeTimerType { TYPE_COMPLAINT , TYPE_VIEWCHANGE , TYPE_NEWVIEW }
 
enum  TableName {
  GENERAL , WORKER_THREAD , IO_THREAD , CLIENT ,
  CONFIGURATION , SERVER , CONSENSUS
}
 
enum  MetricName {
  SERVER_CALL_NAME , SERVER_PROCESS , CLIENT_CALL , CLIENT_REQ ,
  SOCKET_RECV , BROAD_CAST , PROPOSE , PREPARE ,
  COMMIT , EXECUTE , NUM_EXECUTE_TX
}
 

Functions

uint64_t GetCurrentTime ()
 
std::string GetDNSName (const std::string &ip, int port, NetworkType type)
 
std::string GetTcpUrl (const std::string &ip, int port)
 
 TEST (NetworkUtilsTest, GetDNSName)
 
 TEST (NetworkUtilsTest, GetTcpUrl)
 
 TEST (TcpSocket, SendAndRecv)
 
 TEST (TcpSocket, SendAfterClose)
 
ReplicaInfo GenerateReplicaInfo (int id, const std::string &ip, int port)
 
ResConfigData ReadConfigFromFile (const std::string &file_name)
 
std::vector< ReplicaInfo > ReadConfig (const std::string &file_name)
 
std::unique_ptr< ResDBConfig > GenerateResDBConfig (const std::string &config_file, const std::string &private_key_file, const std::string &cert_file, std::optional< ReplicaInfo > self_info, std::optional< ConfigGenFunc > gen_func)
 
ResDBConfig GenerateResDBConfig (const std::string &config_file)
 
std::unique_ptr< Request > NewRequest (Request::Type type, const Request &request, int sender_id)
 
std::unique_ptr< Request > NewRequest (Request::Type type, const Request &request, int sender_id, int region_id)
 
std::string GetHash (const std::string &h1, const std::string &h2)
 
ResDBConfig GenerateDBConfig ()
 
void SendData (const std::string &data)
 
 TEST (ServiceNetworkTest, RecvData)
 
 TEST (ServiceNetworkTest, RunningDone)
 
 TEST_F (ResDBTest, TestPBFTService)
 
std::unique_ptr< ServiceNetwork > GenerateResDBServer (char *config_file, char *private_key_file, char *cert_file, std::unique_ptr< TransactionManager > executor, char *logging_dir, std::function< void(ResDBConfig *config)> config_handler)
 
template<typename ConsensusProtocol >
std::unique_ptr< ServiceNetwork > CustomGenerateResDBServer (char *config_file, char *private_key_file, char *cert_file, std::unique_ptr< TransactionManager > executor, char *logging_dir=nullptr, std::function< void(ResDBConfig *config)> config_handler=nullptr)
 
template<typename ConsensusProtocol >
std::unique_ptr< ServiceNetwork > CustomGenerateResDBServer (char *config_file, char *private_key_file, char *cert_file, std::unique_ptr< TransactionManager > executor, std::unique_ptr< CustomQuery > query_executor, std::function< void(ResDBConfig *config)> config_handler=nullptr)
 

Variables

std::map< TableName, std::string > table_names
 
std::map< MetricName, std::pair< TableName, std::string > > metric_names
 
std::mutex g_mutex
 
const std::string test_dir
 

Typedef Documentation

◆ ConfigGenFunc

typedef std::function<std::unique_ptr<ResDBConfig>( const ResConfigData& config_data, const ReplicaInfo& self_info, const KeyInfo& private_key, const CertificateInfo& public_key_cert_info)> resdb::ConfigGenFunc

Definition at line 34 of file resdb_config_utils.h.

Enumeration Type Documentation

◆ CollectorResultCode

Enumerator
INVALID 
OK 
STATE_CHANGED 

Definition at line 26 of file transaction_utils.h.

◆ MetricName

Enumerator
SERVER_CALL_NAME 
SERVER_PROCESS 
CLIENT_CALL 
CLIENT_REQ 
SOCKET_RECV 
BROAD_CAST 
PROPOSE 
PREPARE 
COMMIT 
EXECUTE 
NUM_EXECUTE_TX 

Definition at line 39 of file prometheus_handler.h.

◆ TableName

Enumerator
GENERAL 
WORKER_THREAD 
IO_THREAD 
CLIENT 
CONFIGURATION 
SERVER 
CONSENSUS 

Definition at line 29 of file prometheus_handler.h.

◆ TransactionStatue

Enumerator
None 
Prepare 
READY_PREPARE 
READY_COMMIT 
READY_EXECUTE 
EXECUTED 

Definition at line 31 of file transaction_collector.h.

◆ ViewChangeTimerType

Enumerator
TYPE_COMPLAINT 
TYPE_VIEWCHANGE 
TYPE_NEWVIEW 

Definition at line 34 of file viewchange_manager.h.

Function Documentation

◆ CustomGenerateResDBServer() [1/2]

template<typename ConsensusProtocol >
std::unique_ptr< ServiceNetwork > resdb::CustomGenerateResDBServer ( char *  config_file,
char *  private_key_file,
char *  cert_file,
std::unique_ptr< TransactionManager >  executor,
char *  logging_dir = nullptr,
std::function< void(ResDBConfig *config)>  config_handler = nullptr 
)

Definition at line 104 of file server_factory.h.

◆ CustomGenerateResDBServer() [2/2]

template<typename ConsensusProtocol >
std::unique_ptr< ServiceNetwork > resdb::CustomGenerateResDBServer ( char *  config_file,
char *  private_key_file,
char *  cert_file,
std::unique_ptr< TransactionManager >  executor,
std::unique_ptr< CustomQuery >  query_executor,
std::function< void(ResDBConfig *config)>  config_handler = nullptr 
)

Definition at line 114 of file server_factory.h.

◆ GenerateDBConfig()

ResDBConfig resdb::GenerateDBConfig ( )

Definition at line 36 of file service_network_test.cpp.

◆ GenerateReplicaInfo()

ReplicaInfo resdb::GenerateReplicaInfo ( int  id,
const std::string &  ip,
int  port 
)

Definition at line 85 of file resdb_config_utils.cpp.

◆ GenerateResDBConfig() [1/2]

ResDBConfig resdb::GenerateResDBConfig ( const std::string &  config_file)

Definition at line 152 of file resdb_config_utils.cpp.

◆ GenerateResDBConfig() [2/2]

std::unique_ptr< ResDBConfig > resdb::GenerateResDBConfig ( const std::string &  config_file,
const std::string &  private_key_file,
const std::string &  cert_file,
std::optional< ReplicaInfo >  self_info,
std::optional< ConfigGenFunc >  gen_func 
)

Definition at line 125 of file resdb_config_utils.cpp.

◆ GenerateResDBServer()

std::unique_ptr< ServiceNetwork > resdb::GenerateResDBServer ( char *  config_file,
char *  private_key_file,
char *  cert_file,
std::unique_ptr< TransactionManager >  executor,
char *  logging_dir,
std::function< void(ResDBConfig *config)>  config_handler 
)

Definition at line 39 of file server_factory.cpp.

◆ GetCurrentTime()

uint64_t resdb::GetCurrentTime ( )

Definition at line 36 of file utils.cpp.

◆ GetDNSName()

std::string resdb::GetDNSName ( const std::string &  ip,
int  port,
NetworkType  type 
)

Definition at line 24 of file network_utils.cpp.

◆ GetHash()

std::string resdb::GetHash ( const std::string &  h1,
const std::string &  h2 
)

Definition at line 64 of file checkpoint_manager.cpp.

◆ GetTcpUrl()

std::string resdb::GetTcpUrl ( const std::string &  ip,
int  port 
)

Definition at line 40 of file network_utils.cpp.

◆ NewRequest() [1/2]

std::unique_ptr< Request > resdb::NewRequest ( Request::Type  type,
const Request &  request,
int  sender_id 
)

Definition at line 24 of file transaction_utils.cpp.

◆ NewRequest() [2/2]

std::unique_ptr< Request > resdb::NewRequest ( Request::Type  type,
const Request &  request,
int  sender_id,
int  region_id 
)

Definition at line 32 of file transaction_utils.cpp.

◆ ReadConfig()

std::vector< ReplicaInfo > resdb::ReadConfig ( const std::string &  file_name)

Definition at line 108 of file resdb_config_utils.cpp.

◆ ReadConfigFromFile()

ResConfigData resdb::ReadConfigFromFile ( const std::string &  file_name)

Definition at line 93 of file resdb_config_utils.cpp.

◆ SendData()

void resdb::SendData ( const std::string &  data)

Definition at line 49 of file service_network_test.cpp.

◆ TEST() [1/6]

resdb::TEST ( NetworkUtilsTest  ,
GetDNSName   
)

Definition at line 30 of file network_utils_test.cpp.

◆ TEST() [2/6]

resdb::TEST ( NetworkUtilsTest  ,
GetTcpUrl   
)

Definition at line 39 of file network_utils_test.cpp.

◆ TEST() [3/6]

resdb::TEST ( ServiceNetworkTest  ,
RecvData   
)

Definition at line 57 of file service_network_test.cpp.

◆ TEST() [4/6]

resdb::TEST ( ServiceNetworkTest  ,
RunningDone   
)

Definition at line 93 of file service_network_test.cpp.

◆ TEST() [5/6]

resdb::TEST ( TcpSocket  ,
SendAfterClose   
)

Definition at line 73 of file tcp_socket_test.cpp.

◆ TEST() [6/6]

resdb::TEST ( TcpSocket  ,
SendAndRecv   
)

Definition at line 30 of file tcp_socket_test.cpp.

◆ TEST_F()

resdb::TEST_F ( ResDBTest  ,
TestPBFTService   
)

Definition at line 148 of file resdb_test.cpp.

Variable Documentation

◆ g_mutex

std::mutex resdb::g_mutex

Definition at line 28 of file stats.cpp.

◆ metric_names

std::map<MetricName, std::pair<TableName, std::string> > resdb::metric_names
Initial value:
= {
{SERVER_CALL_NAME, {SERVER, "server_call"}},
{SERVER_PROCESS, {SERVER, "server_process"}},
{CLIENT_CALL, {CLIENT, "client_call"}},
{CLIENT_REQ, {CLIENT, "client_req"}},
{SOCKET_RECV, {IO_THREAD, "socket_recv"}},
{BROAD_CAST, {IO_THREAD, "broad_cast"}},
{PROPOSE, {CONSENSUS, "propose"}},
{PREPARE, {CONSENSUS, "prepare"}},
{COMMIT, {CONSENSUS, "commit"}},
{EXECUTE, {CONSENSUS, "execute"}},
{NUM_EXECUTE_TX, {CONSENSUS, "num_execute_tx"}}}

Definition at line 35 of file prometheus_handler.cpp.

◆ table_names

std::map<TableName, std::string> resdb::table_names
Initial value:
= {
{GENERAL, "general"},
{WORKER_THREAD, "worker_thread"},
{IO_THREAD, "io_thread"},
{CLIENT, "client"},
{CONFIGURATION, "configuration"},
{SERVER, "server"},
{CONSENSUS, "consensus"}}

Definition at line 26 of file prometheus_handler.cpp.

◆ test_dir

const std::string resdb::test_dir
Initial value:
= std::string(getenv("TEST_SRCDIR")) + "/" +
std::string(getenv("TEST_WORKSPACE")) +
"/platform/test/"

Definition at line 38 of file resdb_test.cpp.