mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-15 17:41:45 +00:00
FairMQRegion and examples/advanced/Region
This commit is contained in:
committed by
Mohammad Al-Turany
parent
65f1b96dc3
commit
221d2567f0
@@ -11,7 +11,9 @@
|
||||
|
||||
#include "FairMQSocketSHM.h"
|
||||
#include "FairMQMessageSHM.h"
|
||||
#include "FairMQRegionSHM.h"
|
||||
#include "FairMQLogger.h"
|
||||
#include "FairMQShmCommon.h"
|
||||
|
||||
using namespace std;
|
||||
using namespace fair::mq::shmem;
|
||||
@@ -173,24 +175,22 @@ int FairMQSocketSHM::Receive(FairMQMessagePtr& msg, const int flags)
|
||||
// ShPtrOwner* owner = Manager::Instance().Segment()->find<ShPtrOwner>(ownerID.c_str()).first;
|
||||
MetaHeader* hdr = static_cast<MetaHeader*>(zmq_msg_data(msgPtr));
|
||||
size_t size = 0;
|
||||
if (hdr->fHandle)
|
||||
{
|
||||
static_cast<FairMQMessageSHM*>(msg.get())->fHandle = hdr->fHandle;
|
||||
static_cast<FairMQMessageSHM*>(msg.get())->fChunkSize = hdr->fSize;
|
||||
// static_cast<FairMQMessageSHM*>(msg.get())->fOwner = owner;
|
||||
// static_cast<FairMQMessageSHM*>(msg.get())->fReceiving = true;
|
||||
size = msg->GetSize();
|
||||
static_cast<FairMQMessageSHM*>(msg.get())->fHandle = hdr->fHandle;
|
||||
static_cast<FairMQMessageSHM*>(msg.get())->fSize = hdr->fSize;
|
||||
static_cast<FairMQMessageSHM*>(msg.get())->fRegionId = hdr->fRegionId;
|
||||
// static_cast<FairMQMessageSHM*>(msg.get())->fOwner = owner;
|
||||
// static_cast<FairMQMessageSHM*>(msg.get())->fReceiving = true;
|
||||
size = msg->GetSize();
|
||||
|
||||
fBytesRx += size;
|
||||
++fMessagesRx;
|
||||
fBytesRx += size;
|
||||
++fMessagesRx;
|
||||
|
||||
return size;
|
||||
}
|
||||
else
|
||||
{
|
||||
LOG(ERROR) << "Received meta data, but could not find corresponding chunk";
|
||||
return -1;
|
||||
}
|
||||
return size;
|
||||
// else
|
||||
// {
|
||||
// LOG(ERROR) << "Received meta data, but could not find corresponding chunk";
|
||||
// return -1;
|
||||
// }
|
||||
}
|
||||
else if (zmq_errno() == EAGAIN)
|
||||
{
|
||||
@@ -238,7 +238,6 @@ int64_t FairMQSocketSHM::Send(vector<FairMQMessagePtr>& msgVec, const int flags)
|
||||
{
|
||||
static_cast<FairMQMessageSHM*>(msgVec[i].get())->fQueued = true;
|
||||
// static_cast<FairMQMessageSHM*>(msgVec[i].get())->fReceiving = false;
|
||||
// static_cast<FairMQMessageSHM*>(msgVec[i].get())->fQueued = true;
|
||||
size_t size = msgVec[i]->GetSize();
|
||||
|
||||
totalSize += size;
|
||||
@@ -327,23 +326,21 @@ int64_t FairMQSocketSHM::Receive(vector<FairMQMessagePtr>& msgVec, const int fla
|
||||
// ShPtrOwner* owner = Manager::Instance().Segment()->find<ShPtrOwner>(ownerID.c_str()).first;
|
||||
MetaHeader* hdr = static_cast<MetaHeader*>(zmq_msg_data(msgPtr));
|
||||
size_t size = 0;
|
||||
if (hdr->fHandle)
|
||||
{
|
||||
static_cast<FairMQMessageSHM*>(part.get())->fHandle = hdr->fHandle;
|
||||
static_cast<FairMQMessageSHM*>(part.get())->fChunkSize = hdr->fSize;
|
||||
// static_cast<FairMQMessageSHM*>(msg.get())->fOwner = owner;
|
||||
// static_cast<FairMQMessageSHM*>(msg.get())->fReceiving = true;
|
||||
size = part->GetSize();
|
||||
static_cast<FairMQMessageSHM*>(part.get())->fHandle = hdr->fHandle;
|
||||
static_cast<FairMQMessageSHM*>(part.get())->fSize = hdr->fSize;
|
||||
static_cast<FairMQMessageSHM*>(part.get())->fRegionId = hdr->fRegionId;
|
||||
// static_cast<FairMQMessageSHM*>(part.get())->fOwner = owner;
|
||||
// static_cast<FairMQMessageSHM*>(part.get())->fReceiving = true;
|
||||
size = part->GetSize();
|
||||
|
||||
msgVec.push_back(move(part));
|
||||
msgVec.push_back(move(part));
|
||||
|
||||
totalSize += size;
|
||||
}
|
||||
else
|
||||
{
|
||||
LOG(ERROR) << "Received meta data, but could not find corresponding chunk";
|
||||
return -1;
|
||||
}
|
||||
totalSize += size;
|
||||
// else
|
||||
// {
|
||||
// LOG(ERROR) << "Received meta data, but could not find corresponding chunk";
|
||||
// return -1;
|
||||
// }
|
||||
}
|
||||
else if (zmq_errno() == EAGAIN)
|
||||
{
|
||||
@@ -399,12 +396,14 @@ void FairMQSocketSHM::Close()
|
||||
void FairMQSocketSHM::Interrupt()
|
||||
{
|
||||
FairMQMessageSHM::fInterrupted = true;
|
||||
FairMQRegionSHM::fInterrupted = true;
|
||||
fInterrupted = true;
|
||||
}
|
||||
|
||||
void FairMQSocketSHM::Resume()
|
||||
{
|
||||
FairMQMessageSHM::fInterrupted = false;
|
||||
FairMQRegionSHM::fInterrupted = true;
|
||||
fInterrupted = false;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user