Loading...
Searching...
No Matches
resdb::ReplicaCommunicator Class Reference

#include <replica_communicator.h>

Inheritance diagram for resdb::ReplicaCommunicator:
resdb::MockReplicaCommunicator resdb::MockReplicaCommunicator

Public Member Functions

 ReplicaCommunicator (const std::vector< ReplicaInfo > &replicas, SignatureVerifier *verifier=nullptr, bool is_use_long_conn=false, int epoll_num=1, int tcp_batch=100)
 
virtual ~ReplicaCommunicator ()
 
virtual int SendHeartBeat (const Request &hb_info)
 
virtual int SendMessage (const google::protobuf::Message &message)
 
virtual int SendMessage (const google::protobuf::Message &message, const ReplicaInfo &replica_info)
 
virtual void BroadCast (const google::protobuf::Message &message)
 
virtual void SendMessage (const google::protobuf::Message &message, int64_t node_id)
 
virtual int SendBatchMessage (const std::vector< std::unique_ptr< Request > > &messages, const ReplicaInfo &replica_info)
 
void UpdateClientReplicas (const std::vector< ReplicaInfo > &replicas)
 
std::vector< ReplicaInfo > GetClientReplicas ()
 

Protected Member Functions

virtual std::unique_ptr< NetChannel > GetClient (const std::string &ip, int port)
 
virtual AsyncReplicaClient * GetClientFromPool (const std::string &ip, int port)
 
void StartBroadcastInBackGround ()
 
int SendMessageInternal (const google::protobuf::Message &message, const std::vector< ReplicaInfo > &replicas)
 
int SendMessageFromPool (const google::protobuf::Message &message, const std::vector< ReplicaInfo > &replicas)
 
bool IsRunning () const
 
bool IsInPool (const ReplicaInfo &replica_info)
 

Detailed Description

Definition at line 35 of file replica_communicator.h.

Constructor & Destructor Documentation

◆ ReplicaCommunicator()

resdb::ReplicaCommunicator::ReplicaCommunicator ( const std::vector< ReplicaInfo > &  replicas,
SignatureVerifier *  verifier = nullptr,
bool  is_use_long_conn = false,
int  epoll_num = 1,
int  tcp_batch = 100 
)

Definition at line 30 of file replica_communicator.cpp.

◆ ~ReplicaCommunicator()

resdb::ReplicaCommunicator::~ReplicaCommunicator ( )
virtual

Definition at line 59 of file replica_communicator.cpp.

Member Function Documentation

◆ BroadCast()

void resdb::ReplicaCommunicator::BroadCast ( const google::protobuf::Message &  message)
virtual

Definition at line 234 of file replica_communicator.cpp.

◆ GetClient()

std::unique_ptr< NetChannel > resdb::ReplicaCommunicator::GetClient ( const std::string &  ip,
int  port 
)
protectedvirtual

Definition at line 229 of file replica_communicator.cpp.

◆ GetClientFromPool()

AsyncReplicaClient * resdb::ReplicaCommunicator::GetClientFromPool ( const std::string &  ip,
int  port 
)
protectedvirtual

Definition at line 219 of file replica_communicator.cpp.

◆ GetClientReplicas()

std::vector< ReplicaInfo > resdb::ReplicaCommunicator::GetClientReplicas ( )

Definition at line 96 of file replica_communicator.cpp.

◆ IsInPool()

bool resdb::ReplicaCommunicator::IsInPool ( const ReplicaInfo &  replica_info)
protected

Definition at line 79 of file replica_communicator.cpp.

◆ IsRunning()

bool resdb::ReplicaCommunicator::IsRunning ( ) const
protected

Definition at line 89 of file replica_communicator.cpp.

◆ SendBatchMessage()

int resdb::ReplicaCommunicator::SendBatchMessage ( const std::vector< std::unique_ptr< Request > > &  messages,
const ReplicaInfo &  replica_info 
)
virtual

Definition at line 159 of file replica_communicator.cpp.

◆ SendHeartBeat()

int resdb::ReplicaCommunicator::SendHeartBeat ( const Request &  hb_info)
virtual

Definition at line 100 of file replica_communicator.cpp.

◆ SendMessage() [1/3]

int resdb::ReplicaCommunicator::SendMessage ( const google::protobuf::Message &  message)
virtual

Definition at line 134 of file replica_communicator.cpp.

◆ SendMessage() [2/3]

int resdb::ReplicaCommunicator::SendMessage ( const google::protobuf::Message &  message,
const ReplicaInfo &  replica_info 
)
virtual

Definition at line 147 of file replica_communicator.cpp.

◆ SendMessage() [3/3]

void resdb::ReplicaCommunicator::SendMessage ( const google::protobuf::Message &  message,
int64_t  node_id 
)
virtual

Definition at line 241 of file replica_communicator.cpp.

◆ SendMessageFromPool()

int resdb::ReplicaCommunicator::SendMessageFromPool ( const google::protobuf::Message &  message,
const std::vector< ReplicaInfo > &  replicas 
)
protected

Definition at line 178 of file replica_communicator.cpp.

◆ SendMessageInternal()

int resdb::ReplicaCommunicator::SendMessageInternal ( const google::protobuf::Message &  message,
const std::vector< ReplicaInfo > &  replicas 
)
protected

Definition at line 200 of file replica_communicator.cpp.

◆ StartBroadcastInBackGround()

void resdb::ReplicaCommunicator::StartBroadcastInBackGround ( )
protected

Definition at line 111 of file replica_communicator.cpp.

◆ UpdateClientReplicas()

void resdb::ReplicaCommunicator::UpdateClientReplicas ( const std::vector< ReplicaInfo > &  replicas)

Definition at line 91 of file replica_communicator.cpp.