diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2020-02-21 17:53:37 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2020-02-21 17:53:37 +0000 |
commit | 6a31d94bcc91fad03a8f4058edc9139d29c58118 (patch) | |
tree | 0033c6fe8418ab9466e6ead36c65f0c9627a230b /searchcore | |
parent | c4a01e6c3b85eb18ece1c4b5d9f337b08ba3b76d (diff) |
Only expose shared_ptr
Diffstat (limited to 'searchcore')
6 files changed, 21 insertions, 18 deletions
diff --git a/searchcore/src/tests/proton/documentdb/configurer/configurer_test.cpp b/searchcore/src/tests/proton/documentdb/configurer/configurer_test.cpp index 3c3ed33b8ea..14ad82a0aa1 100644 --- a/searchcore/src/tests/proton/documentdb/configurer/configurer_test.cpp +++ b/searchcore/src/tests/proton/documentdb/configurer/configurer_test.cpp @@ -208,10 +208,10 @@ Fixture::initViewSet(ViewSet &views) views._lidReuseDelayer = std::make_unique<documentmetastore::LidReuseDelayer>(views._writeService, metaStore->get()); IndexSearchable::SP indexSearchable; MatchView::SP matchView(new MatchView(matchers, indexSearchable, attrMgr, sesMgr, metaStore, views._docIdLimit)); - views.searchView.set(make_shared<SearchView> + views.searchView.set(SearchView::create (summaryMgr->createSummarySetup(SummaryConfig(), SummarymapConfig(), JuniperrcConfig(), views.repo, attrMgr), - matchView)); + std::move(matchView))); views.feedView.set( make_shared<SearchableFeedView>(StoreOnlyFeedView::Context(summaryAdapter, schema, diff --git a/searchcore/src/vespa/searchcore/proton/server/searchable_doc_subdb_configurer.cpp b/searchcore/src/vespa/searchcore/proton/server/searchable_doc_subdb_configurer.cpp index 069d3727850..9ef038b7325 100644 --- a/searchcore/src/vespa/searchcore/proton/server/searchable_doc_subdb_configurer.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/searchable_doc_subdb_configurer.cpp @@ -84,17 +84,17 @@ reconfigureMatchView(const Matchers::SP &matchers, } void -SearchableDocSubDBConfigurer::reconfigureSearchView(const MatchView::SP &matchView) +SearchableDocSubDBConfigurer::reconfigureSearchView(MatchView::SP matchView) { SearchView::SP curr = _searchView.get(); - _searchView.set(SearchView::SP(new SearchView(curr->getSummarySetup(), matchView))); + _searchView.set(SearchView::create(curr->getSummarySetup(), std::move(matchView))); } void -SearchableDocSubDBConfigurer::reconfigureSearchView(const ISummaryManager::ISummarySetup::SP &summarySetup, - const MatchView::SP &matchView) +SearchableDocSubDBConfigurer::reconfigureSearchView(ISummaryManager::ISummarySetup::SP summarySetup, + MatchView::SP matchView) { - _searchView.set(SearchView::SP(new SearchView(summarySetup, matchView))); + _searchView.set(SearchView::create(std::move(summarySetup), std::move(matchView))); } SearchableDocSubDBConfigurer:: diff --git a/searchcore/src/vespa/searchcore/proton/server/searchable_doc_subdb_configurer.h b/searchcore/src/vespa/searchcore/proton/server/searchable_doc_subdb_configurer.h index 5aac069853b..459c4651e67 100644 --- a/searchcore/src/vespa/searchcore/proton/server/searchable_doc_subdb_configurer.h +++ b/searchcore/src/vespa/searchcore/proton/server/searchable_doc_subdb_configurer.h @@ -65,11 +65,10 @@ private: const IAttributeManager::SP &attrMgr); void - reconfigureSearchView(const MatchView::SP &matchView); + reconfigureSearchView(MatchView::SP matchView); void - reconfigureSearchView(const ISummaryManager::ISummarySetup::SP &summarySetup, - const MatchView::SP &matchView); + reconfigureSearchView(ISummaryManager::ISummarySetup::SP summarySetup, MatchView::SP matchView); public: SearchableDocSubDBConfigurer(const SearchableDocSubDBConfigurer &) = delete; diff --git a/searchcore/src/vespa/searchcore/proton/server/searchabledocsubdb.cpp b/searchcore/src/vespa/searchcore/proton/server/searchabledocsubdb.cpp index 77852dcc918..e7dd64caae6 100644 --- a/searchcore/src/vespa/searchcore/proton/server/searchabledocsubdb.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/searchabledocsubdb.cpp @@ -205,14 +205,14 @@ SearchableDocSubDB::initViews(const DocumentDBConfig &configSnapshot, const Sess Matchers::SP matchers(_configurer.createMatchers(schema, configSnapshot.getRankProfilesConfig()).release()); auto matchView = std::make_shared<MatchView>(matchers, indexMgr->getSearchable(), attrMgr, sessionManager, _metaStoreCtx, _docIdLimit); - _rSearchView.set(std::make_shared<SearchView>( + _rSearchView.set(SearchView::create( getSummaryManager()->createSummarySetup( configSnapshot.getSummaryConfig(), configSnapshot.getSummarymapConfig(), configSnapshot.getJuniperrcConfig(), configSnapshot.getDocumentTypeRepoSP(), matchView->getAttributeManager()), - matchView)); + std::move(matchView))); auto attrWriter = std::make_shared<AttributeWriter>(attrMgr); { diff --git a/searchcore/src/vespa/searchcore/proton/server/searchview.cpp b/searchcore/src/vespa/searchcore/proton/server/searchview.cpp index 3ca0e4b0a82..e1afb086c95 100644 --- a/searchcore/src/vespa/searchcore/proton/server/searchview.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/searchview.cpp @@ -105,11 +105,14 @@ createEmptyReply(const DocsumRequest & request) } -SearchView::SearchView(const ISummaryManager::ISummarySetup::SP & summarySetup, - const MatchView::SP & matchView) +std::shared_ptr<SearchView> +SearchView::create(ISummaryManager::ISummarySetup::SP summarySetup, MatchView::SP matchView) { + return std::shared_ptr<SearchView>( new SearchView(std::move(summarySetup), std::move(matchView))); +} +SearchView::SearchView(ISummaryManager::ISummarySetup::SP summarySetup, MatchView::SP matchView) : ISearchHandler(), - _summarySetup(summarySetup), - _matchView(matchView) + _summarySetup(std::move(summarySetup)), + _matchView(std::move(matchView)) { } SearchView::~SearchView() = default; diff --git a/searchcore/src/vespa/searchcore/proton/server/searchview.h b/searchcore/src/vespa/searchcore/proton/server/searchview.h index 8148f10feeb..630d29c32fd 100644 --- a/searchcore/src/vespa/searchcore/proton/server/searchview.h +++ b/searchcore/src/vespa/searchcore/proton/server/searchview.h @@ -8,7 +8,7 @@ namespace proton { -class SearchView : public ISearchHandler, public std::enable_shared_from_this<ISearchHandler> +class SearchView : public ISearchHandler, public std::enable_shared_from_this<SearchView> { public: using SessionManagerSP = std::shared_ptr<matching::SessionManager>; @@ -16,7 +16,7 @@ public: using InternalDocsumReply = std::pair<std::unique_ptr<DocsumReply>, bool>; typedef std::shared_ptr<SearchView> SP; - SearchView(const ISummaryManager::ISummarySetup::SP &summarySetup, const MatchView::SP &matchView); + static std::shared_ptr<SearchView> create(ISummaryManager::ISummarySetup::SP summarySetup, MatchView::SP matchView); SearchView(const SearchView &) = delete; SearchView(SearchView &&) = delete; SearchView &operator=(const SearchView &) = delete; @@ -36,6 +36,7 @@ public: std::unique_ptr<DocsumReply> getDocsums(const DocsumRequest & req) override; std::unique_ptr<SearchReply> match(const SearchRequest &req, vespalib::ThreadBundle &threadBundle) const override; private: + SearchView(ISummaryManager::ISummarySetup::SP summarySetup, MatchView::SP matchView); InternalDocsumReply getDocsumsInternal(const DocsumRequest & req); ISummaryManager::ISummarySetup::SP _summarySetup; MatchView::SP _matchView; |