summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2023-06-29 08:01:36 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2023-06-29 08:01:36 +0000
commitd62dba05b4d113e5d36b4786125a2d45f2b26da5 (patch)
tree1f647ba941b4e365d893f071843ec4492191fbe2 /searchlib
parent793cd4bda8e8854b09f0434327e9334615a8ce72 (diff)
Make match method more readable
- Reduce temporaries by moving mtf destruction to the end. - factor out coverage handling to separate method. - factor out stats updating to separate method.
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/vespa/searchlib/engine/searchreply.h58
1 files changed, 29 insertions, 29 deletions
diff --git a/searchlib/src/vespa/searchlib/engine/searchreply.h b/searchlib/src/vespa/searchlib/engine/searchreply.h
index 2117aac39bc..2a0cb59f5ac 100644
--- a/searchlib/src/vespa/searchlib/engine/searchreply.h
+++ b/searchlib/src/vespa/searchlib/engine/searchreply.h
@@ -12,6 +12,35 @@
namespace search::engine {
+class Coverage {
+public:
+ Coverage() noexcept : Coverage(0) { }
+ explicit Coverage(uint64_t active) noexcept : Coverage(active, active) { }
+ Coverage(uint64_t active, uint64_t covered) noexcept
+ : _covered(covered), _active(active), _targetActive(active),
+ _degradeReason(0)
+ { }
+ uint64_t getCovered() const { return _covered; }
+ uint64_t getActive() const { return _active; }
+ uint64_t getTargetActive() const { return _targetActive; }
+
+ bool wasDegradedByMatchPhase() const { return ((_degradeReason & MATCH_PHASE) != 0); }
+ bool wasDegradedByTimeout() const { return ((_degradeReason & TIMEOUT) != 0); }
+
+ Coverage & setCovered(uint64_t v) { _covered = v; return *this; }
+ Coverage & setActive(uint64_t v) { _active = v; return *this; }
+ Coverage & setTargetActive(uint64_t v) { _targetActive = v; return *this; }
+
+ Coverage & degradeMatchPhase() { _degradeReason |= MATCH_PHASE; return *this; }
+ Coverage & degradeTimeout() { _degradeReason |= TIMEOUT; return *this; }
+ enum DegradeReason {MATCH_PHASE=0x01, TIMEOUT=0x02};
+private:
+ uint64_t _covered;
+ uint64_t _active;
+ uint64_t _targetActive;
+ uint32_t _degradeReason;
+};
+
class SearchReply
{
public:
@@ -26,35 +55,6 @@ public:
search::HitRank metric;
};
- class Coverage {
- public:
- Coverage() noexcept : Coverage(0) { }
- explicit Coverage(uint64_t active) noexcept : Coverage(active, active) { }
- Coverage(uint64_t active, uint64_t covered) noexcept
- : _covered(covered), _active(active), _targetActive(active),
- _degradeReason(0)
- { }
- uint64_t getCovered() const { return _covered; }
- uint64_t getActive() const { return _active; }
- uint64_t getTargetActive() const { return _targetActive; }
-
- bool wasDegradedByMatchPhase() const { return ((_degradeReason & MATCH_PHASE) != 0); }
- bool wasDegradedByTimeout() const { return ((_degradeReason & TIMEOUT) != 0); }
-
- Coverage & setCovered(uint64_t v) { _covered = v; return *this; }
- Coverage & setActive(uint64_t v) { _active = v; return *this; }
- Coverage & setTargetActive(uint64_t v) { _targetActive = v; return *this; }
-
- Coverage & degradeMatchPhase() { _degradeReason |= MATCH_PHASE; return *this; }
- Coverage & degradeTimeout() { _degradeReason |= TIMEOUT; return *this; }
- enum DegradeReason {MATCH_PHASE=0x01, TIMEOUT=0x02};
- private:
- uint64_t _covered;
- uint64_t _active;
- uint64_t _targetActive;
- uint32_t _degradeReason;
- };
-
private:
uint32_t _distributionKey;
public: