#include <ZeroMQServer.hpp>


Public Member Functions | |
| ZeroMQServer (const std::string &hostAddr, std::shared_ptr< std::atomic_flag > checkFlag, const std::shared_ptr< prometheus::Registry > ®=nullptr, const std::string &prependName="") | |
| ZeroMQServer (const ZeroMQServer &)=delete | |
| Copy constructor. | |
| ZeroMQServer (ZeroMQServer &&)=delete | |
| Move constructor. | |
| ZeroMQServer & | operator= (ZeroMQServer)=delete |
| Copy assignment operator. | |
| ZeroMQServer & | operator= (ZeroMQServer &&)=delete |
| Move assignment operator. | |
| bool | initialise () |
| void | shutdown () |
| Closes the ZeroMQ Server. | |
| ~ZeroMQServer () override | |
| void | messageCallback (FPTR_MessageCallback func) |
| FPTR_MessageCallback | messageCallback () const |
Private Member Functions | |
| void | update () |
| Processes new messages. | |
| void | threadFunc (const std::stop_token &stopToken) noexcept |
| Main thread function. | |
Private Member Functions inherited from ZeroMQ | |
| ZeroMQ (const zmq::socket_type &type, const std::string &addr, bool isBind) | |
| ZeroMQ (const std::shared_ptr< zmq::context_t > &ctx, const zmq::socket_type &type, const std::string &addr, bool isBind) | |
| ZeroMQ (const ZeroMQ &)=delete | |
| Copy constructor. | |
| ZeroMQ (ZeroMQ &&)=delete | |
| Move constructor. | |
| ZeroMQ & | operator= (ZeroMQ)=delete |
| Copy assignment operator. | |
| ZeroMQ & | operator= (ZeroMQ &&)=delete |
| Move assignment operator. | |
| bool | start () |
| void | stop () |
| std::vector< zmq::message_t > | recvMessages () |
| size_t | sendMessages (std::vector< zmq::message_t > &msg) |
| const std::unique_ptr< zmq::socket_t > & | getSocket () const |
| const std::shared_ptr< zmq::context_t > & | getContext () const |
| const std::string & | getAddress () const |
| ~ZeroMQ () | |
Private Member Functions inherited from ZeroMQMonitor | |
| ZeroMQMonitor ()=default | |
| Constructor. | |
| ZeroMQMonitor (const ZeroMQMonitor &)=delete | |
| Copy constructor. | |
| ZeroMQMonitor (ZeroMQMonitor &&)=delete | |
| Move constructor. | |
| ZeroMQMonitor & | operator= (ZeroMQMonitor)=delete |
| Copy assignment operator. | |
| ZeroMQMonitor & | operator= (ZeroMQMonitor &&)=delete |
| Move assignment operator. | |
| void | startMonitoring (zmq::socket_t *socket, const std::string &monitorAddress) |
| int | getPeerCount () const |
| void | stopMonitoring () |
| void | testInternals () |
| ~ZeroMQMonitor () override | |
Private Attributes | |
| std::shared_ptr< std::atomic_flag > | _checkFlag |
| std::unique_ptr< ZeroMQStats > | _stats |
| FPTR_MessageCallback | _m_messageCallback |
| std::unique_ptr< std::jthread > | _serverThread |
Definition at line 11 of file ZeroMQServer.hpp.
| ZeroMQServer::ZeroMQServer | ( | const std::string & | hostAddr, |
| std::shared_ptr< std::atomic_flag > | checkFlag, | ||
| const std::shared_ptr< prometheus::Registry > & | reg = nullptr, | ||
| const std::string & | prependName = "" ) |
Constructor for server
| [in] | hostAddr | Host address to connect. Can be anything supported by ZeroMQ reply socket |
| [in] | checkFlag | Flag to check if the server is running |
| [in] | reg | Prometheus registry for stats |
| [in] | prependName | Prefix for Prometheus stats |
Definition at line 83 of file ZeroMQServer.cpp.


|
delete |
Copy constructor.

|
delete |
Move constructor.

|
inlineoverride |
Deconstructor for server
Definition at line 64 of file ZeroMQServer.hpp.

| bool ZeroMQServer::initialise | ( | ) |
Initializes a new ZeroMQ server
Definition at line 95 of file ZeroMQServer.cpp.

|
inlinenodiscard |
Gets the message callback function
Definition at line 76 of file ZeroMQServer.hpp.

|
inline |
Sets the message callback function
| [in] | func | The message callback function to be set |
Definition at line 70 of file ZeroMQServer.hpp.
|
delete |
Move assignment operator.

|
delete |
Copy assignment operator.

| void ZeroMQServer::shutdown | ( | ) |
Closes the ZeroMQ Server.
Definition at line 105 of file ZeroMQServer.cpp.


|
privatenoexcept |
Main thread function.
Definition at line 62 of file ZeroMQServer.cpp.


|
private |
Processes new messages.
Definition at line 27 of file ZeroMQServer.cpp.


|
private |
Definition at line 14 of file ZeroMQServer.hpp.
|
private |
Definition at line 18 of file ZeroMQServer.hpp.
|
private |
Definition at line 20 of file ZeroMQServer.hpp.
|
private |
Definition at line 16 of file ZeroMQServer.hpp.