Add FairMQ tests (PUB-SUB, PUSH-PULL, REQ-REP).

This commit is contained in:
Alexey Rybalchenko
2015-09-04 17:04:52 +02:00
committed by Mohammad Al-Turany
parent fbf7dbf2ba
commit f13bb5995d
40 changed files with 921 additions and 47 deletions

View File

@@ -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)
{

View File

@@ -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();

View File

@@ -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()

View File

@@ -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&);

View File

@@ -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_ */

View File

@@ -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);
}

View File

@@ -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() {};
};