Fix namespaces in Transports.h and add conversion map

This commit is contained in:
Alexey Rybalchenko 2018-05-04 14:58:14 +02:00 committed by Mohammad Al-Turany
parent 155618af57
commit 7a4fd96b27
19 changed files with 61 additions and 55 deletions

View File

@ -36,7 +36,7 @@ FairMQChannel::FairMQChannel()
, fRateLogging(1)
, fName("")
, fIsValid(false)
, fTransportType(FairMQ::Transport::DEFAULT)
, fTransportType(fair::mq::Transport::DEFAULT)
, fTransportFactory(nullptr)
, fMultipart(false)
, fModified(true)
@ -57,7 +57,7 @@ FairMQChannel::FairMQChannel(const string& type, const string& method, const str
, fRateLogging(1)
, fName("")
, fIsValid(false)
, fTransportType(FairMQ::Transport::DEFAULT)
, fTransportType(fair::mq::Transport::DEFAULT)
, fTransportFactory(nullptr)
, fMultipart(false)
, fModified(true)
@ -99,7 +99,7 @@ FairMQChannel::FairMQChannel(const FairMQChannel& chan)
, fRateLogging(chan.fRateLogging)
, fName(chan.fName)
, fIsValid(false)
, fTransportType(FairMQ::Transport::DEFAULT)
, fTransportType(fair::mq::Transport::DEFAULT)
, fTransportFactory(nullptr)
, fMultipart(chan.fMultipart)
, fModified(chan.fModified)
@ -120,7 +120,7 @@ FairMQChannel& FairMQChannel::operator=(const FairMQChannel& chan)
fSocket = nullptr;
fName = chan.fName;
fIsValid = false;
fTransportType = FairMQ::Transport::DEFAULT;
fTransportType = fair::mq::Transport::DEFAULT;
fTransportFactory = nullptr;
return *this;
@ -587,7 +587,7 @@ bool FairMQChannel::ValidateChannel()
}
// validate channel transport
if (FairMQ::TransportTypes.find(fTransportName) == FairMQ::TransportTypes.end())
if (fair::mq::TransportTypes.find(fTransportName) == fair::mq::TransportTypes.end())
{
ss << "INVALID";
LOG(debug) << ss.str();

View File

@ -311,7 +311,7 @@ class FairMQChannel
std::string fName;
std::atomic<bool> fIsValid;
FairMQ::Transport fTransportType;
fair::mq::Transport fTransportType;
std::shared_ptr<FairMQTransportFactory> fTransportFactory;
bool CheckCompatibility(std::unique_ptr<FairMQMessage>& msg) const;

View File

@ -555,10 +555,10 @@ void FairMQDevice::HandleMultipleChannelInput()
fMultitransportInputs.clear();
for (const auto& k : fInputChannelKeys)
{
FairMQ::Transport t = fChannels.at(k).at(0).fTransportType;
fair::mq::Transport t = fChannels.at(k).at(0).fTransportType;
if (fMultitransportInputs.find(t) == fMultitransportInputs.end())
{
fMultitransportInputs.insert(pair<FairMQ::Transport, vector<string>>(t, vector<string>()));
fMultitransportInputs.insert(pair<fair::mq::Transport, vector<string>>(t, vector<string>()));
fMultitransportInputs.at(t).push_back(k);
}
else
@ -762,7 +762,7 @@ void FairMQDevice::Pause()
shared_ptr<FairMQTransportFactory> FairMQDevice::AddTransport(const string& transport)
{
auto i = fTransports.find(FairMQ::TransportTypes.at(transport));
auto i = fTransports.find(fair::mq::TransportTypes.at(transport));
if (i == fTransports.end())
{
@ -770,7 +770,7 @@ shared_ptr<FairMQTransportFactory> FairMQDevice::AddTransport(const string& tran
LOG(debug) << "Adding '" << transport << "' transport to the device.";
pair<FairMQ::Transport, shared_ptr<FairMQTransportFactory>> trPair(FairMQ::TransportTypes.at(transport), tr);
pair<fair::mq::Transport, shared_ptr<FairMQTransportFactory>> trPair(fair::mq::TransportTypes.at(transport), tr);
fTransports.insert(trPair);
return tr;

View File

@ -253,7 +253,7 @@ class FairMQDevice : public FairMQStateMachine
// if more than one channel provided, check compatibility
if (chans.size() > 1)
{
FairMQ::Transport type = fChannels.at(chans.at(0)).at(0).Transport()->GetType();
fair::mq::Transport type = fChannels.at(chans.at(0)).at(0).Transport()->GetType();
for (unsigned int i = 1; i < chans.size(); ++i)
{
@ -273,7 +273,7 @@ class FairMQDevice : public FairMQStateMachine
// if more than one channel provided, check compatibility
if (channels.size() > 1)
{
FairMQ::Transport type = channels.at(0)->Transport()->GetType();
fair::mq::Transport type = channels.at(0)->Transport()->GetType();
for (unsigned int i = 1; i < channels.size(); ++i)
{
@ -415,7 +415,7 @@ class FairMQDevice : public FairMQStateMachine
protected:
std::shared_ptr<FairMQTransportFactory> fTransportFactory; ///< Transport factory
std::unordered_map<FairMQ::Transport, std::shared_ptr<FairMQTransportFactory>> fTransports; ///< Container for transports
std::unordered_map<fair::mq::Transport, std::shared_ptr<FairMQTransportFactory>> fTransports; ///< Container for transports
public:
std::unordered_map<std::string, std::vector<FairMQChannel>> fChannels; ///< Device channels
@ -521,7 +521,7 @@ class FairMQDevice : public FairMQStateMachine
bool fDataCallbacks;
std::unordered_map<std::string, InputMsgCallback> fMsgInputs;
std::unordered_map<std::string, InputMultipartCallback> fMultipartInputs;
std::unordered_map<FairMQ::Transport, std::vector<std::string>> fMultitransportInputs;
std::unordered_map<fair::mq::Transport, std::vector<std::string>> fMultitransportInputs;
std::unordered_map<std::string, std::pair<uint16_t, uint16_t>> fChannelRegistry;
std::vector<std::string> fInputChannelKeys;
std::mutex fMultitransportMutex;

View File

@ -28,7 +28,7 @@ class FairMQMessage
virtual bool SetUsedSize(const size_t size) = 0;
virtual FairMQ::Transport GetType() const = 0;
virtual fair::mq::Transport GetType() const = 0;
virtual void Copy(const std::unique_ptr<FairMQMessage>& msg) __attribute__((deprecated("Use 'Copy(const FairMQMessage& msg)'"))) = 0;
virtual void Copy(const FairMQMessage& msg) = 0;

View File

@ -69,7 +69,7 @@ class FairMQTransportFactory
virtual FairMQUnmanagedRegionPtr CreateUnmanagedRegion(const size_t size, FairMQRegionCallback callback = nullptr) const = 0;
/// Get transport type
virtual FairMQ::Transport GetType() const = 0;
virtual fair::mq::Transport GetType() const = 0;
virtual void Interrupt() = 0;
virtual void Resume() = 0;

View File

@ -15,8 +15,9 @@
#include <string>
#include <unordered_map>
/// TODO deprecate this namespace
namespace FairMQ
namespace fair
{
namespace mq
{
enum class Transport
@ -28,7 +29,6 @@ enum class Transport
OFI
};
static std::unordered_map<std::string, Transport> TransportTypes {
{ "default", Transport::DEFAULT },
{ "zeromq", Transport::ZMQ },
@ -37,16 +37,6 @@ static std::unordered_map<std::string, Transport> TransportTypes {
{ "ofi", Transport::OFI }
};
}
namespace fair
{
namespace mq
{
using Transport = ::FairMQ::Transport;
using ::FairMQ::TransportTypes;
} /* namespace mq */
} /* namespace fair */
@ -54,8 +44,24 @@ namespace std
{
template<>
struct hash<FairMQ::Transport> : fair::mq::tools::HashEnum<FairMQ::Transport> {};
struct hash<fair::mq::Transport> : fair::mq::tools::HashEnum<fair::mq::Transport> {};
} /* namespace std */
namespace fair
{
namespace mq
{
static std::unordered_map<Transport, std::string> TransportNames {
{ Transport::DEFAULT, "default" },
{ Transport::ZMQ, "zeromq" },
{ Transport::NN, "nanomsg" },
{ Transport::SHM, "shmem" },
{ Transport::OFI, "ofi" }
};
} /* namespace mq */
} /* namespace fair */
#endif /* FAIR_MQ_TRANSPORTS_H */

View File

@ -22,7 +22,7 @@
using namespace std;
FairMQ::Transport FairMQMessageNN::fTransportType = FairMQ::Transport::NN;
fair::mq::Transport FairMQMessageNN::fTransportType = fair::mq::Transport::NN;
FairMQMessageNN::FairMQMessageNN()
: fMessage(nullptr)
@ -172,7 +172,7 @@ void FairMQMessageNN::SetMessage(void* data, const size_t size)
fSize = size;
}
FairMQ::Transport FairMQMessageNN::GetType() const
fair::mq::Transport FairMQMessageNN::GetType() const
{
return fTransportType;
}

View File

@ -46,7 +46,7 @@ class FairMQMessageNN : public FairMQMessage
bool SetUsedSize(const size_t size) override;
FairMQ::Transport GetType() const override;
fair::mq::Transport GetType() const override;
void Copy(const FairMQMessage& msg) override;
void Copy(const FairMQMessagePtr& msg) override;
@ -59,7 +59,7 @@ class FairMQMessageNN : public FairMQMessage
size_t fHint;
bool fReceiving;
FairMQUnmanagedRegion* fRegionPtr;
static FairMQ::Transport fTransportType;
static fair::mq::Transport fTransportType;
void* GetMessage() const;
void CloseMessage();

View File

@ -12,7 +12,7 @@
using namespace std;
FairMQ::Transport FairMQTransportFactoryNN::fTransportType = FairMQ::Transport::NN;
fair::mq::Transport FairMQTransportFactoryNN::fTransportType = fair::mq::Transport::NN;
FairMQTransportFactoryNN::FairMQTransportFactoryNN(const string& id, const FairMQProgOptions* /*config*/)
: FairMQTransportFactory(id)
@ -70,7 +70,7 @@ FairMQUnmanagedRegionPtr FairMQTransportFactoryNN::CreateUnmanagedRegion(const s
return unique_ptr<FairMQUnmanagedRegion>(new FairMQUnmanagedRegionNN(size, callback));
}
FairMQ::Transport FairMQTransportFactoryNN::GetType() const
fair::mq::Transport FairMQTransportFactoryNN::GetType() const
{
return fTransportType;
}

View File

@ -39,13 +39,13 @@ class FairMQTransportFactoryNN : public FairMQTransportFactory
FairMQUnmanagedRegionPtr CreateUnmanagedRegion(const size_t size, FairMQRegionCallback callback) const override;
FairMQ::Transport GetType() const override;
fair::mq::Transport GetType() const override;
void Interrupt() override { FairMQSocketNN::Interrupt(); }
void Resume() override { FairMQSocketNN::Resume(); }
private:
static FairMQ::Transport fTransportType;
static fair::mq::Transport fTransportType;
};
#endif /* FAIRMQTRANSPORTFACTORYNN_H_ */

View File

@ -23,7 +23,7 @@ namespace bipc = boost::interprocess;
namespace bpt = boost::posix_time;
atomic<bool> FairMQMessageSHM::fInterrupted(false);
FairMQ::Transport FairMQMessageSHM::fTransportType = FairMQ::Transport::SHM;
fair::mq::Transport FairMQMessageSHM::fTransportType = fair::mq::Transport::SHM;
FairMQMessageSHM::FairMQMessageSHM(Manager& manager)
: fManager(manager)
@ -284,7 +284,7 @@ bool FairMQMessageSHM::SetUsedSize(const size_t size)
}
}
FairMQ::Transport FairMQMessageSHM::GetType() const
fair::mq::Transport FairMQMessageSHM::GetType() const
{
return fTransportType;
}

View File

@ -44,7 +44,7 @@ class FairMQMessageSHM : public FairMQMessage
bool SetUsedSize(const size_t size) override;
FairMQ::Transport GetType() const override;
fair::mq::Transport GetType() const override;
void Copy(const FairMQMessage& msg) override;
void Copy(const FairMQMessagePtr& msg) override;
@ -57,7 +57,7 @@ class FairMQMessageSHM : public FairMQMessage
bool fQueued;
bool fMetaCreated;
static std::atomic<bool> fInterrupted;
static FairMQ::Transport fTransportType;
static fair::mq::Transport fTransportType;
size_t fRegionId;
mutable fair::mq::shmem::Region* fRegionPtr;
boost::interprocess::managed_shared_memory::handle_t fHandle;

View File

@ -32,7 +32,7 @@ namespace bfs = boost::filesystem;
namespace bpt = boost::posix_time;
namespace bipc = boost::interprocess;
FairMQ::Transport FairMQTransportFactorySHM::fTransportType = FairMQ::Transport::SHM;
fair::mq::Transport FairMQTransportFactorySHM::fTransportType = fair::mq::Transport::SHM;
FairMQTransportFactorySHM::FairMQTransportFactorySHM(const string& id, const FairMQProgOptions* config)
: FairMQTransportFactory(id)
@ -316,7 +316,7 @@ FairMQTransportFactorySHM::~FairMQTransportFactorySHM()
}
}
FairMQ::Transport FairMQTransportFactorySHM::GetType() const
fair::mq::Transport FairMQTransportFactorySHM::GetType() const
{
return fTransportType;
}

View File

@ -47,7 +47,7 @@ class FairMQTransportFactorySHM : public FairMQTransportFactory
FairMQUnmanagedRegionPtr CreateUnmanagedRegion(const size_t size, FairMQRegionCallback callback = nullptr) const override;
FairMQ::Transport GetType() const override;
fair::mq::Transport GetType() const override;
void Interrupt() override { FairMQSocketSHM::Interrupt(); }
void Resume() override { FairMQSocketSHM::Resume(); }
@ -58,7 +58,7 @@ class FairMQTransportFactorySHM : public FairMQTransportFactory
void SendHeartbeats();
void StartMonitor();
static FairMQ::Transport fTransportType;
static fair::mq::Transport fTransportType;
std::string fDeviceId;
std::string fSessionName;
void* fContext;

View File

@ -20,7 +20,7 @@
using namespace std;
FairMQ::Transport FairMQMessageZMQ::fTransportType = FairMQ::Transport::ZMQ;
fair::mq::Transport FairMQMessageZMQ::fTransportType = fair::mq::Transport::ZMQ;
FairMQMessageZMQ::FairMQMessageZMQ()
: fUsedSizeModified(false)
@ -190,7 +190,7 @@ void FairMQMessageZMQ::ApplyUsedSize()
}
}
FairMQ::Transport FairMQMessageZMQ::GetType() const
fair::mq::Transport FairMQMessageZMQ::GetType() const
{
return fTransportType;
}

View File

@ -46,7 +46,7 @@ class FairMQMessageZMQ : public FairMQMessage
bool SetUsedSize(const size_t size) override;
void ApplyUsedSize();
FairMQ::Transport GetType() const override;
fair::mq::Transport GetType() const override;
void Copy(const FairMQMessagePtr& msg) override;
void Copy(const FairMQMessage& msg) override;
@ -58,7 +58,7 @@ class FairMQMessageZMQ : public FairMQMessage
size_t fUsedSize;
std::unique_ptr<zmq_msg_t> fMsg;
std::unique_ptr<zmq_msg_t> fViewMsg; // view on a subset of fMsg (treating it as user buffer)
static FairMQ::Transport fTransportType;
static fair::mq::Transport fTransportType;
zmq_msg_t* GetMessage() const;
void CloseMessage();

View File

@ -11,7 +11,7 @@
using namespace std;
FairMQ::Transport FairMQTransportFactoryZMQ::fTransportType = FairMQ::Transport::ZMQ;
fair::mq::Transport FairMQTransportFactoryZMQ::fTransportType = fair::mq::Transport::ZMQ;
FairMQTransportFactoryZMQ::FairMQTransportFactoryZMQ(const string& id, const FairMQProgOptions* config)
: FairMQTransportFactory(id)
@ -100,7 +100,7 @@ FairMQUnmanagedRegionPtr FairMQTransportFactoryZMQ::CreateUnmanagedRegion(const
return unique_ptr<FairMQUnmanagedRegion>(new FairMQUnmanagedRegionZMQ(size, callback));
}
FairMQ::Transport FairMQTransportFactoryZMQ::GetType() const
fair::mq::Transport FairMQTransportFactoryZMQ::GetType() const
{
return fTransportType;
}

View File

@ -48,13 +48,13 @@ class FairMQTransportFactoryZMQ : public FairMQTransportFactory
FairMQUnmanagedRegionPtr CreateUnmanagedRegion(const size_t size, FairMQRegionCallback callback) const override;
FairMQ::Transport GetType() const override;
fair::mq::Transport GetType() const override;
void Interrupt() override { FairMQSocketZMQ::Interrupt(); }
void Resume() override { FairMQSocketZMQ::Resume(); }
private:
static FairMQ::Transport fTransportType;
static fair::mq::Transport fTransportType;
void* fContext;
};