mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-15 17:41:45 +00:00
FairMQ: Introduce callbacks for the FairMQUnmanagedRegion.
Callbacks are called when the data buffer of the message assiciated with the corresponding region is no longer needed by the transport. Example in examples/advanced/Region/
This commit is contained in:
committed by
Mohammad Al-Turany
parent
378c47c5e5
commit
58a312b730
@@ -22,14 +22,13 @@
|
||||
|
||||
using namespace std;
|
||||
|
||||
string FairMQMessageNN::fDeviceID = string();
|
||||
FairMQ::Transport FairMQMessageNN::fTransportType = FairMQ::Transport::NN;
|
||||
|
||||
FairMQMessageNN::FairMQMessageNN()
|
||||
: fMessage(nullptr)
|
||||
, fSize(0)
|
||||
, fReceiving(false)
|
||||
, fRegion(false)
|
||||
, fRegionPtr(nullptr)
|
||||
{
|
||||
fMessage = nn_allocmsg(0, 0);
|
||||
if (!fMessage)
|
||||
@@ -42,7 +41,7 @@ FairMQMessageNN::FairMQMessageNN(const size_t size)
|
||||
: fMessage(nullptr)
|
||||
, fSize(0)
|
||||
, fReceiving(false)
|
||||
, fRegion(false)
|
||||
, fRegionPtr(nullptr)
|
||||
{
|
||||
fMessage = nn_allocmsg(size, 0);
|
||||
if (!fMessage)
|
||||
@@ -62,7 +61,7 @@ FairMQMessageNN::FairMQMessageNN(void* data, const size_t size, fairmq_free_fn*
|
||||
: fMessage(nullptr)
|
||||
, fSize(0)
|
||||
, fReceiving(false)
|
||||
, fRegion(false)
|
||||
, fRegionPtr(nullptr)
|
||||
{
|
||||
fMessage = nn_allocmsg(size, 0);
|
||||
if (!fMessage)
|
||||
@@ -84,11 +83,11 @@ FairMQMessageNN::FairMQMessageNN(void* data, const size_t size, fairmq_free_fn*
|
||||
}
|
||||
}
|
||||
|
||||
FairMQMessageNN::FairMQMessageNN(FairMQUnmanagedRegionPtr& /*region*/, void* data, const size_t size)
|
||||
FairMQMessageNN::FairMQMessageNN(FairMQUnmanagedRegionPtr& region, void* data, const size_t size)
|
||||
: fMessage(data)
|
||||
, fSize(size)
|
||||
, fReceiving(false)
|
||||
, fRegion(true)
|
||||
, fRegionPtr(region.get())
|
||||
{
|
||||
// currently nanomsg will copy the buffer (data) inside nn_sendmsg()
|
||||
}
|
||||
@@ -153,11 +152,6 @@ void FairMQMessageNN::SetMessage(void* data, const size_t size)
|
||||
fSize = size;
|
||||
}
|
||||
|
||||
void FairMQMessageNN::SetDeviceId(const string& deviceId)
|
||||
{
|
||||
fDeviceID = deviceId;
|
||||
}
|
||||
|
||||
FairMQ::Transport FairMQMessageNN::GetType() const
|
||||
{
|
||||
return fTransportType;
|
||||
|
Reference in New Issue
Block a user