CppServer  1.0.0.0
C++ Server Library
subscribe_server.h
Go to the documentation of this file.
1 
9 #ifndef CPPSERVER_NANOMSG_SUBSCRIBE_SERVER_H
10 #define CPPSERVER_NANOMSG_SUBSCRIBE_SERVER_H
11 
12 #include "server.h"
13 
14 namespace CppServer {
15 namespace Nanomsg {
16 
18 
27 class SubscribeServer : public Server
28 {
29 public:
31 
34  explicit SubscribeServer(const std::string& address)
35  : Server(CppServer::Nanomsg::Domain::Std, CppServer::Nanomsg::Protocol::Publisher, address, false)
36  {}
37  SubscribeServer(const SubscribeServer&) = delete;
38  SubscribeServer(SubscribeServer&&) = default;
39  virtual ~SubscribeServer() = default;
40 
41  SubscribeServer& operator=(const SubscribeServer&) = delete;
43 
44 private:
45  using Server::Receive;
46  using Server::TryReceive;
49  using Server::onIdle;
50  using Server::onReceived;
51 };
52 
55 } // namespace Nanomsg
56 } // namespace CppServer
57 
58 #endif // CPPSERVER_NANOMSG_SUBSCRIBE_SERVER_H
Nanomsg server.
Definition: server.h:29
size_t TryReceive(Message &message)
Try to receive a message from the client in non-blocking mode.
Definition: server.cpp:211
Distribute messages to multiple destinations. Receive operation is not defined.
SubscribeServer(const std::string &address)
Initialize server with a given endpoint address.
C++ Server project definitions.
Definition: asio.h:24
virtual void onThreadCleanup()
Cleanup thread handler.
Definition: server.h:133
virtual void onIdle()
Handle server idle notification.
Definition: server.h:141
virtual void onThreadInitialize()
Initialize thread handler.
Definition: server.h:128
Nanomsg server definition.
virtual void onReceived(Message &message)
Handle message received notification.
Definition: server.h:147
SubscribeServer & operator=(const SubscribeServer &)=delete
Protocol
Nanomsg protocol.
Definition: nanomsg.h:56
Domain
Nanomsg domain.
Definition: nanomsg.h:41
size_t Receive(Message &message)
Receive a message from the client.
Definition: server.cpp:189
Nanomsg subscribe server.
Standard full-blown socket.