diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2016-10-13 13:58:00 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2016-10-14 14:17:15 +0000 |
commit | ede1a74a403ba8d5624ff23330d05c7be65b6956 (patch) | |
tree | 4d827200dd465d6c206f0e08005d07460720b536 /searchlib | |
parent | f3a1de486ad809a3883e5a957faeb46523aee790 (diff) |
Only one version of QUERYX
Diffstat (limited to 'searchlib')
-rw-r--r-- | searchlib/src/vespa/searchlib/common/packets.cpp | 43 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/common/packets.h | 8 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/common/transport.h | 31 |
3 files changed, 10 insertions, 72 deletions
diff --git a/searchlib/src/vespa/searchlib/common/packets.cpp b/searchlib/src/vespa/searchlib/common/packets.cpp index f8b2768794f..bce0b16cd46 100644 --- a/searchlib/src/vespa/searchlib/common/packets.cpp +++ b/searchlib/src/vespa/searchlib/common/packets.cpp @@ -46,7 +46,6 @@ FS4PersistentPacketStreamer::HasChannelID(uint32_t pcode) case search::fs4transport::PCODE_DOCSUM: case search::fs4transport::PCODE_MLD_QUERYRESULT: case search::fs4transport::PCODE_MLD_GETDOCSUMS: - case search::fs4transport::PCODE_PARSEDQUERY2: case search::fs4transport::PCODE_QUERYRESULTX: case search::fs4transport::PCODE_QUERYX: case search::fs4transport::PCODE_GETDOCSUMSX: @@ -1367,9 +1366,8 @@ FS4Packet_QUERYRESULTX::toString(uint32_t indent) const //============================================================ -FS4Packet_QUERYX::FS4Packet_QUERYX(uint32_t pcode) +FS4Packet_QUERYX::FS4Packet_QUERYX() : FS4Packet(), - _pcode(pcode), _timeout(0), _features(0), _offset(0), @@ -1385,7 +1383,6 @@ FS4Packet_QUERYX::FS4Packet_QUERYX(uint32_t pcode) _numStackItems(0), _stackDump() { - UpdateCompatFeatures(); } @@ -1393,33 +1390,13 @@ FS4Packet_QUERYX::~FS4Packet_QUERYX() { } - -void -FS4Packet_QUERYX::UpdateCompatPCODE() -{ - if (_features == search::fs4transport::QF_PARSEDQUERY2_MASK) - _pcode = search::fs4transport::PCODE_PARSEDQUERY2; - else - _pcode = search::fs4transport::PCODE_QUERYX; -} - - -void -FS4Packet_QUERYX::UpdateCompatFeatures() -{ - if (_pcode == search::fs4transport::PCODE_PARSEDQUERY2) - _features = search::fs4transport::QF_PARSEDQUERY2_MASK; -} - - uint32_t FS4Packet_QUERYX::GetLength() { uint32_t plen = 2 * sizeof(uint32_t); plen += FNET_DataBuffer::getCompressedPositiveLength(_offset); plen += FNET_DataBuffer::getCompressedPositiveLength(_maxhits); - if (_pcode == search::fs4transport::PCODE_QUERYX) - plen += sizeof(uint32_t); + plen += sizeof(uint32_t); if ((_features & search::fs4transport::QF_PARSEDQUERY) != 0) { plen += sizeof(uint32_t)*2; @@ -1463,8 +1440,7 @@ FS4Packet_QUERYX::GetLength() void FS4Packet_QUERYX::Encode(FNET_DataBuffer *dst) { - if (_pcode == search::fs4transport::PCODE_QUERYX) - dst->WriteInt32Fast(_features); + dst->WriteInt32Fast(_features); dst->writeCompressedPositive(_offset); dst->writeCompressedPositive(_maxhits); @@ -1575,9 +1551,7 @@ FS4Packet_QUERYX::getTimeout() const bool FS4Packet_QUERYX::Decode(FNET_DataBuffer *src, uint32_t len) { - if (_pcode == search::fs4transport::PCODE_QUERYX) { - _features = readUInt32(*src, len, "features"); - } + _features = readUInt32(*src, len, "features"); if (((_features & ~search::fs4transport::FNET_QF_SUPPORTED_MASK) != 0)) { throwUnsupportedFeatures(_features, search::fs4transport::FNET_QF_SUPPORTED_MASK); @@ -1663,8 +1637,7 @@ FS4Packet_QUERYX::Decode(FNET_DataBuffer *src, uint32_t len) throwNotEnoughData(*src, len, 0, "eof"); } - SetRealPCODE(); - return true; // OK + return true; } @@ -1673,7 +1646,6 @@ FS4Packet_QUERYX::toString(uint32_t indent) const { vespalib::string s; s += make_string("%*sFS4Packet_QUERYX {\n", indent, ""); - s += make_string("%*s pcode : %d\n", indent, "", _pcode); s += make_string("%*s features : 0x%x\n", indent, "", _features); s += make_string("%*s offset : %d\n", indent, "", _offset); s += make_string("%*s maxhits : %d\n", indent, "", _maxhits); @@ -1736,7 +1708,6 @@ FS4Packet_GETDOCSUMSX::FS4Packet_GETDOCSUMSX(uint32_t pcode) _docid(NULL), _docidCnt(0) { - UpdateCompatFeatures(); } @@ -2075,10 +2046,6 @@ FS4PacketFactory::CreateFS4Packet(uint32_t pcode) case search::fs4transport::PCODE_MLD_MONITORRESULT: return new FS4Packet_MONITORRESULTX(search::fs4transport:: PCODE_MLD_MONITORRESULT); - case search::fs4transport::PCODE_CLEARCACHES: - return new FS4Packet_CLEARCACHES; - case search::fs4transport::PCODE_PARSEDQUERY2: - return new FS4Packet_QUERYX(search::fs4transport::PCODE_PARSEDQUERY2); case search::fs4transport::PCODE_QUERYRESULTX: return new FS4Packet_QUERYRESULTX; case search::fs4transport::PCODE_QUERYX: diff --git a/searchlib/src/vespa/searchlib/common/packets.h b/searchlib/src/vespa/searchlib/common/packets.h index 9497624ede4..ea50b034241 100644 --- a/searchlib/src/vespa/searchlib/common/packets.h +++ b/searchlib/src/vespa/searchlib/common/packets.h @@ -448,7 +448,6 @@ private: FS4Packet_QUERYX(const FS4Packet_QUERYX &); FS4Packet_QUERYX& operator=(const FS4Packet_QUERYX &); - uint32_t _pcode; uint32_t _timeout; public: @@ -477,12 +476,9 @@ public: void setTimeout(const fastos::TimeStamp & timeout); fastos::TimeStamp getTimeout() const; - explicit FS4Packet_QUERYX(uint32_t pcode = PCODE_QUERYX); + explicit FS4Packet_QUERYX(); ~FS4Packet_QUERYX(); - void UpdateCompatPCODE(); - void UpdateCompatFeatures(); - void SetRealPCODE() { _pcode = PCODE_QUERYX; } - uint32_t GetPCODE() override { return _pcode; } + uint32_t GetPCODE() override { return PCODE_QUERYX; } uint32_t GetLength() override; void Encode(FNET_DataBuffer *dst) override; bool Decode(FNET_DataBuffer *src, uint32_t len) override; diff --git a/searchlib/src/vespa/searchlib/common/transport.h b/searchlib/src/vespa/searchlib/common/transport.h index bdbc4c23f10..7b13729db22 100644 --- a/searchlib/src/vespa/searchlib/common/transport.h +++ b/searchlib/src/vespa/searchlib/common/transport.h @@ -72,10 +72,7 @@ enum queryresult_features { * 'featureflags'. Each bit in that field denotes a separate feature * that may be present in the query packet or not. The comment * describing the packet format indicates what data fields depend on - * what features. Note that after removing the query id and the - * feature flags from a PCODE_QUERYX packet it is binary compatible - * with the PCODE_PARSEDQUERY2 packets - * given the correct set of features. The features present in the + * what features. The features present in the * 'old' query packets are defined in this enum along with the Query * Features themselves. The values called * QF_SUPPORTED_[FSEARCH/FDISPATCH]_MASK denotes which features are @@ -92,9 +89,7 @@ enum query_features { QF_PROPERTIES = 0x00100000, QF_WARMUP = 0x00200000, // Deprecated, do not use! QF_GROUPSPEC = 0x00400000, - QF_SESSIONID = 0x00800000, - - QF_PARSEDQUERY2_MASK = (QF_PARSEDQUERY | QF_RANKP) + QF_SESSIONID = 0x00800000 }; @@ -230,27 +225,7 @@ enum packetcode { */ PCODE_CLEARCACHES_NOTUSED = 211, PCODE_QUERY2_NOTUSED = 212, - PCODE_PARSEDQUERY2 = 213, /* ..fdispatch -> ..fsearch. PacketData: - *0 {uint32_t queryId,} - only in new format! - *1 ..query::querytypes searchType, - all/any/exact - *2 uint32_t offset, - *3 uint32_t maxhits, - *4 uint32_t qflags, (including usehardware) - *5 uint32_t rankprofile, - enum - *6 uint32_t numStackItems, - *7 multiple encoded stackitems: - - uint32_t OR|AND|NOT|RANK - uint32_t arity - - uint32_t PHRASE - uint32_t arity - uint32_t indexNameLen - char[] indexName - - uint32_t TERM - uint32_t indexNameLen - char[] indexName - uint32_t termLen - char[] term - */ + PCODE_PARSEDQUERY2_NOTUSED = 213, PCODE_MLD_QUERYRESULT2_NOTUSED = 214, PCODE_MLD_GETDOCSUMS2_NOTUSED = 215, PCODE_QUEUELEN_NOTUSED = 216, |