summaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@oath.com>2018-06-11 19:51:24 +0200
committerHenning Baldersheim <balder@oath.com>2018-06-11 19:51:24 +0200
commit19a23105f3345e33fbb5fe1e105b68b7e195c4b2 (patch)
tree04947f6ca37fad8a31a1e9b763f62507e50017b8 /searchcore
parent3a9c74c225d4cee0a78ae86b264a241995419c14 (diff)
Avoid cast
Diffstat (limited to 'searchcore')
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.cpp31
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.h22
2 files changed, 28 insertions, 25 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.cpp b/searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.cpp
index 1cb30518f8e..3d9525f0471 100644
--- a/searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.cpp
@@ -9,10 +9,6 @@ using search::SequencedTaskExecutor;
namespace proton {
- SequencedTaskExecutor & cast(search::ISequencedTaskExecutor & executor) {
- return static_cast<SequencedTaskExecutor &>(executor);
- }
-
ExecutorThreadingService::ExecutorThreadingService(uint32_t threads, uint32_t stackSize, uint32_t taskLimit)
: _masterExecutor(1, stackSize),
@@ -66,9 +62,9 @@ ExecutorThreadingService::setTaskLimit(uint32_t taskLimit, uint32_t summaryTaskL
{
_indexExecutor.setTaskLimit(taskLimit);
_summaryExecutor.setTaskLimit(summaryTaskLimit);
- cast(*_indexFieldInverter).setTaskLimit(taskLimit);
- cast(*_indexFieldWriter).setTaskLimit(taskLimit);
- cast(*_attributeFieldWriter).setTaskLimit(taskLimit);
+ _indexFieldInverter->setTaskLimit(taskLimit);
+ _indexFieldWriter->setTaskLimit(taskLimit);
+ _attributeFieldWriter->setTaskLimit(taskLimit);
}
ExecutorThreadingServiceStats
@@ -77,9 +73,24 @@ ExecutorThreadingService::getStats()
return ExecutorThreadingServiceStats(_masterExecutor.getStats(),
_indexExecutor.getStats(),
_summaryExecutor.getStats(),
- cast(*_indexFieldInverter).getStats(),
- cast(*_indexFieldWriter).getStats(),
- cast(*_attributeFieldWriter).getStats());
+ _indexFieldInverter->getStats(),
+ _indexFieldWriter->getStats(),
+ _attributeFieldWriter->getStats());
+}
+
+search::ISequencedTaskExecutor &
+ExecutorThreadingService::indexFieldInverter() {
+ return *_indexFieldInverter;
+}
+
+search::ISequencedTaskExecutor &
+ExecutorThreadingService::indexFieldWriter() {
+ return *_indexFieldWriter;
+}
+
+search::ISequencedTaskExecutor &
+ExecutorThreadingService::attributeFieldWriter() {
+ return *_attributeFieldWriter;
}
} // namespace proton
diff --git a/searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.h b/searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.h
index 68449a70470..240eefab2a7 100644
--- a/searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.h
+++ b/searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.h
@@ -6,6 +6,7 @@
#include <vespa/vespalib/util/blockingthreadstackexecutor.h>
#include <vespa/vespalib/util/threadstackexecutor.h>
+namespace search { class SequencedTaskExecutor; }
namespace proton {
class ExecutorThreadingServiceStats;
@@ -23,9 +24,9 @@ private:
ExecutorThreadService _masterService;
ExecutorThreadService _indexService;
ExecutorThreadService _summaryService;
- std::unique_ptr<search::ISequencedTaskExecutor> _indexFieldInverter;
- std::unique_ptr<search::ISequencedTaskExecutor> _indexFieldWriter;
- std::unique_ptr<search::ISequencedTaskExecutor> _attributeFieldWriter;
+ std::unique_ptr<search::SequencedTaskExecutor> _indexFieldInverter;
+ std::unique_ptr<search::SequencedTaskExecutor> _indexFieldWriter;
+ std::unique_ptr<search::SequencedTaskExecutor> _attributeFieldWriter;
public:
/**
@@ -73,18 +74,9 @@ public:
return _summaryService;
}
- search::ISequencedTaskExecutor &indexFieldInverter() override {
- return *_indexFieldInverter;
- }
-
- search::ISequencedTaskExecutor &indexFieldWriter() override {
- return *_indexFieldWriter;
- }
-
- search::ISequencedTaskExecutor &attributeFieldWriter() override {
- return *_attributeFieldWriter;
- }
-
+ search::ISequencedTaskExecutor &indexFieldInverter() override;
+ search::ISequencedTaskExecutor &indexFieldWriter() override;
+ search::ISequencedTaskExecutor &attributeFieldWriter() override;
ExecutorThreadingServiceStats getStats();
};