salsa 0.7.1
Loading...
Searching...
No Matches
SocketZyre.hh
1#pragma once
2
3#include <zyre.h>
4
5#include "Node.hh"
6#include "Socket.hh"
7
8namespace Salsa {
17
18class SocketZyre : public Socket {
19public:
20 SocketZyre(std::string name = "no_name", std::map<std::string, std::string> headers = {});
21 virtual ~SocketZyre();
22
23 virtual int connect() final;
24 virtual int disconnect() final;
25
26 virtual Message * pull();
27 virtual int push(Message *);
29 int push(std::string, std::string);
30
32 void port(int newPort)
33 {
34 mPort = newPort;
35 zyre_set_port(mpSocket, newPort);
36 }
37
39 int port() const { return mPort; }
40
42 virtual zyre_t * zyre() const { return mpSocket; }
43
45 virtual zsock_t * socket() const { return zyre_socket(mpSocket); }
47 std::string header(const char * pKey) const { return mHeaders.find(pKey)->second; }
48
49private:
50 zyre_t * mpSocket = nullptr;
51 int mPort = 0;
52 std::map<std::string, std::string> mHeaders = {};
53};
54
55} // namespace Salsa
Base Message class.
Definition Message.hh:15
int mPort
Port for Zyre.
Definition SocketZyre.hh:51
zyre_t * mpSocket
Zyre instance.
Definition SocketZyre.hh:50
virtual int push(Message *)
Push message.
Definition SocketZyre.cc:66
SocketZyre(std::string name="no_name", std::map< std::string, std::string > headers={})
Definition SocketZyre.cc:5
virtual Message * pull()
Pull message.
Definition SocketZyre.cc:56
virtual int disconnect() final
Disconnect function.
Definition SocketZyre.cc:43
virtual zyre_t * zyre() const
Returns zyre pointer.
Definition SocketZyre.hh:42
virtual int connect() final
Connect function.
Definition SocketZyre.cc:33
std::string header(const char *pKey) const
Returns value for key from header.
Definition SocketZyre.hh:47
void port(int newPort)
Set zyre port.
Definition SocketZyre.hh:32
std::map< std::string, std::string > mHeaders
List of headers.
Definition SocketZyre.hh:52
int port() const
Get zyre port.
Definition SocketZyre.hh:39
virtual ~SocketZyre()
Definition SocketZyre.cc:22
virtual zsock_t * socket() const
Returns zyre socket pointer.
Definition SocketZyre.hh:45