You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The BloomFilter class stores its bit vectors as an array of bigint. When serializing into a SDS message, it needs to be byte-encoded. When receiving SDS messages, it needs to be decoded from bytes back to an array of bigint in order to run lookup operations.
The method for encoding and decoding must be interoperable with the nim implementation. e.g. if A (running SDS in browser) and B (running SDS in a nim service) both insert the same set of message IDs into the filter and attach it to a message sent to the other party, both must get positive results when looking up those message IDs in the attached bloom filters.
The
BloomFilter
class stores its bit vectors as an array of bigint. When serializing into a SDS message, it needs to be byte-encoded. When receiving SDS messages, it needs to be decoded from bytes back to an array of bigint in order to run lookup operations.The method for encoding and decoding must be interoperable with the nim implementation. e.g. if A (running SDS in browser) and B (running SDS in a nim service) both insert the same set of message IDs into the filter and attach it to a message sent to the other party, both must get positive results when looking up those message IDs in the attached bloom filters.
nim implementation for reference: https://github.com/waku-org/nim-sds/blob/89160b58d4929691df95296f15d8eaad8c50f1dc/src/protobuf.nim#L59
The text was updated successfully, but these errors were encountered: