mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-17 10:31:46 +00:00
Add FairMQ tests (PUB-SUB, PUSH-PULL, REQ-REP).
This commit is contained in:
committed by
Mohammad Al-Turany
parent
fbf7dbf2ba
commit
f13bb5995d
@@ -137,6 +137,29 @@ void FairMQMessageNN::SetMessage(void* data, size_t size)
|
||||
}
|
||||
|
||||
void FairMQMessageNN::Copy(FairMQMessage* msg)
|
||||
{
|
||||
// DEPRECATED: Use Copy(const unique_ptr<FairMQMessage>&)
|
||||
|
||||
if (fMessage)
|
||||
{
|
||||
if (nn_freemsg(fMessage) < 0)
|
||||
{
|
||||
LOG(ERROR) << "failed freeing message, reason: " << nn_strerror(errno);
|
||||
}
|
||||
}
|
||||
|
||||
size_t size = msg->GetSize();
|
||||
|
||||
fMessage = nn_allocmsg(size, 0);
|
||||
if (!fMessage)
|
||||
{
|
||||
LOG(ERROR) << "failed allocating message, reason: " << nn_strerror(errno);
|
||||
}
|
||||
memcpy(fMessage, msg->GetMessage(), size);
|
||||
fSize = size;
|
||||
}
|
||||
|
||||
void FairMQMessageNN::Copy(const unique_ptr<FairMQMessage>& msg)
|
||||
{
|
||||
if (fMessage)
|
||||
{
|
||||
|
@@ -38,6 +38,7 @@ class FairMQMessageNN : public FairMQMessage
|
||||
|
||||
virtual void CloseMessage() {};
|
||||
virtual void Copy(FairMQMessage* msg);
|
||||
virtual void Copy(const std::unique_ptr<FairMQMessage>& msg);
|
||||
|
||||
virtual ~FairMQMessageNN();
|
||||
|
||||
|
@@ -40,7 +40,7 @@ FairMQPollerNN::FairMQPollerNN(const vector<FairMQChannel>& channels)
|
||||
}
|
||||
}
|
||||
|
||||
FairMQPollerNN::FairMQPollerNN(map< string,vector<FairMQChannel> >& channelsMap, initializer_list<string> channelList)
|
||||
FairMQPollerNN::FairMQPollerNN(map<string, vector<FairMQChannel>>& channelsMap, initializer_list<string> channelList)
|
||||
: items()
|
||||
, fNumItems(0)
|
||||
, fOffsetMap()
|
||||
@@ -78,7 +78,7 @@ FairMQPollerNN::FairMQPollerNN(map< string,vector<FairMQChannel> >& channelsMap,
|
||||
}
|
||||
}
|
||||
|
||||
FairMQPollerNN::FairMQPollerNN(FairMQSocket& dataSocket, FairMQSocket& cmdSocket)
|
||||
FairMQPollerNN::FairMQPollerNN(FairMQSocket& cmdSocket, FairMQSocket& dataSocket)
|
||||
: items()
|
||||
, fNumItems(2)
|
||||
, fOffsetMap()
|
||||
|
@@ -32,7 +32,7 @@ class FairMQPollerNN : public FairMQPoller
|
||||
|
||||
public:
|
||||
FairMQPollerNN(const std::vector<FairMQChannel>& channels);
|
||||
FairMQPollerNN(std::map< std::string,std::vector<FairMQChannel> >& channelsMap, std::initializer_list<std::string> channelList);
|
||||
FairMQPollerNN(std::map<std::string, std::vector<FairMQChannel>>& channelsMap, std::initializer_list<std::string> channelList);
|
||||
|
||||
virtual void Poll(const int timeout);
|
||||
virtual bool CheckInput(const int index);
|
||||
@@ -43,12 +43,12 @@ class FairMQPollerNN : public FairMQPoller
|
||||
virtual ~FairMQPollerNN();
|
||||
|
||||
private:
|
||||
FairMQPollerNN(FairMQSocket& dataSocket, FairMQSocket& cmdSocket);
|
||||
FairMQPollerNN(FairMQSocket& cmdSocket, FairMQSocket& dataSocket);
|
||||
|
||||
nn_pollfd* items;
|
||||
int fNumItems;
|
||||
|
||||
std::unordered_map<std::string,int> fOffsetMap;
|
||||
std::unordered_map<std::string, int> fOffsetMap;
|
||||
|
||||
/// Copy Constructor
|
||||
FairMQPollerNN(const FairMQPollerNN&);
|
||||
|
@@ -62,6 +62,10 @@ class FairMQSocketNN : public FairMQSocket
|
||||
unsigned long fBytesRx;
|
||||
unsigned long fMessagesTx;
|
||||
unsigned long fMessagesRx;
|
||||
|
||||
/// Copy Constructor
|
||||
FairMQSocketNN(const FairMQSocketNN&);
|
||||
FairMQSocketNN operator=(const FairMQSocketNN&);
|
||||
};
|
||||
|
||||
#endif /* FAIRMQSOCKETNN_H_ */
|
||||
|
@@ -46,12 +46,12 @@ FairMQPoller* FairMQTransportFactoryNN::CreatePoller(const vector<FairMQChannel>
|
||||
return new FairMQPollerNN(channels);
|
||||
}
|
||||
|
||||
FairMQPoller* FairMQTransportFactoryNN::CreatePoller(std::map< std::string,std::vector<FairMQChannel> >& channelsMap, std::initializer_list<std::string> channelList)
|
||||
FairMQPoller* FairMQTransportFactoryNN::CreatePoller(std::map<std::string, std::vector<FairMQChannel>>& channelsMap, std::initializer_list<std::string> channelList)
|
||||
{
|
||||
return new FairMQPollerNN(channelsMap, channelList);
|
||||
}
|
||||
|
||||
FairMQPoller* FairMQTransportFactoryNN::CreatePoller(FairMQSocket& dataSocket, FairMQSocket& cmdSocket)
|
||||
FairMQPoller* FairMQTransportFactoryNN::CreatePoller(FairMQSocket& cmdSocket, FairMQSocket& dataSocket)
|
||||
{
|
||||
return new FairMQPollerNN(dataSocket, cmdSocket);
|
||||
return new FairMQPollerNN(cmdSocket, dataSocket);
|
||||
}
|
||||
|
@@ -34,8 +34,8 @@ class FairMQTransportFactoryNN : public FairMQTransportFactory
|
||||
virtual FairMQSocket* CreateSocket(const std::string& type, const std::string& name, int numIoThreads);
|
||||
|
||||
virtual FairMQPoller* CreatePoller(const std::vector<FairMQChannel>& channels);
|
||||
virtual FairMQPoller* CreatePoller(std::map< std::string,std::vector<FairMQChannel> >& channelsMap, std::initializer_list<std::string> channelList);
|
||||
virtual FairMQPoller* CreatePoller(FairMQSocket& dataSocket, FairMQSocket& cmdSocket);
|
||||
virtual FairMQPoller* CreatePoller(std::map<std::string, std::vector<FairMQChannel>>& channelsMap, std::initializer_list<std::string> channelList);
|
||||
virtual FairMQPoller* CreatePoller(FairMQSocket& cmdSocket, FairMQSocket& dataSocket);
|
||||
|
||||
virtual ~FairMQTransportFactoryNN() {};
|
||||
};
|
||||
|
Reference in New Issue
Block a user