FairMQRegion and examples/advanced/Region

This commit is contained in:
Alexey Rybalchenko
2017-06-02 13:50:13 +02:00
committed by Mohammad Al-Turany
parent 65f1b96dc3
commit 221d2567f0
32 changed files with 843 additions and 156 deletions

View File

@@ -18,6 +18,7 @@
#include "FairMQChannel.h"
#include "FairMQMessage.h"
#include "FairMQParts.h"
#include "FairMQRegion.h"
#include <vector>
#include <memory> // unique_ptr
@@ -242,6 +243,16 @@ class FairMQDevice : public FairMQStateMachine, public FairMQConfigurable
return fChannels.at(channel).at(index).NewSimpleMessage(data);
}
FairMQRegionPtr NewRegion(const size_t size)
{
return Transport()->CreateRegion(size);
}
FairMQRegionPtr NewRegionFor(const std::string& channel, int index, const size_t size)
{
return fChannels.at(channel).at(index).Transport()->CreateRegion(size);
}
template<typename ...Ts>
FairMQPollerPtr NewPoller(const Ts&... inputs)
{
@@ -272,7 +283,7 @@ class FairMQDevice : public FairMQStateMachine, public FairMQConfigurable
{
FairMQ::Transport type = channels.at(0)->Transport()->GetType();
for (int i = 1; i < channels.size(); ++i)
for (unsigned int i = 1; i < channels.size(); ++i)
{
if (type != channels.at(i)->Transport()->GetType())
{