8 #ifndef FAIR_MQ_SHMEM_SOCKET_H_ 9 #define FAIR_MQ_SHMEM_SOCKET_H_ 13 #include <FairMQSocket.h> 14 #include <FairMQMessage.h> 35 std::string GetId()
const override {
return fId; }
37 bool Bind(
const std::string& address)
override;
38 bool Connect(
const std::string& address)
override;
40 int Send(MessagePtr& msg,
const int timeout = -1)
override;
41 int Receive(MessagePtr& msg,
const int timeout = -1)
override;
42 int64_t Send(std::vector<MessagePtr>& msgVec,
const int timeout = -1)
override;
43 int64_t Receive(std::vector<MessagePtr>& msgVec,
const int timeout = -1)
override;
45 void* GetSocket()
const {
return fSocket; }
47 void Close()
override;
49 void SetOption(
const std::string& option,
const void* value,
size_t valueSize)
override;
50 void GetOption(
const std::string& option,
void* value,
size_t* valueSize)
override;
52 void SetLinger(
const int value)
override;
53 int GetLinger()
const override;
54 void SetSndBufSize(
const int value)
override;
55 int GetSndBufSize()
const override;
56 void SetRcvBufSize(
const int value)
override;
57 int GetRcvBufSize()
const override;
58 void SetSndKernelSize(
const int value)
override;
59 int GetSndKernelSize()
const override;
60 void SetRcvKernelSize(
const int value)
override;
61 int GetRcvKernelSize()
const override;
63 unsigned long GetBytesTx()
const override {
return fBytesTx; }
64 unsigned long GetBytesRx()
const override {
return fBytesRx; }
65 unsigned long GetMessagesTx()
const override {
return fMessagesTx; }
66 unsigned long GetMessagesRx()
const override {
return fMessagesRx; }
68 static int GetConstant(
const std::string& constant);
70 ~
Socket()
override { Close(); }
76 std::atomic<unsigned long> fBytesTx;
77 std::atomic<unsigned long> fBytesRx;
78 std::atomic<unsigned long> fMessagesTx;
79 std::atomic<unsigned long> fMessagesRx;
Definition: FairMQTransportFactory.h:30
Definition: FairMQSocket.h:19
Tools for interfacing containers to the transport via polymorphic allocators.
Definition: DeviceRunner.h:23