diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2021-01-15 23:30:30 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2021-01-15 23:30:30 +0000 |
commit | bfa4fbddaa847c3fe593485951a528b60c5f6412 (patch) | |
tree | 18a242070466c72f3077e5ae16c3193029e25a32 /searchcore | |
parent | b275087c2a110a1dc9aca0662f7ed01e2e7928ec (diff) |
Use forward declarations to reduce amount of included code.
Diffstat (limited to 'searchcore')
6 files changed, 24 insertions, 16 deletions
diff --git a/searchcore/src/apps/proton/proton.cpp b/searchcore/src/apps/proton/proton.cpp index 171579ad693..f01f3486a79 100644 --- a/searchcore/src/apps/proton/proton.cpp +++ b/searchcore/src/apps/proton/proton.cpp @@ -6,6 +6,7 @@ #include <vespa/vespalib/util/signalhandler.h> #include <vespa/vespalib/util/programoptions.h> #include <vespa/vespalib/io/fileutil.h> +#include <vespa/vespalib/util/exceptions.h> #include <vespa/config/common/exceptions.h> #include <vespa/fastos/app.h> #include <iostream> diff --git a/searchcore/src/vespa/searchcore/proton/persistenceengine/ipersistenceengineowner.h b/searchcore/src/vespa/searchcore/proton/persistenceengine/ipersistenceengineowner.h index bf07aaa82d8..8e01e67719a 100644 --- a/searchcore/src/vespa/searchcore/proton/persistenceengine/ipersistenceengineowner.h +++ b/searchcore/src/vespa/searchcore/proton/persistenceengine/ipersistenceengineowner.h @@ -2,19 +2,16 @@ #pragma once -#include <vespa/persistence/spi/abstractpersistenceprovider.h> +#include <vespa/document/bucket/bucketspace.h> -namespace proton -{ +namespace storage::spi { class ClusterState; } + +namespace proton { class IPersistenceEngineOwner { public: - virtual - ~IPersistenceEngineOwner() - { - } - + virtual ~IPersistenceEngineOwner() = default; virtual void setClusterState(document::BucketSpace bucketSpace, const storage::spi::ClusterState &calc) = 0; }; diff --git a/searchcore/src/vespa/searchcore/proton/persistenceengine/ipersistencehandler.h b/searchcore/src/vespa/searchcore/proton/persistenceengine/ipersistencehandler.h index 7e3bb903f72..1af6c2e60bc 100644 --- a/searchcore/src/vespa/searchcore/proton/persistenceengine/ipersistencehandler.h +++ b/searchcore/src/vespa/searchcore/proton/persistenceengine/ipersistencehandler.h @@ -4,13 +4,14 @@ #include "bucket_guard.h" #include "i_document_retriever.h" #include "resulthandler.h" -#include <vespa/persistence/spi/abstractpersistenceprovider.h> #include <vespa/searchcore/proton/common/feedtoken.h> namespace document { class Document; class DocumentUpdate; } +namespace storage::spi { class ClusterState; } + namespace proton { /** diff --git a/searchcore/src/vespa/searchcore/proton/persistenceengine/resulthandler.h b/searchcore/src/vespa/searchcore/proton/persistenceengine/resulthandler.h index 6712a35bd65..cb6fb28647e 100644 --- a/searchcore/src/vespa/searchcore/proton/persistenceengine/resulthandler.h +++ b/searchcore/src/vespa/searchcore/proton/persistenceengine/resulthandler.h @@ -1,7 +1,7 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #pragma once -#include <vespa/persistence/spi/abstractpersistenceprovider.h> +#include <vespa/persistence/spi/result.h> namespace proton { @@ -12,9 +12,9 @@ public: virtual void handle(const ResultType &result) = 0; }; -typedef IResultHandler<storage::spi::BucketIdListResult> IBucketIdListResultHandler; -typedef IResultHandler<storage::spi::BucketInfoResult> IBucketInfoResultHandler; -typedef IResultHandler<storage::spi::Result> IGenericResultHandler; +using IBucketIdListResultHandler = IResultHandler<storage::spi::BucketIdListResult>; +using IBucketInfoResultHandler = IResultHandler<storage::spi::BucketInfoResult>; +using IGenericResultHandler = IResultHandler<storage::spi::Result>; } // namespace proton diff --git a/searchcore/src/vespa/searchcore/proton/server/proton.cpp b/searchcore/src/vespa/searchcore/proton/server/proton.cpp index 3f7cf14afbe..7d97214244d 100644 --- a/searchcore/src/vespa/searchcore/proton/server/proton.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/proton.cpp @@ -25,6 +25,7 @@ #include <vespa/searchcore/proton/reference/document_db_reference_registry.h> #include <vespa/searchcore/proton/summaryengine/docsum_by_slime.h> #include <vespa/searchcore/proton/summaryengine/summaryengine.h> +#include <vespa/searchcore/proton/persistenceengine/persistenceengine.h> #include <vespa/searchlib/common/packets.h> #include <vespa/searchlib/transactionlog/trans_log_server_explorer.h> #include <vespa/searchlib/transactionlog/translogserverapp.h> @@ -929,4 +930,10 @@ Proton::getDocumentDBReferenceRegistry() const return _documentDBReferenceRegistry; } +storage::spi::PersistenceProvider & +Proton::getPersistence() +{ + return *_persistenceEngine; +} + } // namespace proton diff --git a/searchcore/src/vespa/searchcore/proton/server/proton.h b/searchcore/src/vespa/searchcore/proton/server/proton.h index 7d877eb110a..0e6d20115a0 100644 --- a/searchcore/src/vespa/searchcore/proton/server/proton.h +++ b/searchcore/src/vespa/searchcore/proton/server/proton.h @@ -16,7 +16,6 @@ #include <vespa/searchcore/proton/metrics/metrics_engine.h> #include <vespa/searchcore/proton/persistenceengine/i_resource_write_filter.h> #include <vespa/searchcore/proton/persistenceengine/ipersistenceengineowner.h> -#include <vespa/searchcore/proton/persistenceengine/persistenceengine.h> #include <vespa/searchlib/common/fileheadercontext.h> #include <vespa/searchlib/engine/monitorapi.h> #include <vespa/vespalib/net/component_config_producer.h> @@ -32,6 +31,8 @@ namespace vespalib { class StateServer; } namespace search::transactionlog { class TransLogServerApp; } namespace metrics { class MetricLockGuard; } +namespace storage::spi { class PersistenceProvider; } + namespace proton { class DiskMemUsageSampler; @@ -42,6 +43,7 @@ class SummaryEngine; class DocsumBySlime; class FlushEngine; class MatchEngine; +class PersistenceEngine; class Proton : public IProtonConfigurerOwner, public search::engine::MonitorServer, @@ -83,7 +85,7 @@ private: ProtonFileHeaderContext _fileHeaderContext; std::unique_ptr<TLS> _tls; std::unique_ptr<DiskMemUsageSampler> _diskMemUsageSampler; - PersistenceEngine::UP _persistenceEngine; + std::unique_ptr<PersistenceEngine> _persistenceEngine; DocumentDBMap _documentDBMap; std::unique_ptr<MatchEngine> _matchEngine; std::unique_ptr<SummaryEngine> _summaryEngine; @@ -206,7 +208,7 @@ public: bool isInitializing() const override { return _isInitializing; } bool hasAbortedInit() const { return _abortInit; } - storage::spi::PersistenceProvider & getPersistence() { return *_persistenceEngine; } + storage::spi::PersistenceProvider & getPersistence(); void get_state(const vespalib::slime::Inserter &inserter, bool full) const override; std::vector<vespalib::string> get_children_names() const override; |