mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-16 10:01:47 +00:00
FairMQ: shared memory unmanaged region updates:
- use same mapping for sender/receiver (created/remote) region. - rename FairMQRegion -> FairMQUnmanagedRegion.
This commit is contained in:
committed by
Mohammad Al-Turany
parent
f7d3a5e8ae
commit
0bb866ff36
@@ -50,7 +50,7 @@ FairMQMessageZMQ::FairMQMessageZMQ(void* data, const size_t size, fairmq_free_fn
|
||||
}
|
||||
}
|
||||
|
||||
FairMQMessageZMQ::FairMQMessageZMQ(FairMQRegionPtr& /*region*/, void* data, const size_t size)
|
||||
FairMQMessageZMQ::FairMQMessageZMQ(FairMQUnmanagedRegionPtr& /*region*/, void* data, const size_t size)
|
||||
: fMessage()
|
||||
{
|
||||
// FIXME: make this zero-copy:
|
||||
|
@@ -21,7 +21,7 @@
|
||||
#include <zmq.h>
|
||||
|
||||
#include "FairMQMessage.h"
|
||||
#include "FairMQRegion.h"
|
||||
#include "FairMQUnmanagedRegion.h"
|
||||
|
||||
class FairMQMessageZMQ : public FairMQMessage
|
||||
{
|
||||
@@ -29,7 +29,7 @@ class FairMQMessageZMQ : public FairMQMessage
|
||||
FairMQMessageZMQ();
|
||||
FairMQMessageZMQ(const size_t size);
|
||||
FairMQMessageZMQ(void* data, const size_t size, fairmq_free_fn* ffn, void* hint = nullptr);
|
||||
FairMQMessageZMQ(FairMQRegionPtr& region, void* data, const size_t size);
|
||||
FairMQMessageZMQ(FairMQUnmanagedRegionPtr& region, void* data, const size_t size);
|
||||
|
||||
virtual void Rebuild();
|
||||
virtual void Rebuild(const size_t size);
|
||||
|
@@ -64,7 +64,7 @@ FairMQMessagePtr FairMQTransportFactoryZMQ::CreateMessage(void* data, const size
|
||||
return unique_ptr<FairMQMessage>(new FairMQMessageZMQ(data, size, ffn, hint));
|
||||
}
|
||||
|
||||
FairMQMessagePtr FairMQTransportFactoryZMQ::CreateMessage(FairMQRegionPtr& region, void* data, const size_t size) const
|
||||
FairMQMessagePtr FairMQTransportFactoryZMQ::CreateMessage(FairMQUnmanagedRegionPtr& region, void* data, const size_t size) const
|
||||
{
|
||||
return unique_ptr<FairMQMessage>(new FairMQMessageZMQ(region, data, size));
|
||||
}
|
||||
@@ -95,9 +95,9 @@ FairMQPollerPtr FairMQTransportFactoryZMQ::CreatePoller(const FairMQSocket& cmdS
|
||||
return unique_ptr<FairMQPoller>(new FairMQPollerZMQ(cmdSocket, dataSocket));
|
||||
}
|
||||
|
||||
FairMQRegionPtr FairMQTransportFactoryZMQ::CreateRegion(const size_t size) const
|
||||
FairMQUnmanagedRegionPtr FairMQTransportFactoryZMQ::CreateUnmanagedRegion(const size_t size) const
|
||||
{
|
||||
return unique_ptr<FairMQRegion>(new FairMQRegionZMQ(size));
|
||||
return unique_ptr<FairMQUnmanagedRegion>(new FairMQUnmanagedRegionZMQ(size));
|
||||
}
|
||||
|
||||
FairMQ::Transport FairMQTransportFactoryZMQ::GetType() const
|
||||
|
@@ -22,7 +22,7 @@
|
||||
#include "FairMQMessageZMQ.h"
|
||||
#include "FairMQSocketZMQ.h"
|
||||
#include "FairMQPollerZMQ.h"
|
||||
#include "FairMQRegionZMQ.h"
|
||||
#include "FairMQUnmanagedRegionZMQ.h"
|
||||
#include <options/FairMQProgOptions.h>
|
||||
|
||||
class FairMQTransportFactoryZMQ : public FairMQTransportFactory
|
||||
@@ -37,7 +37,7 @@ class FairMQTransportFactoryZMQ : public FairMQTransportFactory
|
||||
FairMQMessagePtr CreateMessage() const override;
|
||||
FairMQMessagePtr CreateMessage(const size_t size) const override;
|
||||
FairMQMessagePtr CreateMessage(void* data, const size_t size, fairmq_free_fn* ffn, void* hint = nullptr) const override;
|
||||
FairMQMessagePtr CreateMessage(FairMQRegionPtr& region, void* data, const size_t size) const override;
|
||||
FairMQMessagePtr CreateMessage(FairMQUnmanagedRegionPtr& region, void* data, const size_t size) const override;
|
||||
|
||||
FairMQSocketPtr CreateSocket(const std::string& type, const std::string& name) const override;
|
||||
|
||||
@@ -46,7 +46,7 @@ class FairMQTransportFactoryZMQ : public FairMQTransportFactory
|
||||
FairMQPollerPtr CreatePoller(const std::unordered_map<std::string, std::vector<FairMQChannel>>& channelsMap, const std::vector<std::string>& channelList) const override;
|
||||
FairMQPollerPtr CreatePoller(const FairMQSocket& cmdSocket, const FairMQSocket& dataSocket) const override;
|
||||
|
||||
FairMQRegionPtr CreateRegion(const size_t size) const override;
|
||||
FairMQUnmanagedRegionPtr CreateUnmanagedRegion(const size_t size) const override;
|
||||
|
||||
FairMQ::Transport GetType() const override;
|
||||
private:
|
||||
|
@@ -6,28 +6,28 @@
|
||||
* copied verbatim in the file "LICENSE" *
|
||||
********************************************************************************/
|
||||
|
||||
#include "FairMQRegionZMQ.h"
|
||||
#include "FairMQUnmanagedRegionZMQ.h"
|
||||
#include "FairMQLogger.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
FairMQRegionZMQ::FairMQRegionZMQ(const size_t size)
|
||||
FairMQUnmanagedRegionZMQ::FairMQUnmanagedRegionZMQ(const size_t size)
|
||||
: fBuffer(malloc(size))
|
||||
, fSize(size)
|
||||
{
|
||||
}
|
||||
|
||||
void* FairMQRegionZMQ::GetData() const
|
||||
void* FairMQUnmanagedRegionZMQ::GetData() const
|
||||
{
|
||||
return fBuffer;
|
||||
}
|
||||
|
||||
size_t FairMQRegionZMQ::GetSize() const
|
||||
size_t FairMQUnmanagedRegionZMQ::GetSize() const
|
||||
{
|
||||
return fSize;
|
||||
}
|
||||
|
||||
FairMQRegionZMQ::~FairMQRegionZMQ()
|
||||
FairMQUnmanagedRegionZMQ::~FairMQUnmanagedRegionZMQ()
|
||||
{
|
||||
LOG(DEBUG) << "destroying region";
|
||||
free(fBuffer);
|
@@ -6,30 +6,30 @@
|
||||
* copied verbatim in the file "LICENSE" *
|
||||
********************************************************************************/
|
||||
|
||||
#ifndef FAIRMQREGIONZMQ_H_
|
||||
#define FAIRMQREGIONZMQ_H_
|
||||
#ifndef FAIRMQUNMANAGEDREGIONZMQ_H_
|
||||
#define FAIRMQUNMANAGEDREGIONZMQ_H_
|
||||
|
||||
#include "FairMQRegion.h"
|
||||
#include "FairMQUnmanagedRegion.h"
|
||||
|
||||
#include <cstddef> // size_t
|
||||
|
||||
class FairMQRegionZMQ : public FairMQRegion
|
||||
class FairMQUnmanagedRegionZMQ : public FairMQUnmanagedRegion
|
||||
{
|
||||
friend class FairMQSocketSHM;
|
||||
|
||||
public:
|
||||
FairMQRegionZMQ(const size_t size);
|
||||
FairMQRegionZMQ(const FairMQRegionZMQ&) = delete;
|
||||
FairMQRegionZMQ operator=(const FairMQRegionZMQ&) = delete;
|
||||
FairMQUnmanagedRegionZMQ(const size_t size);
|
||||
FairMQUnmanagedRegionZMQ(const FairMQUnmanagedRegionZMQ&) = delete;
|
||||
FairMQUnmanagedRegionZMQ operator=(const FairMQUnmanagedRegionZMQ&) = delete;
|
||||
|
||||
virtual void* GetData() const override;
|
||||
virtual size_t GetSize() const override;
|
||||
|
||||
virtual ~FairMQRegionZMQ();
|
||||
virtual ~FairMQUnmanagedRegionZMQ();
|
||||
|
||||
private:
|
||||
void* fBuffer;
|
||||
size_t fSize;
|
||||
};
|
||||
|
||||
#endif /* FAIRMQREGIONZMQ_H_ */
|
||||
#endif /* FAIRMQUNMANAGEDREGIONZMQ_H_ */
|
Reference in New Issue
Block a user