diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2019-05-15 17:02:18 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2019-05-15 17:03:21 +0000 |
commit | 220cd18a448d2a199cb57067be9d7b36012fd481 (patch) | |
tree | 09bc725896e751a1d2c03ba53f6c0bc61ea4df35 | |
parent | e35d4f9559ac5a236de74d6c3707e17e7e505c7f (diff) |
Expose the shared executor as a ThreadExecutor directly
5 files changed, 9 insertions, 14 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.cpp b/searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.cpp index f971b0dcce7..262363f4250 100644 --- a/searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.cpp @@ -19,7 +19,6 @@ ExecutorThreadingService::ExecutorThreadingService(vespalib::ThreadStackExecutor _masterService(_masterExecutor), _indexService(_indexExecutor), _summaryService(_summaryExecutor), - _sharedService(_sharedExecutor), _indexFieldInverter(std::make_unique<SequencedTaskExecutor>(threads, taskLimit)), _indexFieldWriter(std::make_unique<SequencedTaskExecutor>(threads, taskLimit)), _attributeFieldWriter(std::make_unique<SequencedTaskExecutor>(threads, taskLimit)) diff --git a/searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.h b/searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.h index 1e63aa11df5..9ab6eba39e1 100644 --- a/searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.h +++ b/searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.h @@ -25,7 +25,6 @@ private: ExecutorThreadService _masterService; ExecutorThreadService _indexService; ExecutorThreadService _summaryService; - ExecutorThreadService _sharedService; std::unique_ptr<search::SequencedTaskExecutor> _indexFieldInverter; std::unique_ptr<search::SequencedTaskExecutor> _indexFieldWriter; std::unique_ptr<search::SequencedTaskExecutor> _attributeFieldWriter; @@ -62,9 +61,6 @@ public: vespalib::ThreadStackExecutorBase &getSummaryExecutor() { return _summaryExecutor; } - vespalib::ThreadStackExecutorBase &getSharedExecutor() { - return _sharedExecutor; - } /** * Implements IThreadingService @@ -79,8 +75,8 @@ public: searchcorespi::index::IThreadService &summary() override { return _summaryService; } - searchcorespi::index::IThreadService &shared() override { - return _sharedService; + vespalib::ThreadExecutor &shared() override { + return _sharedExecutor; } search::ISequencedTaskExecutor &indexFieldInverter() override; diff --git a/searchcore/src/vespa/searchcore/proton/test/thread_service_observer.h b/searchcore/src/vespa/searchcore/proton/test/thread_service_observer.h index 905ec5ef07b..c8d0f8968c9 100644 --- a/searchcore/src/vespa/searchcore/proton/test/thread_service_observer.h +++ b/searchcore/src/vespa/searchcore/proton/test/thread_service_observer.h @@ -23,18 +23,18 @@ public: /** * Implements IThreadService */ - virtual vespalib::Executor::Task::UP execute(vespalib::Executor::Task::UP task) override { + vespalib::Executor::Task::UP execute(vespalib::Executor::Task::UP task) override { ++_executeCnt; return _service.execute(std::move(task)); } - virtual void run(vespalib::Runnable &runnable) override { + void run(vespalib::Runnable &runnable) override { _service.run(runnable); } - virtual vespalib::Syncable &sync() override { + vespalib::Syncable &sync() override { _service.sync(); return *this; } - virtual bool isCurrentThread() const override { + bool isCurrentThread() const override { return _service.isCurrentThread(); } size_t getNumThreads() const override { return _service.getNumThreads(); } diff --git a/searchcore/src/vespa/searchcore/proton/test/threading_service_observer.h b/searchcore/src/vespa/searchcore/proton/test/threading_service_observer.h index 750d6160a84..e1a4433ed4b 100644 --- a/searchcore/src/vespa/searchcore/proton/test/threading_service_observer.h +++ b/searchcore/src/vespa/searchcore/proton/test/threading_service_observer.h @@ -15,7 +15,7 @@ private: ThreadServiceObserver _master; ThreadServiceObserver _index; ThreadServiceObserver _summary; - ThreadServiceObserver _shared; + vespalib::ThreadExecutor & _shared; search::SequencedTaskExecutorObserver _indexFieldInverter; search::SequencedTaskExecutorObserver _indexFieldWriter; search::SequencedTaskExecutorObserver _attributeFieldWriter; @@ -72,7 +72,7 @@ public: searchcorespi::index::IThreadService &summary() override { return _summary; } - searchcorespi::index::IThreadService &shared() override { + vespalib::ThreadExecutor &shared() override { return _shared; } search::ISequencedTaskExecutor &indexFieldInverter() override { diff --git a/searchcorespi/src/vespa/searchcorespi/index/ithreadingservice.h b/searchcorespi/src/vespa/searchcorespi/index/ithreadingservice.h index 9cb83b67936..eb80eff19ac 100644 --- a/searchcorespi/src/vespa/searchcorespi/index/ithreadingservice.h +++ b/searchcorespi/src/vespa/searchcorespi/index/ithreadingservice.h @@ -54,7 +54,7 @@ struct IThreadingService : public vespalib::Syncable virtual IThreadService &master() = 0; virtual IThreadService &index() = 0; virtual IThreadService &summary() = 0; - virtual IThreadService &shared() = 0; + virtual vespalib::ThreadExecutor &shared() = 0; virtual search::ISequencedTaskExecutor &indexFieldInverter() = 0; virtual search::ISequencedTaskExecutor &indexFieldWriter() = 0; virtual search::ISequencedTaskExecutor &attributeFieldWriter() = 0; |