CppServer
1.0.0.0
C++ Server Library
|
#include <pair_client.h>
Public Member Functions | |
PairClient (const std::string &address, bool threading=true) | |
Initialize client with a given endpoint address. More... | |
PairClient (const PairClient &)=delete | |
PairClient (PairClient &&)=default | |
virtual | ~PairClient ()=default |
PairClient & | operator= (const PairClient &)=delete |
PairClient & | operator= (PairClient &&)=default |
![]() | |
Client (Domain domain, Protocol protocol, const std::string &address, bool threading=true) | |
Initialize client with a given domain, protocol and endpoint address. More... | |
Client (const Client &)=delete | |
Client (Client &&)=default | |
virtual | ~Client () |
Client & | operator= (const Client &)=delete |
Client & | operator= (Client &&)=default |
Socket & | socket () noexcept |
Get the Nanomsg socket. More... | |
bool | IsConnected () const noexcept |
Is the client connected? More... | |
bool | Connect () |
Connect the client. More... | |
bool | Disconnect () |
Disconnect the client. More... | |
bool | Reconnect () |
Reconnect the client. More... | |
size_t | Send (const void *buffer, size_t size) |
Send data to the server. More... | |
size_t | Send (const std::string &text) |
Send a text string to the server. More... | |
size_t | Send (const Message &message) |
Send a message to the server. More... | |
size_t | TrySend (const void *buffer, size_t size) |
Try to send data to the server in non-blocking mode. More... | |
size_t | TrySend (const std::string &text) |
Try to send a text string to the server in non-blocking mode. More... | |
size_t | TrySend (const Message &message) |
Try to send a message to the server in non-blocking mode. More... | |
size_t | Receive (Message &message) |
Receive a message from the server. More... | |
size_t | TryReceive (Message &message) |
Try to receive a message from the server in non-blocking mode. More... | |
Additional Inherited Members | |
![]() | |
virtual void | onThreadInitialize () |
Initialize thread handler. More... | |
virtual void | onThreadCleanup () |
Cleanup thread handler. More... | |
virtual void | onConnected () |
Handle client connected notification. More... | |
virtual void | onDisconnected () |
Handle client disconnected notification. More... | |
virtual void | onIdle () |
Handle client idle notification. More... | |
virtual void | onReceived (Message &message) |
Handle message received notification. More... | |
virtual void | onError (int error, const std::string &message) |
Handle error notification. More... | |
Nanomsg pair client.
Nanomsg pair client is used to perform a duplex communication with the Nanomsg pair server.
Pair protocol is the simplest and least scalable scalability protocol. It allows scaling by breaking the application in exactly two pieces. For example, if a monolithic application handles both accounting and agenda of HR department, it can be split into two applications (accounting vs. HR) that are run on two separate servers. These applications can then communicate via PAIR sockets.
The downside of this protocol is that its scaling properties are very limited. Splitting the application into two pieces allows to scale the two servers. To add the third server to the cluster, the application has to be split once more, say by separating HR functionality into hiring module and salary computation module. Whenever possible, try to use one of the more scalable protocols instead.
Thread-safe.
Definition at line 37 of file pair_client.h.
|
inlineexplicit |
Initialize client with a given endpoint address.
address | - Endpoint address |
threading | - Run the client in a separate thread (default is true) |
Definition at line 45 of file pair_client.h.
|
delete |
|
default |
|
virtualdefault |
|
delete |
|
default |