From af7de3e1898bc6a2991a4b72365620a43860367a Mon Sep 17 00:00:00 2001 From: Sanaz Taheri Boshrooyeh <35961250+staheri14@users.noreply.github.com> Date: Fri, 2 Apr 2021 15:53:28 -0700 Subject: [PATCH] adds startTime and endTime to the HistoryQuery (#451) --- tests/v2/test_waku_store.nim | 4 ++-- waku/v2/protocol/waku_store/waku_store.nim | 7 +++++++ waku/v2/protocol/waku_store/waku_store_types.nim | 2 ++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/tests/v2/test_waku_store.nim b/tests/v2/test_waku_store.nim index 205951ed0..eca102919 100644 --- a/tests/v2/test_waku_store.nim +++ b/tests/v2/test_waku_store.nim @@ -330,11 +330,11 @@ procSuite "Waku Store": decodedEmptyPagingInfo.isErr == false decodedEmptyPagingInfo.value == emptyPagingInfo - test "HistoryQuery Protobuf encod/init test": + test "HistoryQuery Protobuf encode/init test": let index = computeIndex(WakuMessage(payload: @[byte 1], contentTopic: ContentTopic(1))) pagingInfo = PagingInfo(pageSize: 1, cursor: index, direction: PagingDirection.BACKWARD) - query=HistoryQuery(topics: @[ContentTopic(1)], pagingInfo: pagingInfo) + query=HistoryQuery(topics: @[ContentTopic(1)], pagingInfo: pagingInfo, startTime: float64(10), endTime: float64(11)) pb = query.encode() decodedQuery = HistoryQuery.init(pb.buffer) diff --git a/waku/v2/protocol/waku_store/waku_store.nim b/waku/v2/protocol/waku_store/waku_store.nim index 876664fd8..bc8044ad6 100644 --- a/waku/v2/protocol/waku_store/waku_store.nim +++ b/waku/v2/protocol/waku_store/waku_store.nim @@ -146,6 +146,10 @@ proc init*(T: type HistoryQuery, buffer: seq[byte]): ProtoResult[T] = msg.pagingInfo = ? PagingInfo.init(pagingInfoBuffer) + discard ? pb.getField(3, msg.startTime) + discard ? pb.getField(4, msg.endTime) + + ok(msg) proc init*(T: type HistoryResponse, buffer: seq[byte]): ProtoResult[T] = @@ -190,6 +194,9 @@ proc encode*(query: HistoryQuery): ProtoBuffer = result.write(2, query.pagingInfo.encode()) + result.write(3, query.startTime) + result.write(4, query.endTime) + proc encode*(response: HistoryResponse): ProtoBuffer = result = initProtoBuffer() diff --git a/waku/v2/protocol/waku_store/waku_store_types.nim b/waku/v2/protocol/waku_store/waku_store_types.nim index 6b9c0934c..6d09b8845 100644 --- a/waku/v2/protocol/waku_store/waku_store_types.nim +++ b/waku/v2/protocol/waku_store/waku_store_types.nim @@ -39,6 +39,8 @@ type HistoryQuery* = object topics*: seq[ContentTopic] pagingInfo*: PagingInfo # used for pagination + startTime*: float64 # used for time-window query + endTime*: float64 # used for time-window query HistoryResponse* = object messages*: seq[WakuMessage]