aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-01-03 17:45:30 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-01-03 17:45:30 +0000
commit2d770a1c8d584acc0c4c6260f44f7f0099166ecc (patch)
tree2c3fa1693c5afd98f597cae7636f2402f2312b89 /searchlib/src
parent824c0deb45de36be1e1dfee5400ae4f79cf8826b (diff)
Separate implementation and interface.
Diffstat (limited to 'searchlib/src')
-rw-r--r--searchlib/src/vespa/searchlib/common/CMakeLists.txt1
-rw-r--r--searchlib/src/vespa/searchlib/common/isequencedtaskexecutor.cpp20
-rw-r--r--searchlib/src/vespa/searchlib/common/isequencedtaskexecutor.h11
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