diff options
author | Henning Baldersheim <balder@oath.com> | 2018-10-04 19:40:38 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@oath.com> | 2018-10-04 21:04:02 +0200 |
commit | 3f2b1a9230fbab12f2e8b5afcf1e0ad72f3d872a (patch) | |
tree | d442890dd2a84bd325eeb0465d7a11789cdf2900 /config | |
parent | faa5b86be61ef5f3791f31d5da0d17ce2e807691 (diff) |
Remove the costly and unnecessary setSlobrokId interface.
Diffstat (limited to 'config')
-rw-r--r-- | config/src/vespa/config/frt/frtconnectionpool.cpp | 15 | ||||
-rw-r--r-- | config/src/vespa/config/frt/frtconnectionpool.h | 9 | ||||
-rw-r--r-- | config/src/vespa/config/frt/frtsourcefactory.cpp | 4 | ||||
-rw-r--r-- | config/src/vespa/config/helper/legacy.cpp | 9 | ||||
-rw-r--r-- | config/src/vespa/config/subscription/configuri.cpp | 14 | ||||
-rw-r--r-- | config/src/vespa/config/subscription/configuri.h | 2 | ||||
-rw-r--r-- | config/src/vespa/config/subscription/sourcespec.cpp | 37 | ||||
-rw-r--r-- | config/src/vespa/config/subscription/sourcespec.h | 3 |
8 files changed, 42 insertions, 51 deletions
diff --git a/config/src/vespa/config/frt/frtconnectionpool.cpp b/config/src/vespa/config/frt/frtconnectionpool.cpp index fa5436621f8..4bea8062a03 100644 --- a/config/src/vespa/config/frt/frtconnectionpool.cpp +++ b/config/src/vespa/config/frt/frtconnectionpool.cpp @@ -11,7 +11,6 @@ FRTConnectionPool::FRTConnectionKey::FRTConnectionKey(int idx, const vespalib::s : _idx(idx), _hostname(hostname) { - } int @@ -33,7 +32,7 @@ FRTConnectionPool::FRTConnectionPool(const ServerSpec & spec, const TimingValues { for (size_t i(0); i < spec.numHosts(); i++) { FRTConnectionKey key(i, spec.getHost(i)); - _connections[key].reset(new FRTConnection(spec.getHost(i), *_supervisor, timingValues)); + _connections[key] = std::make_shared<FRTConnection>(spec.getHost(i), *_supervisor, timingValues); } setHostname(); _supervisor->Start(); @@ -67,7 +66,7 @@ FRTConnectionPool::getNextRoundRobin() getReadySources(readySources); std::vector<FRTConnection *> suspendedSources; getSuspendedSources(suspendedSources); - FRTConnection* nextFRTConnection = NULL; + FRTConnection* nextFRTConnection = nullptr; if (!readySources.empty()) { int sel = _selectIdx % (int)readySources.size(); @@ -88,7 +87,7 @@ FRTConnectionPool::getNextHashBased() getReadySources(readySources); std::vector<FRTConnection*> suspendedSources; getSuspendedSources(suspendedSources); - FRTConnection* nextFRTConnection = NULL; + FRTConnection* nextFRTConnection = nullptr; if (!readySources.empty()) { int sel = std::abs(hashCode(_hostname) % (int)readySources.size()); @@ -104,8 +103,8 @@ const std::vector<FRTConnection *> & FRTConnectionPool::getReadySources(std::vector<FRTConnection*> & readySources) const { readySources.clear(); - for (ConnectionMap::const_iterator iter = _connections.begin(); iter != _connections.end(); iter++) { - FRTConnection* source = iter->second.get(); + for (const auto & entry : _connections) { + FRTConnection* source = entry.second.get(); int64_t tnow = time(0); tnow *= 1000; int64_t timestamp = tnow; @@ -120,8 +119,8 @@ const std::vector<FRTConnection *> & FRTConnectionPool::getSuspendedSources(std::vector<FRTConnection*> & suspendedSources) const { suspendedSources.clear(); - for (ConnectionMap::const_iterator iter = _connections.begin(); iter != _connections.end(); iter++) { - FRTConnection* source = iter->second.get(); + for (const auto & entry : _connections) { + FRTConnection* source = entry.second.get(); int64_t tnow = time(0); tnow *= 1000; int64_t timestamp = tnow; diff --git a/config/src/vespa/config/frt/frtconnectionpool.h b/config/src/vespa/config/frt/frtconnectionpool.h index 0d9d480e3c1..e671c756db5 100644 --- a/config/src/vespa/config/frt/frtconnectionpool.h +++ b/config/src/vespa/config/frt/frtconnectionpool.h @@ -5,7 +5,6 @@ #include "connectionfactory.h" #include <vespa/config/subscription/sourcespec.h> #include <vector> -#include <string> #include <map> namespace config { @@ -13,8 +12,6 @@ namespace config { class FRTConnectionPool : public ConnectionFactory { private: - FRTConnectionPool(const FRTConnectionPool&); - FRTConnectionPool& operator=(const FRTConnectionPool&); /** * This class makes it possible to iterate over the entries in the @@ -35,12 +32,14 @@ private: std::unique_ptr<FRT_Supervisor> _supervisor; int _selectIdx; vespalib::string _hostname; - typedef std::map<FRTConnectionKey, FRTConnection::SP> ConnectionMap; + using ConnectionMap = std::map<FRTConnectionKey, FRTConnection::SP>; ConnectionMap _connections; public: FRTConnectionPool(const ServerSpec & spec, const TimingValues & timingValues); - ~FRTConnectionPool(); + FRTConnectionPool(const FRTConnectionPool&) = delete; + FRTConnectionPool& operator=(const FRTConnectionPool&) = delete; + ~FRTConnectionPool() override; void syncTransport() override; diff --git a/config/src/vespa/config/frt/frtsourcefactory.cpp b/config/src/vespa/config/frt/frtsourcefactory.cpp index ef4f4ac07ed..c58571e3ac4 100644 --- a/config/src/vespa/config/frt/frtsourcefactory.cpp +++ b/config/src/vespa/config/frt/frtsourcefactory.cpp @@ -5,7 +5,7 @@ namespace config { FRTSourceFactory::FRTSourceFactory(ConnectionFactory::UP connectionFactory, const TimingValues & timingValues, int protocolVersion, int traceLevel, const VespaVersion & vespaVersion, const CompressionType & compressionType) - : _connectionFactory(connectionFactory.release()), + : _connectionFactory(std::move(connectionFactory)), _requestFactory(protocolVersion, traceLevel, vespaVersion, compressionType), _timingValues(timingValues) { @@ -14,7 +14,7 @@ FRTSourceFactory::FRTSourceFactory(ConnectionFactory::UP connectionFactory, cons Source::UP FRTSourceFactory::createSource(const IConfigHolder::SP & holder, const ConfigKey & key) const { - return Source::UP(new FRTSource(_connectionFactory, _requestFactory, ConfigAgent::UP(new FRTConfigAgent(holder, _timingValues)), key)); + return std::make_unique<FRTSource>(_connectionFactory, _requestFactory, std::make_unique<FRTConfigAgent>(holder, _timingValues), key); } } // namespace config diff --git a/config/src/vespa/config/helper/legacy.cpp b/config/src/vespa/config/helper/legacy.cpp index 32ce98bfb6a..f3e73a602e4 100644 --- a/config/src/vespa/config/helper/legacy.cpp +++ b/config/src/vespa/config/helper/legacy.cpp @@ -41,15 +41,14 @@ isLegacyConfigId(const std::string & configId) std::unique_ptr<SourceSpec> legacyConfigId2Spec(const std::string & configId) { - std::unique_ptr<SourceSpec> spec(new ServerSpec()); if (isFileLegacy(configId)) { - spec.reset(new FileSpec(createFileSpecFromId(configId))); + return std::make_unique<FileSpec>(createFileSpecFromId(configId)); } else if (isDirLegacy(configId)) { - spec.reset(new DirSpec(dirNameFromId(configId))); + return std::make_unique<DirSpec>(dirNameFromId(configId)); } else if (isRawLegacy(configId)) { - spec.reset(new RawSpec(createRawSpecFromId(configId))); + return std::make_unique<RawSpec>(createRawSpecFromId(configId)); } - return spec; + return std::make_unique<ServerSpec>(); } const std::string diff --git a/config/src/vespa/config/subscription/configuri.cpp b/config/src/vespa/config/subscription/configuri.cpp index 293093b307a..041a840c548 100644 --- a/config/src/vespa/config/subscription/configuri.cpp +++ b/config/src/vespa/config/subscription/configuri.cpp @@ -13,19 +13,19 @@ namespace config { ConfigUri::ConfigUri(const vespalib::string &configId) : _configId(legacyConfigId2ConfigId(configId)), - _context(new ConfigContext(*legacyConfigId2Spec(configId))), + _context(std::make_shared<ConfigContext>(*legacyConfigId2Spec(configId))), _empty(checkEmpty(configId)) { } -ConfigUri::ConfigUri(const vespalib::string &configId, const IConfigContext::SP & context) +ConfigUri::ConfigUri(const vespalib::string &configId, IConfigContext::SP context) : _configId(configId), - _context(context), + _context(std::move(context)), _empty(false) { } -ConfigUri::~ConfigUri() { } +ConfigUri::~ConfigUri() = default; ConfigUri ConfigUri::createWithNewId(const vespalib::string & configId) const @@ -39,20 +39,20 @@ const IConfigContext::SP & ConfigUri::getContext() const { return _context; } ConfigUri ConfigUri::createFromInstance(const ConfigInstance & instance) { - return ConfigUri("", IConfigContext::SP(new ConfigContext(ConfigInstanceSpec(instance)))); + return ConfigUri("", std::make_shared<ConfigContext>(ConfigInstanceSpec(instance))); } ConfigUri ConfigUri::createEmpty() { - ConfigUri uri("", IConfigContext::SP(new ConfigContext(RawSpec("")))); + ConfigUri uri("", std::make_shared<ConfigContext>(RawSpec(""))); uri._empty = true; return uri; } ConfigUri ConfigUri::createFromSpec(const vespalib::string& configId, const SourceSpec& spec) { - return ConfigUri(configId, IConfigContext::SP(new ConfigContext(spec))); + return ConfigUri(configId, std::make_shared<ConfigContext>(spec)); } diff --git a/config/src/vespa/config/subscription/configuri.h b/config/src/vespa/config/subscription/configuri.h index a81be8c3359..11a4fcf4990 100644 --- a/config/src/vespa/config/subscription/configuri.h +++ b/config/src/vespa/config/subscription/configuri.h @@ -46,7 +46,7 @@ public: * @param configId The config id. * @param context A context object that can be shared with multiple URIs. */ - ConfigUri(const vespalib::string &configId, const IConfigContext::SP & context); + ConfigUri(const vespalib::string &configId, IConfigContext::SP context); ~ConfigUri(); diff --git a/config/src/vespa/config/subscription/sourcespec.cpp b/config/src/vespa/config/subscription/sourcespec.cpp index 586344ef9e3..30926d75465 100644 --- a/config/src/vespa/config/subscription/sourcespec.cpp +++ b/config/src/vespa/config/subscription/sourcespec.cpp @@ -11,7 +11,6 @@ #include <vespa/vespalib/text/stringtokenizer.h> #include <vespa/config/print/asciiconfigwriter.h> - namespace config { class BuilderMap : public std::map<ConfigKey, ConfigInstance *> { @@ -25,10 +24,9 @@ RawSpec::RawSpec(const vespalib::string & config) } SourceFactory::UP -RawSpec::createSourceFactory(const TimingValues & timingValues) const +RawSpec::createSourceFactory(const TimingValues &) const { - (void) timingValues; - return SourceFactory::UP(new RawSourceFactory(_config)); + return std::make_unique<RawSourceFactory>(_config); } FileSpec::FileSpec(const vespalib::string & fileName) @@ -50,10 +48,9 @@ FileSpec::verifyName(const vespalib::string & fileName) } SourceFactory::UP -FileSpec::createSourceFactory(const TimingValues & timingValues) const +FileSpec::createSourceFactory(const TimingValues & ) const { - (void) timingValues; - return SourceFactory::UP(new FileSourceFactory(*this)); + return std::make_unique<FileSourceFactory>(*this); } DirSpec::DirSpec(const vespalib::string & dirName) @@ -62,10 +59,9 @@ DirSpec::DirSpec(const vespalib::string & dirName) } SourceFactory::UP -DirSpec::createSourceFactory(const TimingValues & timingValues) const +DirSpec::createSourceFactory(const TimingValues & ) const { - (void) timingValues; - return SourceFactory::UP(new DirSourceFactory(*this)); + return std::make_unique<DirSourceFactory>(*this); } ServerSpec::ServerSpec() @@ -75,7 +71,7 @@ ServerSpec::ServerSpec() _compressionType(protocol::readProtocolCompressionType()) { char* cfgSourcesPtr = getenv("VESPA_CONFIG_SOURCES"); - if (cfgSourcesPtr != NULL) { + if (cfgSourcesPtr != nullptr) { vespalib::string cfgSourcesStr(cfgSourcesPtr); initialize(cfgSourcesStr); } else { @@ -89,7 +85,7 @@ ServerSpec::initialize(const vespalib::string & hostSpec) typedef vespalib::StringTokenizer tokenizer; tokenizer tok(hostSpec, ","); for (tokenizer::Iterator it = tok.begin(); it != tok.end(); it++) { - std::string srcHost = *it; + vespalib::string srcHost = *it; vespalib::asciistream spec; if (srcHost.find("tcp/") == std::string::npos) { spec << "tcp/"; @@ -123,26 +119,26 @@ SourceFactory::UP ServerSpec::createSourceFactory(const TimingValues & timingValues) const { const auto vespaVersion = VespaVersion::getCurrentVersion(); - return SourceFactory::UP(new FRTSourceFactory(ConnectionFactory::UP(new FRTConnectionPool(*this, timingValues)), timingValues, _protocolVersion, _traceLevel, vespaVersion, _compressionType)); + return std::make_unique<FRTSourceFactory>(std::make_unique<FRTConnectionPool>(*this, timingValues), timingValues, + _protocolVersion, _traceLevel, vespaVersion, _compressionType); } ConfigSet::ConfigSet() - : _builderMap(new BuilderMap()) + : _builderMap(std::make_unique<BuilderMap>()) { } SourceFactory::UP -ConfigSet::createSourceFactory(const TimingValues & timingValues) const +ConfigSet::createSourceFactory(const TimingValues & ) const { - (void) timingValues; - return SourceFactory::UP(new ConfigSetSourceFactory(_builderMap)); + return std::make_unique<ConfigSetSourceFactory>(_builderMap); } void ConfigSet::addBuilder(const vespalib::string & configId, ConfigInstance * builder) { - assert(builder != NULL); + assert(builder != nullptr); BuilderMap & builderMap(*_builderMap); const ConfigKey key(configId, builder->defName(), builder->defNamespace(), builder->defMd5()); builderMap[key] = builder; @@ -157,10 +153,9 @@ ConfigInstanceSpec::ConfigInstanceSpec(const ConfigInstance& instance) } SourceFactory::UP -ConfigInstanceSpec::createSourceFactory(const TimingValues& timingValues) const +ConfigInstanceSpec::createSourceFactory(const TimingValues& ) const { - (void) timingValues; - return SourceFactory::UP(new ConfigInstanceSourceFactory(_key, _buffer)); + return std::make_unique<ConfigInstanceSourceFactory>(_key, _buffer); } diff --git a/config/src/vespa/config/subscription/sourcespec.h b/config/src/vespa/config/subscription/sourcespec.h index dc1a26c3f97..22db2368c01 100644 --- a/config/src/vespa/config/subscription/sourcespec.h +++ b/config/src/vespa/config/subscription/sourcespec.h @@ -153,8 +153,7 @@ public: */ ServerSpec(const vespalib::string & hostSpec); - // Implements SourceSpec - virtual SourceFactorySP createSourceFactory(const TimingValues & timingValues) const override; + SourceFactorySP createSourceFactory(const TimingValues & timingValues) const override; /** * Add another host to this source spec, allowing failover. |