diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2020-01-03 17:45:30 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2020-01-03 17:45:30 +0000 |
commit | 2d770a1c8d584acc0c4c6260f44f7f0099166ecc (patch) | |
tree | 2c3fa1693c5afd98f597cae7636f2402f2312b89 /searchlib/src | |
parent | 824c0deb45de36be1e1dfee5400ae4f79cf8826b (diff) |
Separate implementation and interface.
Diffstat (limited to 'searchlib/src')
3 files changed, 25 insertions, 7 deletions
diff --git a/searchlib/src/vespa/searchlib/common/CMakeLists.txt b/searchlib/src/vespa/searchlib/common/CMakeLists.txt index 4f0b241e98f..2ee722902c8 100644 --- a/searchlib/src/vespa/searchlib/common/CMakeLists.txt +++ b/searchlib/src/vespa/searchlib/common/CMakeLists.txt @@ -15,6 +15,7 @@ vespa_add_library(searchlib_common OBJECT gatecallback.cpp growablebitvector.cpp indexmetainfo.cpp + isequencedtaskexecutor.cpp location.cpp locationiterators.cpp mapnames.cpp diff --git a/searchlib/src/vespa/searchlib/common/isequencedtaskexecutor.cpp b/searchlib/src/vespa/searchlib/common/isequencedtaskexecutor.cpp new file mode 100644 index 00000000000..ea167924a2d --- /dev/null +++ b/searchlib/src/vespa/searchlib/common/isequencedtaskexecutor.cpp @@ -0,0 +1,20 @@ +// Copyright 2020 Oath inc.. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +#include "isequencedtaskexecutor.h" +#include <vespa/vespalib/stllike/hash_fun.h> + +namespace search { + +ISequencedTaskExecutor::ISequencedTaskExecutor(uint32_t numExecutors) + : _numExecutors(numExecutors) +{ } + +ISequencedTaskExecutor::~ISequencedTaskExecutor() = default; + +ISequencedTaskExecutor::ExecutorId +ISequencedTaskExecutor::getExecutorId(vespalib::stringref componentId) const { + vespalib::hash<vespalib::stringref> hashfun; + return getExecutorId(hashfun(componentId)); +} + +} diff --git a/searchlib/src/vespa/searchlib/common/isequencedtaskexecutor.h b/searchlib/src/vespa/searchlib/common/isequencedtaskexecutor.h index 866f9f60423..00674221b0d 100644 --- a/searchlib/src/vespa/searchlib/common/isequencedtaskexecutor.h +++ b/searchlib/src/vespa/searchlib/common/isequencedtaskexecutor.h @@ -2,7 +2,7 @@ #pragma once #include <vespa/vespalib/util/executor.h> -#include <vespa/vespalib/stllike/hash_fun.h> +#include <vespa/vespalib/stllike/string.h> #include <vespa/vespalib/util/lambdatask.h> namespace search { @@ -25,8 +25,8 @@ public: private: uint32_t _id; }; - ISequencedTaskExecutor(uint32_t numExecutors) : _numExecutors(numExecutors) { } - virtual ~ISequencedTaskExecutor() { } + ISequencedTaskExecutor(uint32_t numExecutors); + virtual ~ISequencedTaskExecutor(); /** * Calculate which executor will handle an component. All callers @@ -40,10 +40,7 @@ public: } uint32_t getNumExecutors() const { return _numExecutors; } - ExecutorId getExecutorId(vespalib::stringref componentId) const { - vespalib::hash<vespalib::stringref> hashfun; - return getExecutorId(hashfun(componentId)); - } + ExecutorId getExecutorId(vespalib::stringref componentId) const; /** * Schedule a task to run after all previously scheduled tasks with |