FairMQ: shared memory unmanaged region updates:

- use same mapping for sender/receiver (created/remote) region.
 - rename FairMQRegion -> FairMQUnmanagedRegion.
This commit is contained in:
Alexey Rybalchenko
2017-10-19 11:17:05 +02:00
committed by Mohammad Al-Turany
parent f7d3a5e8ae
commit 0bb866ff36
24 changed files with 212 additions and 327 deletions

View File

@@ -84,7 +84,7 @@ FairMQMessageNN::FairMQMessageNN(void* data, const size_t size, fairmq_free_fn*
}
}
FairMQMessageNN::FairMQMessageNN(FairMQRegionPtr& /*region*/, void* data, const size_t size)
FairMQMessageNN::FairMQMessageNN(FairMQUnmanagedRegionPtr& /*region*/, void* data, const size_t size)
: fMessage(data)
, fSize(size)
, fReceiving(false)

View File

@@ -19,7 +19,7 @@
#include <string>
#include "FairMQMessage.h"
#include "FairMQRegion.h"
#include "FairMQUnmanagedRegion.h"
class FairMQMessageNN : public FairMQMessage
{
@@ -27,7 +27,7 @@ class FairMQMessageNN : public FairMQMessage
FairMQMessageNN();
FairMQMessageNN(const size_t size);
FairMQMessageNN(void* data, const size_t size, fairmq_free_fn* ffn, void* hint = nullptr);
FairMQMessageNN(FairMQRegionPtr& region, void* data, const size_t size);
FairMQMessageNN(FairMQUnmanagedRegionPtr& region, void* data, const size_t size);
FairMQMessageNN(const FairMQMessageNN&) = delete;
FairMQMessageNN operator=(const FairMQMessageNN&) = delete;

View File

@@ -35,7 +35,7 @@ FairMQMessagePtr FairMQTransportFactoryNN::CreateMessage(void* data, const size_
return unique_ptr<FairMQMessage>(new FairMQMessageNN(data, size, ffn, hint));
}
FairMQMessagePtr FairMQTransportFactoryNN::CreateMessage(FairMQRegionPtr& region, void* data, const size_t size) const
FairMQMessagePtr FairMQTransportFactoryNN::CreateMessage(FairMQUnmanagedRegionPtr& region, void* data, const size_t size) const
{
return unique_ptr<FairMQMessage>(new FairMQMessageNN(region, data, size));
}
@@ -65,9 +65,9 @@ FairMQPollerPtr FairMQTransportFactoryNN::CreatePoller(const FairMQSocket& cmdSo
return unique_ptr<FairMQPoller>(new FairMQPollerNN(cmdSocket, dataSocket));
}
FairMQRegionPtr FairMQTransportFactoryNN::CreateRegion(const size_t size) const
FairMQUnmanagedRegionPtr FairMQTransportFactoryNN::CreateUnmanagedRegion(const size_t size) const
{
return unique_ptr<FairMQRegion>(new FairMQRegionNN(size));
return unique_ptr<FairMQUnmanagedRegion>(new FairMQUnmanagedRegionNN(size));
}
FairMQ::Transport FairMQTransportFactoryNN::GetType() const

View File

@@ -13,7 +13,7 @@
#include "FairMQMessageNN.h"
#include "FairMQSocketNN.h"
#include "FairMQPollerNN.h"
#include "FairMQRegionNN.h"
#include "FairMQUnmanagedRegionNN.h"
#include <options/FairMQProgOptions.h>
#include <vector>
@@ -28,7 +28,7 @@ class FairMQTransportFactoryNN : 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;
@@ -37,7 +37,7 @@ class FairMQTransportFactoryNN : 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;

View File

@@ -6,28 +6,28 @@
* copied verbatim in the file "LICENSE" *
********************************************************************************/
#include "FairMQRegionNN.h"
#include "FairMQUnmanagedRegionNN.h"
#include "FairMQLogger.h"
using namespace std;
FairMQRegionNN::FairMQRegionNN(const size_t size)
FairMQUnmanagedRegionNN::FairMQUnmanagedRegionNN(const size_t size)
: fBuffer(malloc(size))
, fSize(size)
{
}
void* FairMQRegionNN::GetData() const
void* FairMQUnmanagedRegionNN::GetData() const
{
return fBuffer;
}
size_t FairMQRegionNN::GetSize() const
size_t FairMQUnmanagedRegionNN::GetSize() const
{
return fSize;
}
FairMQRegionNN::~FairMQRegionNN()
FairMQUnmanagedRegionNN::~FairMQUnmanagedRegionNN()
{
LOG(DEBUG) << "destroying region";
free(fBuffer);

View File

@@ -6,30 +6,30 @@
* copied verbatim in the file "LICENSE" *
********************************************************************************/
#ifndef FAIRMQREGIONNN_H_
#define FAIRMQREGIONNN_H_
#ifndef FAIRMQUNMANAGEDREGIONNN_H_
#define FAIRMQUNMANAGEDREGIONNN_H_
#include "FairMQRegion.h"
#include "FairMQUnmanagedRegion.h"
#include <cstddef> // size_t
class FairMQRegionNN : public FairMQRegion
class FairMQUnmanagedRegionNN : public FairMQUnmanagedRegion
{
friend class FairMQSocketNN;
public:
FairMQRegionNN(const size_t size);
FairMQRegionNN(const FairMQRegionNN&) = delete;
FairMQRegionNN operator=(const FairMQRegionNN&) = delete;
FairMQUnmanagedRegionNN(const size_t size);
FairMQUnmanagedRegionNN(const FairMQUnmanagedRegionNN&) = delete;
FairMQUnmanagedRegionNN operator=(const FairMQUnmanagedRegionNN&) = delete;
virtual void* GetData() const override;
virtual size_t GetSize() const override;
virtual ~FairMQRegionNN();
virtual ~FairMQUnmanagedRegionNN();
private:
void* fBuffer;
size_t fSize;
};
#endif /* FAIRMQREGIONNN_H_ */
#endif /* FAIRMQUNMANAGEDREGIONNN_H_ */