mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-13 08:41:16 +00:00
Reduce bloat due to statics
Avoid disseminating every compile unit including Message.h with TransportNames and TransportTypes and the associated unordered_map helper methods (e.g. murmur_hash).
This commit is contained in:
parent
8fe95e644e
commit
9013ee8e29
|
@ -63,6 +63,7 @@ if(BUILD_FAIRMQ)
|
||||||
Tools.h
|
Tools.h
|
||||||
TransportFactory.h
|
TransportFactory.h
|
||||||
Transports.h
|
Transports.h
|
||||||
|
TransportEnum.h
|
||||||
UnmanagedRegion.h
|
UnmanagedRegion.h
|
||||||
options/FairMQProgOptions.h
|
options/FairMQProgOptions.h
|
||||||
runDevice.h
|
runDevice.h
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
#include <fairmq/Channel.h>
|
#include <fairmq/Channel.h>
|
||||||
#include <fairmq/Properties.h>
|
#include <fairmq/Properties.h>
|
||||||
#include <fairmq/Tools.h>
|
#include <fairmq/Tools.h>
|
||||||
|
#include <fairmq/Transports.h>
|
||||||
#include <random>
|
#include <random>
|
||||||
#include <regex>
|
#include <regex>
|
||||||
#include <set>
|
#include <set>
|
||||||
|
@ -383,4 +384,10 @@ bool Channel::BindEndpoint(string& endpoint)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string Channel::GetTransportName() const { return TransportName(fTransportType); }
|
||||||
|
|
||||||
|
Transport Channel::GetTransportType() const { return fTransportType; }
|
||||||
|
|
||||||
|
void Channel::UpdateTransport(const std::string& transport) { fTransportType = TransportType(transport); Invalidate(); }
|
||||||
|
|
||||||
} // namespace fair::mq
|
} // namespace fair::mq
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
#include <fairmq/Properties.h>
|
#include <fairmq/Properties.h>
|
||||||
#include <fairmq/Socket.h>
|
#include <fairmq/Socket.h>
|
||||||
#include <fairmq/TransportFactory.h>
|
#include <fairmq/TransportFactory.h>
|
||||||
#include <fairmq/Transports.h>
|
#include <fairmq/TransportEnum.h>
|
||||||
#include <fairmq/UnmanagedRegion.h>
|
#include <fairmq/UnmanagedRegion.h>
|
||||||
|
|
||||||
#include <cstdint> // int64_t
|
#include <cstdint> // int64_t
|
||||||
|
@ -145,11 +145,11 @@ class Channel
|
||||||
|
|
||||||
/// Get channel transport name ("default", "zeromq" or "shmem")
|
/// Get channel transport name ("default", "zeromq" or "shmem")
|
||||||
/// @return Returns channel transport name (e.g. "default", "zeromq" or "shmem")
|
/// @return Returns channel transport name (e.g. "default", "zeromq" or "shmem")
|
||||||
std::string GetTransportName() const { return TransportName(fTransportType); }
|
std::string GetTransportName() const;
|
||||||
|
|
||||||
/// Get channel transport type
|
/// Get channel transport type
|
||||||
/// @return Returns channel transport type
|
/// @return Returns channel transport type
|
||||||
mq::Transport GetTransportType() const { return fTransportType; }
|
mq::Transport GetTransportType() const;
|
||||||
|
|
||||||
/// Get socket send buffer size (in number of messages)
|
/// Get socket send buffer size (in number of messages)
|
||||||
/// @return Returns socket send buffer size (in number of messages)
|
/// @return Returns socket send buffer size (in number of messages)
|
||||||
|
@ -221,7 +221,7 @@ class Channel
|
||||||
|
|
||||||
/// Set channel transport
|
/// Set channel transport
|
||||||
/// @param transport transport string ("default", "zeromq" or "shmem")
|
/// @param transport transport string ("default", "zeromq" or "shmem")
|
||||||
void UpdateTransport(const std::string& transport) { fTransportType = TransportType(transport); Invalidate(); }
|
void UpdateTransport(const std::string& transport);
|
||||||
|
|
||||||
/// Set socket send buffer size
|
/// Set socket send buffer size
|
||||||
/// @param sndBufSize Socket send buffer size (in number of messages)
|
/// @param sndBufSize Socket send buffer size (in number of messages)
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
// FairMQ
|
// FairMQ
|
||||||
#include <fairmq/Device.h>
|
#include <fairmq/Device.h>
|
||||||
#include <fairmq/Tools.h>
|
#include <fairmq/Tools.h>
|
||||||
|
#include <fairmq/Transports.h>
|
||||||
|
|
||||||
// boost
|
// boost
|
||||||
#include <boost/algorithm/string.hpp> // join/split
|
#include <boost/algorithm/string.hpp> // join/split
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
#include <fairmq/StateQueue.h>
|
#include <fairmq/StateQueue.h>
|
||||||
#include <fairmq/Tools.h>
|
#include <fairmq/Tools.h>
|
||||||
#include <fairmq/TransportFactory.h>
|
#include <fairmq/TransportFactory.h>
|
||||||
#include <fairmq/Transports.h>
|
#include <fairmq/TransportEnum.h>
|
||||||
#include <fairmq/UnmanagedRegion.h>
|
#include <fairmq/UnmanagedRegion.h>
|
||||||
|
|
||||||
// logger
|
// logger
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
#define FAIR_MQ_MESSAGE_H
|
#define FAIR_MQ_MESSAGE_H
|
||||||
|
|
||||||
#include <cstddef> // for size_t
|
#include <cstddef> // for size_t
|
||||||
#include <fairmq/Transports.h>
|
#include <fairmq/TransportEnum.h>
|
||||||
#include <memory> // unique_ptr
|
#include <memory> // unique_ptr
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
|
|
||||||
|
|
22
fairmq/TransportEnum.h
Normal file
22
fairmq/TransportEnum.h
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
/********************************************************************************
|
||||||
|
* Copyright (C) 2014-2025 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
|
||||||
|
* *
|
||||||
|
* This software is distributed under the terms of the *
|
||||||
|
* GNU Lesser General Public Licence (LGPL) version 3, *
|
||||||
|
* copied verbatim in the file "LICENSE" *
|
||||||
|
********************************************************************************/
|
||||||
|
|
||||||
|
#ifndef FAIR_MQ_TRANSPORTENUMS_H
|
||||||
|
#define FAIR_MQ_TRANSPORTENUMS_H
|
||||||
|
|
||||||
|
namespace fair::mq {
|
||||||
|
|
||||||
|
enum class Transport {
|
||||||
|
DEFAULT,
|
||||||
|
ZMQ,
|
||||||
|
SHM
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // FAIR_MQ_TRANSPORTENUMS_H
|
|
@ -14,7 +14,7 @@
|
||||||
#include <fairmq/Message.h>
|
#include <fairmq/Message.h>
|
||||||
#include <fairmq/Poller.h>
|
#include <fairmq/Poller.h>
|
||||||
#include <fairmq/Socket.h>
|
#include <fairmq/Socket.h>
|
||||||
#include <fairmq/Transports.h>
|
#include <fairmq/TransportEnum.h>
|
||||||
#include <fairmq/UnmanagedRegion.h>
|
#include <fairmq/UnmanagedRegion.h>
|
||||||
#include <memory> // shared_ptr
|
#include <memory> // shared_ptr
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
#define FAIR_MQ_TRANSPORTS_H
|
#define FAIR_MQ_TRANSPORTS_H
|
||||||
|
|
||||||
#include <fairmq/tools/Strings.h>
|
#include <fairmq/tools/Strings.h>
|
||||||
|
#include <fairmq/TransportEnum.h>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <ostream>
|
#include <ostream>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
|
@ -18,13 +19,6 @@
|
||||||
|
|
||||||
namespace fair::mq {
|
namespace fair::mq {
|
||||||
|
|
||||||
enum class Transport
|
|
||||||
{
|
|
||||||
DEFAULT,
|
|
||||||
ZMQ,
|
|
||||||
SHM
|
|
||||||
};
|
|
||||||
|
|
||||||
struct TransportError : std::runtime_error
|
struct TransportError : std::runtime_error
|
||||||
{
|
{
|
||||||
using std::runtime_error::runtime_error;
|
using std::runtime_error::runtime_error;
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#ifndef FAIR_MQ_UNMANAGEDREGION_H
|
#ifndef FAIR_MQ_UNMANAGEDREGION_H
|
||||||
#define FAIR_MQ_UNMANAGEDREGION_H
|
#define FAIR_MQ_UNMANAGEDREGION_H
|
||||||
|
|
||||||
#include <fairmq/Transports.h>
|
#include <fairmq/TransportEnum.h>
|
||||||
|
|
||||||
#include <cstddef> // size_t
|
#include <cstddef> // size_t
|
||||||
#include <cstdint> // uint32_t
|
#include <cstdint> // uint32_t
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
#include "UnmanagedRegionImpl.h"
|
#include "UnmanagedRegionImpl.h"
|
||||||
#include <fairmq/Message.h>
|
#include <fairmq/Message.h>
|
||||||
#include <fairmq/UnmanagedRegion.h>
|
#include <fairmq/UnmanagedRegion.h>
|
||||||
|
#include <fairmq/Transports.h>
|
||||||
|
|
||||||
#include <fairlogger/Logger.h>
|
#include <fairlogger/Logger.h>
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
|
|
||||||
#include <fairmq/shmem/Common.h>
|
#include <fairmq/shmem/Common.h>
|
||||||
#include <fairmq/shmem/Monitor.h>
|
#include <fairmq/shmem/Monitor.h>
|
||||||
|
#include <fairmq/Transports.h>
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
#include <fairmq/shmem/Monitor.h>
|
#include <fairmq/shmem/Monitor.h>
|
||||||
#include <fairmq/tools/Strings.h>
|
#include <fairmq/tools/Strings.h>
|
||||||
#include <fairmq/UnmanagedRegion.h>
|
#include <fairmq/UnmanagedRegion.h>
|
||||||
|
#include <fairmq/Transports.h>
|
||||||
|
|
||||||
#include <fairlogger/Logger.h>
|
#include <fairlogger/Logger.h>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user