9 #ifndef FAIRMQSOCKET_H_ 10 #define FAIRMQSOCKET_H_ 16 #include "FairMQMessage.h" 23 virtual std::string GetId() = 0;
25 virtual bool Bind(
const std::string& address) = 0;
26 virtual void Connect(
const std::string& address) = 0;
28 virtual int Send(FairMQMessagePtr& msg,
int timeout = 0) = 0;
29 virtual int Receive(FairMQMessagePtr& msg,
int timeout = 0) = 0;
30 virtual int64_t Send(std::vector<std::unique_ptr<FairMQMessage>>& msgVec,
int timeout = 0) = 0;
31 virtual int64_t Receive(std::vector<std::unique_ptr<FairMQMessage>>& msgVec,
int timeout = 0) = 0;
33 virtual int TrySend(FairMQMessagePtr& msg) = 0;
34 virtual int TryReceive(FairMQMessagePtr& msg) = 0;
35 virtual int64_t TrySend(std::vector<std::unique_ptr<FairMQMessage>>& msgVec) = 0;
36 virtual int64_t TryReceive(std::vector<std::unique_ptr<FairMQMessage>>& msgVec) = 0;
38 virtual void* GetSocket()
const = 0;
39 virtual int GetSocket(
int nothing)
const = 0;
41 virtual void Close() = 0;
43 virtual void SetOption(
const std::string& option,
const void* value,
size_t valueSize) = 0;
44 virtual void GetOption(
const std::string& option,
void* value,
size_t* valueSize) = 0;
46 virtual unsigned long GetBytesTx()
const = 0;
47 virtual unsigned long GetBytesRx()
const = 0;
48 virtual unsigned long GetMessagesTx()
const = 0;
49 virtual unsigned long GetMessagesRx()
const = 0;
51 virtual bool SetSendTimeout(
const int timeout,
const std::string& address,
const std::string& method) = 0;
52 virtual int GetSendTimeout()
const = 0;
53 virtual bool SetReceiveTimeout(
const int timeout,
const std::string& address,
const std::string& method) = 0;
54 virtual int GetReceiveTimeout()
const = 0;
59 using FairMQSocketPtr = std::unique_ptr<FairMQSocket>;
67 using SocketPtr = FairMQSocketPtr;
68 struct SocketError : std::runtime_error {
using std::runtime_error::runtime_error; };
Definition: FairMQSocket.h:68
Definition: FairMQSocket.h:18
Definition: DeviceRunner.h:23