aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-02-21 17:53:37 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-02-21 17:53:37 +0000
commit6a31d94bcc91fad03a8f4058edc9139d29c58118 (patch)
tree0033c6fe8418ab9466e6ead36c65f0c9627a230b
parentc4a01e6c3b85eb18ece1c4b5d9f337b08ba3b76d (diff)
Only expose shared_ptr
-rw-r--r--searchcore/src/tests/proton/documentdb/configurer/configurer_test.cpp4
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/searchable_doc_subdb_configurer.cpp10
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/searchable_doc_subdb_configurer.h5
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/searchabledocsubdb.cpp4
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/searchview.cpp11
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/searchview.h5
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;