mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-15 17:41:45 +00:00
use factory for sockets
This commit is contained in:
@@ -8,42 +8,34 @@
|
||||
#ifndef FAIRMQSOCKET_H_
|
||||
#define FAIRMQSOCKET_H_
|
||||
|
||||
#include <zmq.h>
|
||||
#include <string>
|
||||
#include "FairMQContext.h"
|
||||
#include "FairMQMessage.h"
|
||||
#include "Rtypes.h"
|
||||
#include "TString.h"
|
||||
#include "FairMQMessageZMQ.h"
|
||||
|
||||
|
||||
class FairMQSocket
|
||||
{
|
||||
public:
|
||||
FairMQSocket(FairMQContext* context, int type, int num);
|
||||
virtual ~FairMQSocket();
|
||||
TString GetId();
|
||||
static TString GetTypeString(int type);
|
||||
size_t Send(FairMQMessage* msg);
|
||||
size_t Receive(FairMQMessage* msg);
|
||||
void Close();
|
||||
void Bind(TString address);
|
||||
void Connect(TString address);
|
||||
void* GetSocket();
|
||||
virtual std::string GetId() = 0;
|
||||
|
||||
void SetOption(int option, const void* value, size_t valueSize);
|
||||
virtual void Bind(std::string address) = 0;
|
||||
virtual void Connect(std::string address) = 0;
|
||||
|
||||
ULong_t GetBytesTx();
|
||||
ULong_t GetBytesRx();
|
||||
ULong_t GetMessagesTx();
|
||||
ULong_t GetMessagesRx();
|
||||
virtual size_t Send(FairMQMessage* msg) = 0;
|
||||
virtual size_t Receive(FairMQMessage* msg) = 0;
|
||||
|
||||
private:
|
||||
void* fSocket;
|
||||
TString fId;
|
||||
ULong_t fBytesTx;
|
||||
ULong_t fBytesRx;
|
||||
ULong_t fMessagesTx;
|
||||
ULong_t fMessagesRx;
|
||||
virtual void Close() = 0;
|
||||
virtual void* GetSocket() = 0;
|
||||
|
||||
virtual void SetOption(int option, const void* value, size_t valueSize) = 0;
|
||||
|
||||
virtual unsigned long GetBytesTx() = 0;
|
||||
virtual unsigned long GetBytesRx() = 0;
|
||||
virtual unsigned long GetMessagesTx() = 0;
|
||||
virtual unsigned long GetMessagesRx() = 0;
|
||||
|
||||
virtual ~FairMQSocket() {};
|
||||
};
|
||||
|
||||
#endif /* FAIRMQSOCKET_H_ */
|
||||
|
Reference in New Issue
Block a user