change ContentTopic from uint32 to string

This commit is contained in:
Richard Ramos 2021-04-08 18:07:31 -04:00
parent a84b81b400
commit ff8d4ef8a4
No known key found for this signature in database
GPG Key ID: 80D4B01265FDFE8F
7 changed files with 110 additions and 148 deletions

View File

@ -3,7 +3,6 @@ package cmd
import (
"context"
"crypto/rand"
"encoding/binary"
"encoding/hex"
"fmt"
"net"
@ -39,7 +38,7 @@ func (dbStore *DBStore) Put(message *protocol.WakuMessage) error {
func (dbStore *DBStore) GetAll() ([]*protocol.WakuMessage, error) {
fmt.Println("TODO: Implement MessageProvider.GetAll. Returning a sample message")
exampleMessage := new(protocol.WakuMessage)
exampleMessage.ContentTopic = 1
exampleMessage.ContentTopic = "dingpu"
exampleMessage.Payload = []byte("Hello!")
exampleMessage.Version = 0
@ -115,7 +114,7 @@ var rootCmd = &cobra.Command{
return
}
var DefaultContentTopic uint32 = binary.LittleEndian.Uint32([]byte("dingpu"))
var DefaultContentTopic string = "dingpu"
response, err := wakuNode.Query(DefaultContentTopic, true, 10)
if err != nil {

View File

@ -196,7 +196,7 @@ func (w *WakuNode) AddStorePeer(address string) error {
return w.store.AddPeer(info.ID, info.Addrs)
}
func (w *WakuNode) Query(contentTopic uint32, asc bool, pageSize uint64) (*protocol.HistoryResponse, error) {
func (w *WakuNode) Query(contentTopic string, asc bool, pageSize uint64) (*protocol.HistoryResponse, error) {
if w.store == nil {
return nil, errors.New("WakuStore is not set")
}

View File

@ -25,7 +25,7 @@ const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type WakuMessage struct {
Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
ContentTopic uint32 `protobuf:"varint,2,opt,name=contentTopic,proto3" json:"contentTopic,omitempty"`
ContentTopic string `protobuf:"bytes,2,opt,name=contentTopic,proto3" json:"contentTopic,omitempty"`
Version uint32 `protobuf:"varint,3,opt,name=version,proto3" json:"version,omitempty"`
Timestamp float64 `protobuf:"fixed64,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
Proof []byte `protobuf:"bytes,21,opt,name=proof,proto3" json:"proof,omitempty"`
@ -74,11 +74,11 @@ func (m *WakuMessage) GetPayload() []byte {
return nil
}
func (m *WakuMessage) GetContentTopic() uint32 {
func (m *WakuMessage) GetContentTopic() string {
if m != nil {
return m.ContentTopic
}
return 0
return ""
}
func (m *WakuMessage) GetVersion() uint32 {
@ -109,19 +109,19 @@ func init() {
func init() { proto.RegisterFile("waku_message.proto", fileDescriptor_6f0a20862b3bf714) }
var fileDescriptor_6f0a20862b3bf714 = []byte{
// 183 bytes of a gzipped FileDescriptorProto
// 186 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x2a, 0x4f, 0xcc, 0x2e,
0x8d, 0xcf, 0x4d, 0x2d, 0x2e, 0x4e, 0x4c, 0x4f, 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2,
0x00, 0x53, 0xc9, 0xf9, 0x39, 0x4a, 0x33, 0x19, 0xb9, 0xb8, 0xc3, 0x13, 0xb3, 0x4b, 0x7d, 0x21,
0xf2, 0x42, 0x12, 0x5c, 0xec, 0x05, 0x89, 0x95, 0x39, 0xf9, 0x89, 0x29, 0x12, 0x8c, 0x0a, 0x8c,
0x1a, 0x3c, 0x41, 0x30, 0xae, 0x90, 0x12, 0x17, 0x4f, 0x72, 0x7e, 0x5e, 0x49, 0x6a, 0x5e, 0x49,
0x48, 0x7e, 0x41, 0x66, 0xb2, 0x04, 0x93, 0x02, 0xa3, 0x06, 0x6f, 0x10, 0x8a, 0x18, 0x48, 0x77,
0x59, 0x6a, 0x51, 0x71, 0x66, 0x7e, 0x9e, 0x04, 0x33, 0x58, 0x1a, 0xc6, 0x15, 0x92, 0xe1, 0xe2,
0x2c, 0xc9, 0xcc, 0x4d, 0x2d, 0x2e, 0x49, 0xcc, 0x2d, 0x90, 0x60, 0x51, 0x60, 0xd4, 0x60, 0x0c,
0x42, 0x08, 0x08, 0x89, 0x70, 0xb1, 0x16, 0x14, 0xe5, 0xe7, 0xa7, 0x49, 0x88, 0x82, 0xed, 0x84,
0x70, 0x9c, 0x04, 0x4e, 0x3c, 0x92, 0x63, 0xbc, 0xf0, 0x48, 0x8e, 0xf1, 0xc1, 0x23, 0x39, 0xc6,
0x19, 0x8f, 0xe5, 0x18, 0x92, 0xd8, 0xc0, 0xee, 0x36, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0xc9,
0xff, 0x08, 0x77, 0xd4, 0x00, 0x00, 0x00,
0x48, 0x7e, 0x41, 0x66, 0xb2, 0x04, 0x93, 0x02, 0xa3, 0x06, 0x67, 0x10, 0x8a, 0x18, 0x48, 0x77,
0x59, 0x6a, 0x51, 0x71, 0x66, 0x7e, 0x9e, 0x04, 0xb3, 0x02, 0xa3, 0x06, 0x6f, 0x10, 0x8c, 0x2b,
0x24, 0xc3, 0xc5, 0x59, 0x92, 0x99, 0x9b, 0x5a, 0x5c, 0x92, 0x98, 0x5b, 0x20, 0xc1, 0xa2, 0xc0,
0xa8, 0xc1, 0x18, 0x84, 0x10, 0x10, 0x12, 0xe1, 0x62, 0x2d, 0x28, 0xca, 0xcf, 0x4f, 0x93, 0x10,
0x05, 0xdb, 0x09, 0xe1, 0x38, 0x09, 0x9c, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91, 0x1c, 0xe3, 0x83,
0x47, 0x72, 0x8c, 0x33, 0x1e, 0xcb, 0x31, 0x24, 0xb1, 0x81, 0xdd, 0x6d, 0x0c, 0x08, 0x00, 0x00,
0xff, 0xff, 0xb0, 0xa0, 0x70, 0x06, 0xd4, 0x00, 0x00, 0x00,
}
func (m *WakuMessage) Marshal() (dAtA []byte, err error) {
@ -168,10 +168,12 @@ func (m *WakuMessage) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i--
dAtA[i] = 0x18
}
if m.ContentTopic != 0 {
i = encodeVarintWakuMessage(dAtA, i, uint64(m.ContentTopic))
if len(m.ContentTopic) > 0 {
i -= len(m.ContentTopic)
copy(dAtA[i:], m.ContentTopic)
i = encodeVarintWakuMessage(dAtA, i, uint64(len(m.ContentTopic)))
i--
dAtA[i] = 0x10
dAtA[i] = 0x12
}
if len(m.Payload) > 0 {
i -= len(m.Payload)
@ -204,8 +206,9 @@ func (m *WakuMessage) Size() (n int) {
if l > 0 {
n += 1 + l + sovWakuMessage(uint64(l))
}
if m.ContentTopic != 0 {
n += 1 + sovWakuMessage(uint64(m.ContentTopic))
l = len(m.ContentTopic)
if l > 0 {
n += 1 + l + sovWakuMessage(uint64(l))
}
if m.Version != 0 {
n += 1 + sovWakuMessage(uint64(m.Version))
@ -293,10 +296,10 @@ func (m *WakuMessage) Unmarshal(dAtA []byte) error {
}
iNdEx = postIndex
case 2:
if wireType != 0 {
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field ContentTopic", wireType)
}
m.ContentTopic = 0
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowWakuMessage
@ -306,11 +309,24 @@ func (m *WakuMessage) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
m.ContentTopic |= uint32(b&0x7F) << shift
stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthWakuMessage
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthWakuMessage
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.ContentTopic = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 3:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType)

View File

@ -4,7 +4,7 @@ package protocol;
message WakuMessage {
bytes payload = 1;
uint32 contentTopic = 2;
string contentTopic = 2;
uint32 version = 3;
double timestamp = 4;
bytes proof = 21;

View File

@ -167,7 +167,7 @@ func (m *PagingInfo) GetDirection() PagingInfo_Direction {
}
type HistoryQuery struct {
Topics []uint32 `protobuf:"varint,1,rep,packed,name=topics,proto3" json:"topics,omitempty"`
Topics []string `protobuf:"bytes,1,rep,name=topics,proto3" json:"topics,omitempty"`
PagingInfo *PagingInfo `protobuf:"bytes,2,opt,name=pagingInfo,proto3" json:"pagingInfo,omitempty"`
StartTime float64 `protobuf:"fixed64,3,opt,name=startTime,proto3" json:"startTime,omitempty"`
EndTime float64 `protobuf:"fixed64,4,opt,name=endTime,proto3" json:"endTime,omitempty"`
@ -209,7 +209,7 @@ func (m *HistoryQuery) XXX_DiscardUnknown() {
var xxx_messageInfo_HistoryQuery proto.InternalMessageInfo
func (m *HistoryQuery) GetTopics() []uint32 {
func (m *HistoryQuery) GetTopics() []string {
if m != nil {
return m.Topics
}
@ -367,34 +367,34 @@ func init() {
func init() { proto.RegisterFile("waku_store.proto", fileDescriptor_ca6891f77a46e680) }
var fileDescriptor_ca6891f77a46e680 = []byte{
// 427 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x51, 0xc1, 0x6e, 0xd3, 0x40,
0x10, 0xed, 0x92, 0x36, 0xb5, 0x27, 0x81, 0x46, 0x23, 0xa8, 0x4c, 0x05, 0x56, 0xe4, 0x03, 0xe4,
0x80, 0x2c, 0x61, 0xe0, 0xc6, 0xa5, 0x4d, 0x85, 0x88, 0x10, 0xa2, 0x2c, 0x48, 0x3d, 0x56, 0xc6,
0x1e, 0xac, 0x55, 0xa9, 0xd7, 0xdd, 0x5d, 0x03, 0xed, 0x57, 0x70, 0xe0, 0xc0, 0x9f, 0xf0, 0x0b,
0x1c, 0xf9, 0x04, 0x14, 0x7e, 0x04, 0x65, 0xbd, 0xb6, 0x83, 0xe0, 0xd4, 0xd3, 0xea, 0xcd, 0x7b,
0x33, 0xf3, 0xf6, 0x0d, 0x4c, 0x3e, 0xa5, 0xa7, 0xf5, 0x89, 0x36, 0x52, 0x51, 0x5c, 0x29, 0x69,
0x24, 0x7a, 0xf6, 0xc9, 0xe4, 0x87, 0x3d, 0xb4, 0xdc, 0x19, 0x69, 0x9d, 0x16, 0x8e, 0x8d, 0xe6,
0xb0, 0xb5, 0x28, 0x73, 0xfa, 0x8c, 0xbb, 0x30, 0xcc, 0x45, 0x41, 0xda, 0x04, 0x6c, 0xca, 0x66,
0x63, 0xee, 0x10, 0x46, 0x30, 0x56, 0x94, 0x91, 0xf8, 0x48, 0xf9, 0x5b, 0x71, 0x46, 0xc1, 0xb5,
0x29, 0x9b, 0x31, 0xfe, 0x57, 0x2d, 0xfa, 0xce, 0x00, 0x8e, 0xd2, 0x42, 0x94, 0xc5, 0xa2, 0x7c,
0x2f, 0x71, 0x0f, 0xbc, 0x2a, 0x2d, 0xe8, 0x8d, 0xb8, 0x24, 0x3b, 0x6c, 0x93, 0x77, 0x18, 0xef,
0xc3, 0x30, 0xab, 0x95, 0x96, 0xca, 0x0e, 0x1a, 0x25, 0x3b, 0x71, 0x6b, 0x2f, 0xb6, 0x3e, 0xb8,
0xa3, 0xf1, 0x29, 0xf8, 0xb9, 0x50, 0x94, 0x19, 0x21, 0xcb, 0x60, 0x30, 0x65, 0xb3, 0x1b, 0x49,
0xd8, 0x6b, 0xfb, 0x6d, 0xf1, 0x61, 0xab, 0xe2, 0x7d, 0x43, 0x74, 0x0f, 0xfc, 0xae, 0x8e, 0x63,
0xf0, 0x0e, 0xf6, 0xe7, 0x2f, 0x8e, 0xf7, 0xf9, 0xe1, 0x64, 0x03, 0x47, 0xb0, 0xfd, 0xec, 0x15,
0xb7, 0x80, 0x45, 0x5f, 0x19, 0x8c, 0x9f, 0x8b, 0x55, 0x5c, 0x17, 0xaf, 0x6b, 0x52, 0x17, 0xab,
0x18, 0x8c, 0xac, 0x44, 0xa6, 0x03, 0x36, 0x1d, 0xcc, 0xae, 0x73, 0x87, 0xf0, 0x31, 0x40, 0xd5,
0xed, 0x74, 0xde, 0x6f, 0xfe, 0xcf, 0x0f, 0x5f, 0xd3, 0xe1, 0x1d, 0xf0, 0xb5, 0x49, 0x95, 0xb1,
0xc9, 0x0d, 0x6c, 0x72, 0x7d, 0x01, 0x03, 0xd8, 0xa6, 0xb2, 0x49, 0x75, 0xd3, 0x72, 0x2d, 0x8c,
0x2e, 0x61, 0xc7, 0xb9, 0xe2, 0xa4, 0x2b, 0x59, 0x6a, 0xc2, 0x87, 0xe0, 0xb9, 0xcb, 0x35, 0xd6,
0x46, 0xc9, 0xad, 0x7e, 0xfd, 0x71, 0x7a, 0x5a, 0xbf, 0x6c, 0x58, 0xde, 0xc9, 0xae, 0xe6, 0x39,
0xfa, 0xc2, 0x00, 0xda, 0xe5, 0x47, 0x73, 0xbc, 0x0b, 0xa0, 0xe8, 0xbc, 0x26, 0x6d, 0x4e, 0x44,
0x6e, 0xcf, 0xe9, 0x73, 0xdf, 0x55, 0x16, 0x39, 0x3e, 0x80, 0xad, 0xf3, 0x55, 0x70, 0x6e, 0xfc,
0x6e, 0x3f, 0x7e, 0x3d, 0x56, 0xde, 0x88, 0xf0, 0x09, 0x78, 0xca, 0x7d, 0xc8, 0xc6, 0x31, 0x4a,
0x6e, 0xff, 0xd3, 0xd0, 0xfe, 0x98, 0x77, 0xd2, 0x83, 0xc9, 0x8f, 0x65, 0xc8, 0x7e, 0x2e, 0x43,
0xf6, 0x6b, 0x19, 0xb2, 0x6f, 0xbf, 0xc3, 0x8d, 0x77, 0x43, 0xdb, 0xf5, 0xe8, 0x4f, 0x00, 0x00,
0x00, 0xff, 0xff, 0x7e, 0xa9, 0x5e, 0x0d, 0xef, 0x02, 0x00, 0x00,
// 426 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x51, 0xc1, 0x6e, 0xd4, 0x30,
0x10, 0xad, 0xd9, 0x76, 0x9b, 0xcc, 0xae, 0xe8, 0x6a, 0x04, 0x55, 0xa8, 0x20, 0x5a, 0xe5, 0x00,
0x39, 0xa0, 0x48, 0x04, 0xb8, 0x71, 0x69, 0xb7, 0x42, 0xac, 0x10, 0xa2, 0x18, 0xa4, 0x1e, 0xab,
0x90, 0x0c, 0x91, 0x55, 0x1a, 0xa7, 0xb6, 0x03, 0xb4, 0x5f, 0xc1, 0x81, 0x03, 0x7f, 0xc2, 0x2f,
0x70, 0xe4, 0x13, 0xd0, 0xf2, 0x23, 0x68, 0x1d, 0x27, 0x29, 0x82, 0x13, 0x27, 0xeb, 0xcd, 0x7b,
0x33, 0xf3, 0xfc, 0x06, 0x66, 0x1f, 0xb3, 0xd3, 0xe6, 0x44, 0x1b, 0xa9, 0x28, 0xa9, 0x95, 0x34,
0x12, 0x3d, 0xfb, 0xe4, 0xf2, 0xfd, 0x1e, 0x5a, 0xee, 0x8c, 0xb4, 0xce, 0x4a, 0xc7, 0x46, 0x0b,
0xd8, 0x5a, 0x56, 0x05, 0x7d, 0xc2, 0x5d, 0x18, 0x17, 0xa2, 0x24, 0x6d, 0x02, 0x36, 0x67, 0xf1,
0x94, 0x3b, 0x84, 0x11, 0x4c, 0x15, 0xe5, 0x24, 0x3e, 0x50, 0xf1, 0x46, 0x9c, 0x51, 0x70, 0x6d,
0xce, 0x62, 0xc6, 0xff, 0xa8, 0x45, 0xdf, 0x18, 0xc0, 0x51, 0x56, 0x8a, 0xaa, 0x5c, 0x56, 0xef,
0x24, 0xee, 0x81, 0x57, 0x67, 0x25, 0xbd, 0x16, 0x97, 0x64, 0x87, 0x6d, 0xf2, 0x1e, 0xe3, 0x3d,
0x18, 0xe7, 0x8d, 0xd2, 0x52, 0xd9, 0x41, 0x93, 0x74, 0x27, 0xe9, 0xec, 0x25, 0xd6, 0x07, 0x77,
0x34, 0x3e, 0x01, 0xbf, 0x10, 0x8a, 0x72, 0x23, 0x64, 0x15, 0x8c, 0xe6, 0x2c, 0xbe, 0x9e, 0x86,
0x83, 0x76, 0xd8, 0x96, 0x1c, 0x76, 0x2a, 0x3e, 0x34, 0x44, 0x77, 0xc1, 0xef, 0xeb, 0x38, 0x05,
0xef, 0x60, 0x7f, 0xf1, 0xfc, 0x78, 0x9f, 0x1f, 0xce, 0x36, 0x70, 0x02, 0xdb, 0x4f, 0x5f, 0x72,
0x0b, 0x58, 0xf4, 0x85, 0xc1, 0xf4, 0x99, 0x58, 0xc7, 0x75, 0xf1, 0xaa, 0x21, 0x75, 0xb1, 0x8e,
0xc1, 0xc8, 0x5a, 0xe4, 0x3a, 0x60, 0xf3, 0x51, 0xec, 0x73, 0x87, 0xf0, 0x11, 0x40, 0xdd, 0xef,
0x74, 0xde, 0x6f, 0xfc, 0xcb, 0x0f, 0xbf, 0xa2, 0xc3, 0xdb, 0xe0, 0x6b, 0x93, 0x29, 0x63, 0x93,
0x1b, 0xd9, 0xe4, 0x86, 0x02, 0x06, 0xb0, 0x4d, 0x55, 0x9b, 0xea, 0xa6, 0xe5, 0x3a, 0x18, 0x5d,
0xc2, 0x8e, 0x73, 0xc5, 0x49, 0xd7, 0xb2, 0xd2, 0x84, 0x0f, 0xc0, 0x73, 0x97, 0x6b, 0xad, 0x4d,
0xd2, 0x9b, 0xc3, 0xfa, 0xe3, 0xec, 0xb4, 0x79, 0xd1, 0xb2, 0xbc, 0x97, 0xfd, 0x9f, 0xe7, 0xe8,
0x33, 0x03, 0xe8, 0x96, 0x1f, 0x2d, 0xf0, 0x0e, 0x80, 0xa2, 0xf3, 0x86, 0xb4, 0x39, 0x11, 0x85,
0x3d, 0xa7, 0xcf, 0x7d, 0x57, 0x59, 0x16, 0x78, 0x1f, 0xb6, 0xce, 0xd7, 0xc1, 0xb9, 0xf1, 0xbb,
0xc3, 0xf8, 0xab, 0xb1, 0xf2, 0x56, 0x84, 0x8f, 0xc1, 0x53, 0xee, 0x43, 0x36, 0x8e, 0x49, 0x7a,
0xeb, 0xaf, 0x86, 0xee, 0xc7, 0xbc, 0x97, 0x1e, 0xcc, 0xbe, 0xaf, 0x42, 0xf6, 0x63, 0x15, 0xb2,
0x9f, 0xab, 0x90, 0x7d, 0xfd, 0x15, 0x6e, 0xbc, 0x1d, 0xdb, 0xae, 0x87, 0xbf, 0x03, 0x00, 0x00,
0xff, 0xff, 0x9f, 0x85, 0xef, 0xfb, 0xef, 0x02, 0x00, 0x00,
}
func (m *Index) Marshal() (dAtA []byte, err error) {
@ -535,22 +535,13 @@ func (m *HistoryQuery) MarshalToSizedBuffer(dAtA []byte) (int, error) {
dAtA[i] = 0x12
}
if len(m.Topics) > 0 {
dAtA4 := make([]byte, len(m.Topics)*10)
var j3 int
for _, num := range m.Topics {
for num >= 1<<7 {
dAtA4[j3] = uint8(uint64(num)&0x7f | 0x80)
num >>= 7
j3++
}
dAtA4[j3] = uint8(num)
j3++
for iNdEx := len(m.Topics) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Topics[iNdEx])
copy(dAtA[i:], m.Topics[iNdEx])
i = encodeVarintWakuStore(dAtA, i, uint64(len(m.Topics[iNdEx])))
i--
dAtA[i] = 0xa
}
i -= j3
copy(dAtA[i:], dAtA4[:j3])
i = encodeVarintWakuStore(dAtA, i, uint64(j3))
i--
dAtA[i] = 0xa
}
return len(dAtA) - i, nil
}
@ -725,11 +716,10 @@ func (m *HistoryQuery) Size() (n int) {
var l int
_ = l
if len(m.Topics) > 0 {
l = 0
for _, e := range m.Topics {
l += sovWakuStore(uint64(e))
for _, s := range m.Topics {
l = len(s)
n += 1 + l + sovWakuStore(uint64(l))
}
n += 1 + sovWakuStore(uint64(l)) + l
}
if m.PagingInfo != nil {
l = m.PagingInfo.Size()
@ -1050,81 +1040,37 @@ func (m *HistoryQuery) Unmarshal(dAtA []byte) error {
}
switch fieldNum {
case 1:
if wireType == 0 {
var v uint32
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowWakuStore
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
v |= uint32(b&0x7F) << shift
if b < 0x80 {
break
}
}
m.Topics = append(m.Topics, v)
} else if wireType == 2 {
var packedLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowWakuStore
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
packedLen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
if packedLen < 0 {
return ErrInvalidLengthWakuStore
}
postIndex := iNdEx + packedLen
if postIndex < 0 {
return ErrInvalidLengthWakuStore
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
var elementCount int
var count int
for _, integer := range dAtA[iNdEx:postIndex] {
if integer < 128 {
count++
}
}
elementCount = count
if elementCount != 0 && len(m.Topics) == 0 {
m.Topics = make([]uint32, 0, elementCount)
}
for iNdEx < postIndex {
var v uint32
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowWakuStore
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
v |= uint32(b&0x7F) << shift
if b < 0x80 {
break
}
}
m.Topics = append(m.Topics, v)
}
} else {
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Topics", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowWakuStore
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthWakuStore
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthWakuStore
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Topics = append(m.Topics, string(dAtA[iNdEx:postIndex]))
iNdEx = postIndex
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field PagingInfo", wireType)

View File

@ -20,7 +20,7 @@ message PagingInfo {
}
message HistoryQuery {
repeated uint32 topics = 1;
repeated string topics = 1;
PagingInfo pagingInfo = 2; // used for pagination
double startTime = 3;
double endTime = 4;

View File

@ -31,6 +31,7 @@ var log = logging.Logger("wakustore")
const WakuStoreProtocolId = libp2pProtocol.ID("/vac/waku/store/2.0.0-beta1")
const MaxPageSize = 100 // Maximum number of waku messages in each page
const ConnectionTimeout = 10 * time.Second
const DefaultContentTopic = "/waku/2/default-content/proto"
func minOf(vars ...int) int {
min := vars[0]
@ -133,7 +134,7 @@ func paginateWithoutIndex(list []IndexedWakuMessage, pinfo *protocol.PagingInfo)
return
}
func contains(s []uint32, e uint32) bool {
func contains(s []string, e string) bool {
for _, a := range s {
if a == e {
return true