Merge pull request #44 from mhchia/fix/dht-key-to-bytes

Change the type of `key` in `DHTRequest` from `string` to `bytes`
This commit is contained in:
vyzo 2018-12-09 12:20:04 +02:00 committed by GitHub
commit e88ccf22aa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 145 additions and 137 deletions

12
dht.go
View File

@ -152,7 +152,8 @@ func (d *Daemon) doDHTGetClosestPeers(req *pb.DHTRequest) (*pb.Response, <-chan
ctx, cancel := d.dhtRequestContext(req)
ch, err := d.dht.GetClosestPeers(ctx, *req.Key)
keyString := string(req.Key)
ch, err := d.dht.GetClosestPeers(ctx, keyString)
if err != nil {
cancel()
return errorResponse(err), nil, nil
@ -207,7 +208,8 @@ func (d *Daemon) doDHTGetValue(req *pb.DHTRequest) (*pb.Response, <-chan *pb.DHT
ctx, cancel := d.dhtRequestContext(req)
defer cancel()
val, err := d.dht.GetValue(ctx, *req.Key)
keyString := string(req.Key)
val, err := d.dht.GetValue(ctx, keyString)
if err != nil {
return errorResponse(err), nil, nil
}
@ -222,7 +224,8 @@ func (d *Daemon) doDHTSearchValue(req *pb.DHTRequest) (*pb.Response, <-chan *pb.
ctx, cancel := d.dhtRequestContext(req)
ch, err := d.dht.SearchValue(ctx, *req.Key)
keyString := string(req.Key)
ch, err := d.dht.SearchValue(ctx, keyString)
if err != nil {
cancel()
return errorResponse(err), nil, nil
@ -256,7 +259,8 @@ func (d *Daemon) doDHTPutValue(req *pb.DHTRequest) (*pb.Response, <-chan *pb.DHT
ctx, cancel := d.dhtRequestContext(req)
defer cancel()
err := d.dht.PutValue(ctx, *req.Key, req.Value)
keyString := string(req.Key)
err := d.dht.PutValue(ctx, keyString, req.Value)
if err != nil {
return errorResponse(err), nil, nil
}

View File

@ -179,10 +179,10 @@ func (c *Client) GetPublicKey(peer peer.ID) (crypto.PubKey, error) {
}
// GetValue queries the daemon for a value stored at a key.
func (c *Client) GetValue(key string) ([]byte, error) {
func (c *Client) GetValue(key []byte) ([]byte, error) {
req := &pb.DHTRequest{
Type: pb.DHTRequest_GET_VALUE.Enum(),
Key: &key,
Key: key,
}
msg, err := c.doDHTNonNil(req)
@ -194,10 +194,10 @@ func (c *Client) GetValue(key string) ([]byte, error) {
}
// PutValue sets the value stored at a given key in the DHT to a given value.
func (c *Client) PutValue(key string, value []byte) error {
func (c *Client) PutValue(key []byte, value []byte) error {
req := &pb.DHTRequest{
Type: pb.DHTRequest_PUT_VALUE.Enum(),
Key: &key,
Key: key,
Value: value,
}
@ -338,10 +338,10 @@ func (c *Client) FindProviders(ctx context.Context, cid cid.Cid) (<-chan PeerInf
// GetClosestPeers queries the DHT routing table for peers that are closest
// to a provided key.
func (c *Client) GetClosestPeers(ctx context.Context, key string) (<-chan peer.ID, error) {
func (c *Client) GetClosestPeers(ctx context.Context, key []byte) (<-chan peer.ID, error) {
req := newDHTReq(&pb.DHTRequest{
Type: pb.DHTRequest_GET_CLOSEST_PEERS.Enum(),
Key: &key,
Key: key,
})
return c.streamRequestPeerID(ctx, req)
@ -349,10 +349,10 @@ func (c *Client) GetClosestPeers(ctx context.Context, key string) (<-chan peer.I
// SearchValue queries the DHT for the best/most valid value stored at a key.
// Later responses are better.
func (c *Client) SearchValue(ctx context.Context, key string) (<-chan []byte, error) {
func (c *Client) SearchValue(ctx context.Context, key []byte) (<-chan []byte, error) {
req := newDHTReq(&pb.DHTRequest{
Type: pb.DHTRequest_SEARCH_VALUE.Enum(),
Key: &key,
Key: key,
})
return c.streamRequestValue(ctx, req)

View File

@ -76,7 +76,7 @@ func (x *Request_Type) UnmarshalJSON(data []byte) error {
return nil
}
func (Request_Type) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_p2pd_7f62241c2c6b13d6, []int{0, 0}
return fileDescriptor_p2pd_c0044816e48d3fb2, []int{0, 0}
}
type Response_Type int32
@ -112,7 +112,7 @@ func (x *Response_Type) UnmarshalJSON(data []byte) error {
return nil
}
func (Response_Type) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_p2pd_7f62241c2c6b13d6, []int{1, 0}
return fileDescriptor_p2pd_c0044816e48d3fb2, []int{1, 0}
}
type DHTRequest_Type int32
@ -169,7 +169,7 @@ func (x *DHTRequest_Type) UnmarshalJSON(data []byte) error {
return nil
}
func (DHTRequest_Type) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_p2pd_7f62241c2c6b13d6, []int{8, 0}
return fileDescriptor_p2pd_c0044816e48d3fb2, []int{8, 0}
}
type DHTResponse_Type int32
@ -208,7 +208,7 @@ func (x *DHTResponse_Type) UnmarshalJSON(data []byte) error {
return nil
}
func (DHTResponse_Type) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_p2pd_7f62241c2c6b13d6, []int{9, 0}
return fileDescriptor_p2pd_c0044816e48d3fb2, []int{9, 0}
}
type ConnManagerRequest_Type int32
@ -247,7 +247,7 @@ func (x *ConnManagerRequest_Type) UnmarshalJSON(data []byte) error {
return nil
}
func (ConnManagerRequest_Type) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_p2pd_7f62241c2c6b13d6, []int{11, 0}
return fileDescriptor_p2pd_c0044816e48d3fb2, []int{11, 0}
}
type PSRequest_Type int32
@ -289,7 +289,7 @@ func (x *PSRequest_Type) UnmarshalJSON(data []byte) error {
return nil
}
func (PSRequest_Type) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_p2pd_7f62241c2c6b13d6, []int{13, 0}
return fileDescriptor_p2pd_c0044816e48d3fb2, []int{13, 0}
}
type Request struct {
@ -310,7 +310,7 @@ func (m *Request) Reset() { *m = Request{} }
func (m *Request) String() string { return proto.CompactTextString(m) }
func (*Request) ProtoMessage() {}
func (*Request) Descriptor() ([]byte, []int) {
return fileDescriptor_p2pd_7f62241c2c6b13d6, []int{0}
return fileDescriptor_p2pd_c0044816e48d3fb2, []int{0}
}
func (m *Request) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -412,7 +412,7 @@ func (m *Response) Reset() { *m = Response{} }
func (m *Response) String() string { return proto.CompactTextString(m) }
func (*Response) ProtoMessage() {}
func (*Response) Descriptor() ([]byte, []int) {
return fileDescriptor_p2pd_7f62241c2c6b13d6, []int{1}
return fileDescriptor_p2pd_c0044816e48d3fb2, []int{1}
}
func (m *Response) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -502,7 +502,7 @@ func (m *IdentifyResponse) Reset() { *m = IdentifyResponse{} }
func (m *IdentifyResponse) String() string { return proto.CompactTextString(m) }
func (*IdentifyResponse) ProtoMessage() {}
func (*IdentifyResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_p2pd_7f62241c2c6b13d6, []int{2}
return fileDescriptor_p2pd_c0044816e48d3fb2, []int{2}
}
func (m *IdentifyResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -558,7 +558,7 @@ func (m *ConnectRequest) Reset() { *m = ConnectRequest{} }
func (m *ConnectRequest) String() string { return proto.CompactTextString(m) }
func (*ConnectRequest) ProtoMessage() {}
func (*ConnectRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_p2pd_7f62241c2c6b13d6, []int{3}
return fileDescriptor_p2pd_c0044816e48d3fb2, []int{3}
}
func (m *ConnectRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -621,7 +621,7 @@ func (m *StreamOpenRequest) Reset() { *m = StreamOpenRequest{} }
func (m *StreamOpenRequest) String() string { return proto.CompactTextString(m) }
func (*StreamOpenRequest) ProtoMessage() {}
func (*StreamOpenRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_p2pd_7f62241c2c6b13d6, []int{4}
return fileDescriptor_p2pd_c0044816e48d3fb2, []int{4}
}
func (m *StreamOpenRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -683,7 +683,7 @@ func (m *StreamHandlerRequest) Reset() { *m = StreamHandlerRequest{} }
func (m *StreamHandlerRequest) String() string { return proto.CompactTextString(m) }
func (*StreamHandlerRequest) ProtoMessage() {}
func (*StreamHandlerRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_p2pd_7f62241c2c6b13d6, []int{5}
return fileDescriptor_p2pd_c0044816e48d3fb2, []int{5}
}
func (m *StreamHandlerRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -737,7 +737,7 @@ func (m *ErrorResponse) Reset() { *m = ErrorResponse{} }
func (m *ErrorResponse) String() string { return proto.CompactTextString(m) }
func (*ErrorResponse) ProtoMessage() {}
func (*ErrorResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_p2pd_7f62241c2c6b13d6, []int{6}
return fileDescriptor_p2pd_c0044816e48d3fb2, []int{6}
}
func (m *ErrorResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -786,7 +786,7 @@ func (m *StreamInfo) Reset() { *m = StreamInfo{} }
func (m *StreamInfo) String() string { return proto.CompactTextString(m) }
func (*StreamInfo) ProtoMessage() {}
func (*StreamInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_p2pd_7f62241c2c6b13d6, []int{7}
return fileDescriptor_p2pd_c0044816e48d3fb2, []int{7}
}
func (m *StreamInfo) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -840,7 +840,7 @@ type DHTRequest struct {
Type *DHTRequest_Type `protobuf:"varint,1,req,name=type,enum=p2pd.pb.DHTRequest_Type" json:"type,omitempty"`
Peer []byte `protobuf:"bytes,2,opt,name=peer" json:"peer,omitempty"`
Cid []byte `protobuf:"bytes,3,opt,name=cid" json:"cid,omitempty"`
Key *string `protobuf:"bytes,4,opt,name=key" json:"key,omitempty"`
Key []byte `protobuf:"bytes,4,opt,name=key" json:"key,omitempty"`
Value []byte `protobuf:"bytes,5,opt,name=value" json:"value,omitempty"`
Count *int32 `protobuf:"varint,6,opt,name=count" json:"count,omitempty"`
Timeout *int64 `protobuf:"varint,7,opt,name=timeout" json:"timeout,omitempty"`
@ -853,7 +853,7 @@ func (m *DHTRequest) Reset() { *m = DHTRequest{} }
func (m *DHTRequest) String() string { return proto.CompactTextString(m) }
func (*DHTRequest) ProtoMessage() {}
func (*DHTRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_p2pd_7f62241c2c6b13d6, []int{8}
return fileDescriptor_p2pd_c0044816e48d3fb2, []int{8}
}
func (m *DHTRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -903,11 +903,11 @@ func (m *DHTRequest) GetCid() []byte {
return nil
}
func (m *DHTRequest) GetKey() string {
if m != nil && m.Key != nil {
return *m.Key
func (m *DHTRequest) GetKey() []byte {
if m != nil {
return m.Key
}
return ""
return nil
}
func (m *DHTRequest) GetValue() []byte {
@ -944,7 +944,7 @@ func (m *DHTResponse) Reset() { *m = DHTResponse{} }
func (m *DHTResponse) String() string { return proto.CompactTextString(m) }
func (*DHTResponse) ProtoMessage() {}
func (*DHTResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_p2pd_7f62241c2c6b13d6, []int{9}
return fileDescriptor_p2pd_c0044816e48d3fb2, []int{9}
}
func (m *DHTResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1006,7 +1006,7 @@ func (m *PeerInfo) Reset() { *m = PeerInfo{} }
func (m *PeerInfo) String() string { return proto.CompactTextString(m) }
func (*PeerInfo) ProtoMessage() {}
func (*PeerInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_p2pd_7f62241c2c6b13d6, []int{10}
return fileDescriptor_p2pd_c0044816e48d3fb2, []int{10}
}
func (m *PeerInfo) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1063,7 +1063,7 @@ func (m *ConnManagerRequest) Reset() { *m = ConnManagerRequest{} }
func (m *ConnManagerRequest) String() string { return proto.CompactTextString(m) }
func (*ConnManagerRequest) ProtoMessage() {}
func (*ConnManagerRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_p2pd_7f62241c2c6b13d6, []int{11}
return fileDescriptor_p2pd_c0044816e48d3fb2, []int{11}
}
func (m *ConnManagerRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1131,7 +1131,7 @@ func (m *DisconnectRequest) Reset() { *m = DisconnectRequest{} }
func (m *DisconnectRequest) String() string { return proto.CompactTextString(m) }
func (*DisconnectRequest) ProtoMessage() {}
func (*DisconnectRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_p2pd_7f62241c2c6b13d6, []int{12}
return fileDescriptor_p2pd_c0044816e48d3fb2, []int{12}
}
func (m *DisconnectRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1180,7 +1180,7 @@ func (m *PSRequest) Reset() { *m = PSRequest{} }
func (m *PSRequest) String() string { return proto.CompactTextString(m) }
func (*PSRequest) ProtoMessage() {}
func (*PSRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_p2pd_7f62241c2c6b13d6, []int{13}
return fileDescriptor_p2pd_c0044816e48d3fb2, []int{13}
}
func (m *PSRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1246,7 +1246,7 @@ func (m *PSMessage) Reset() { *m = PSMessage{} }
func (m *PSMessage) String() string { return proto.CompactTextString(m) }
func (*PSMessage) ProtoMessage() {}
func (*PSMessage) Descriptor() ([]byte, []int) {
return fileDescriptor_p2pd_7f62241c2c6b13d6, []int{14}
return fileDescriptor_p2pd_c0044816e48d3fb2, []int{14}
}
func (m *PSMessage) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1329,7 +1329,7 @@ func (m *PSResponse) Reset() { *m = PSResponse{} }
func (m *PSResponse) String() string { return proto.CompactTextString(m) }
func (*PSResponse) ProtoMessage() {}
func (*PSResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_p2pd_7f62241c2c6b13d6, []int{15}
return fileDescriptor_p2pd_c0044816e48d3fb2, []int{15}
}
func (m *PSResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1867,8 +1867,8 @@ func (m *DHTRequest) MarshalTo(dAtA []byte) (int, error) {
if m.Key != nil {
dAtA[i] = 0x22
i++
i = encodeVarintP2Pd(dAtA, i, uint64(len(*m.Key)))
i += copy(dAtA[i:], *m.Key)
i = encodeVarintP2Pd(dAtA, i, uint64(len(m.Key)))
i += copy(dAtA[i:], m.Key)
}
if m.Value != nil {
dAtA[i] = 0x2a
@ -2442,7 +2442,7 @@ func (m *DHTRequest) Size() (n int) {
n += 1 + l + sovP2Pd(uint64(l))
}
if m.Key != nil {
l = len(*m.Key)
l = len(m.Key)
n += 1 + l + sovP2Pd(uint64(l))
}
if m.Value != nil {
@ -4087,7 +4087,7 @@ func (m *DHTRequest) Unmarshal(dAtA []byte) error {
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
}
var stringLen uint64
var byteLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowP2Pd
@ -4097,21 +4097,22 @@ func (m *DHTRequest) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift
byteLen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
if byteLen < 0 {
return ErrInvalidLengthP2Pd
}
postIndex := iNdEx + intStringLen
postIndex := iNdEx + byteLen
if postIndex > l {
return io.ErrUnexpectedEOF
}
s := string(dAtA[iNdEx:postIndex])
m.Key = &s
m.Key = append(m.Key[:0], dAtA[iNdEx:postIndex]...)
if m.Key == nil {
m.Key = []byte{}
}
iNdEx = postIndex
case 5:
if wireType != 2 {
@ -5295,79 +5296,79 @@ var (
ErrIntOverflowP2Pd = fmt.Errorf("proto: integer overflow")
)
func init() { proto.RegisterFile("p2pd.proto", fileDescriptor_p2pd_7f62241c2c6b13d6) }
func init() { proto.RegisterFile("p2pd.proto", fileDescriptor_p2pd_c0044816e48d3fb2) }
var fileDescriptor_p2pd_7f62241c2c6b13d6 = []byte{
// 1132 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x55, 0xcd, 0x6e, 0xdb, 0xc6,
0x13, 0x37, 0x49, 0x7d, 0x8e, 0x64, 0xfd, 0xd7, 0x1b, 0x27, 0xa1, 0xf3, 0x4f, 0x0d, 0x95, 0x80,
0x1b, 0x37, 0x49, 0x8d, 0xd6, 0x6d, 0x81, 0xa2, 0x40, 0x8b, 0xea, 0x83, 0xb1, 0xd8, 0xd8, 0x92,
0xb0, 0xa4, 0x52, 0xe4, 0x24, 0xd0, 0xe6, 0x5a, 0x16, 0x12, 0x93, 0x0a, 0x49, 0xb5, 0xf0, 0x3b,
0xf4, 0xda, 0x7b, 0x4f, 0x7d, 0x81, 0x5e, 0xfa, 0x02, 0x05, 0x7a, 0xec, 0x23, 0x14, 0xbe, 0xf5,
0xd2, 0x67, 0x28, 0xf6, 0x8b, 0x22, 0x6d, 0x35, 0xc8, 0x6d, 0x66, 0xf6, 0x37, 0x1f, 0x3b, 0xfb,
0x9b, 0x59, 0x80, 0xc5, 0xe1, 0x22, 0x38, 0x58, 0xc4, 0x51, 0x1a, 0xe1, 0xaa, 0x90, 0x4f, 0xad,
0xdf, 0x4b, 0x50, 0x25, 0xf4, 0xcd, 0x92, 0x26, 0x29, 0xfe, 0x10, 0x4a, 0xe9, 0xd5, 0x82, 0x9a,
0x5a, 0x5b, 0xdf, 0x6f, 0x1d, 0xde, 0x3d, 0x90, 0x98, 0x03, 0x79, 0x7e, 0xe0, 0x5d, 0x2d, 0x28,
0xe1, 0x10, 0xfc, 0x09, 0x54, 0xcf, 0xa2, 0x30, 0xa4, 0x67, 0xa9, 0xa9, 0xb7, 0xb5, 0xfd, 0xc6,
0xe1, 0xfd, 0x0c, 0xdd, 0x13, 0x76, 0xe9, 0x44, 0x14, 0x0e, 0x7f, 0x09, 0x90, 0xa4, 0x31, 0xf5,
0x2f, 0x47, 0x0b, 0x1a, 0x9a, 0x06, 0xf7, 0x7a, 0x90, 0x79, 0xb9, 0xd9, 0x91, 0x72, 0xcc, 0xa1,
0x71, 0x0f, 0x36, 0x85, 0x36, 0xf0, 0xc3, 0xe0, 0x35, 0x8d, 0xcd, 0x12, 0x77, 0x7f, 0xef, 0x86,
0xbb, 0x3c, 0x55, 0x11, 0x8a, 0x3e, 0x78, 0x0f, 0x8c, 0xe0, 0x22, 0x35, 0xcb, 0xdc, 0xf5, 0x4e,
0xe6, 0xda, 0x1f, 0x78, 0xca, 0x81, 0x9d, 0xe3, 0xaf, 0xa0, 0xc1, 0x4a, 0x3e, 0xf1, 0x43, 0x7f,
0x46, 0x63, 0xb3, 0xc2, 0xe1, 0xff, 0x2f, 0x5c, 0x4f, 0x9e, 0x29, 0xb7, 0x3c, 0x9e, 0x5d, 0x33,
0x98, 0x27, 0xaa, 0x39, 0xd5, 0x1b, 0xd7, 0xec, 0x67, 0x47, 0xd9, 0x35, 0x57, 0x68, 0xfc, 0x18,
0x2a, 0x8b, 0xe5, 0x69, 0xb2, 0x3c, 0x35, 0x6b, 0xdc, 0x0f, 0x67, 0x7e, 0x63, 0x57, 0xe1, 0x25,
0xc2, 0xfa, 0x51, 0x83, 0x12, 0x7b, 0x10, 0xdc, 0x84, 0x9a, 0xd3, 0xb7, 0x87, 0x9e, 0xf3, 0xec,
0x25, 0xda, 0xc0, 0x0d, 0xa8, 0xf6, 0x46, 0xc3, 0xa1, 0xdd, 0xf3, 0x90, 0x86, 0xff, 0x07, 0x0d,
0xd7, 0x23, 0x76, 0xe7, 0x64, 0x3a, 0x1a, 0xdb, 0x43, 0xa4, 0x63, 0x0c, 0x2d, 0x69, 0x18, 0x74,
0x86, 0xfd, 0x63, 0x9b, 0x20, 0x03, 0x57, 0xc1, 0xe8, 0x0f, 0x3c, 0x54, 0xc2, 0x2d, 0x80, 0x63,
0xc7, 0xf5, 0xa6, 0x63, 0xdb, 0x26, 0x2e, 0x2a, 0x33, 0x6f, 0x16, 0xea, 0xa4, 0x33, 0xec, 0x1c,
0xd9, 0x04, 0x55, 0x18, 0xa0, 0xef, 0xb8, 0x2a, 0x7c, 0x15, 0x03, 0x54, 0xc6, 0x93, 0xae, 0x3b,
0xe9, 0xa2, 0x9a, 0xf5, 0xb7, 0x0e, 0x35, 0x42, 0x93, 0x45, 0x14, 0x26, 0x14, 0x3f, 0x2e, 0x10,
0xe9, 0x5e, 0x8e, 0x48, 0x02, 0x90, 0x67, 0xd2, 0x53, 0x28, 0xd3, 0x38, 0x8e, 0x62, 0xc9, 0xa3,
0x15, 0xd8, 0x66, 0x56, 0xe5, 0x41, 0x04, 0x08, 0x7f, 0xaa, 0x48, 0xe4, 0x84, 0xe7, 0x91, 0x24,
0xd1, 0x9d, 0x1b, 0x2c, 0x60, 0x47, 0x24, 0x07, 0xc3, 0x9f, 0x43, 0x6d, 0x1e, 0xd0, 0x30, 0x9d,
0x9f, 0x5f, 0x49, 0xe2, 0xec, 0x64, 0x2e, 0x8e, 0x3c, 0xc8, 0x12, 0x65, 0x50, 0xfc, 0x41, 0x9e,
0x2f, 0xdb, 0x45, 0xbe, 0x48, 0x30, 0x27, 0xcc, 0x23, 0x28, 0x2f, 0x28, 0x8d, 0x13, 0xb3, 0xd2,
0x36, 0xf6, 0x1b, 0x87, 0x5b, 0xab, 0x47, 0xa3, 0x34, 0xe6, 0xc5, 0x88, 0x73, 0xfc, 0x24, 0x7b,
0xde, 0xea, 0x8d, 0xc2, 0xd9, 0xf3, 0xca, 0x90, 0xea, 0x7d, 0x77, 0xe4, 0xf3, 0x56, 0x40, 0x1f,
0x3d, 0x47, 0x1b, 0xb8, 0x0e, 0x65, 0x9b, 0x90, 0x11, 0x41, 0x9a, 0xf5, 0x05, 0xa0, 0x9b, 0x65,
0xe3, 0x16, 0xe8, 0xf3, 0x80, 0x37, 0xbc, 0x49, 0xf4, 0x79, 0x80, 0xb7, 0xa1, 0xec, 0x07, 0x41,
0x9c, 0x98, 0x7a, 0xdb, 0xd8, 0x6f, 0x12, 0xa1, 0x58, 0x1e, 0xb4, 0x8a, 0xe3, 0x89, 0x31, 0x94,
0x58, 0x71, 0xd2, 0x93, 0xcb, 0xeb, 0x7d, 0xb1, 0x09, 0xd5, 0x74, 0x7e, 0x49, 0xa3, 0x65, 0xca,
0xfb, 0x6e, 0x10, 0xa5, 0x5a, 0xdf, 0xc1, 0xd6, 0xad, 0xf1, 0xfd, 0xaf, 0xc0, 0x7c, 0xfd, 0xf0,
0xc0, 0x75, 0x22, 0x94, 0xb7, 0x04, 0xfe, 0x06, 0xb6, 0xd7, 0x0d, 0x36, 0x8f, 0xed, 0xa7, 0x17,
0x3c, 0x76, 0x9d, 0x70, 0x79, 0x7d, 0x6c, 0xeb, 0x7d, 0xd8, 0x2c, 0xf0, 0x08, 0x23, 0x30, 0x2e,
0x93, 0x99, 0xf4, 0x64, 0xa2, 0xf5, 0x2d, 0xc0, 0x8a, 0x37, 0x6b, 0xcb, 0xc6, 0x50, 0x62, 0x2d,
0x30, 0x75, 0x61, 0x63, 0xf2, 0x2a, 0x9d, 0xc1, 0x23, 0xc9, 0x74, 0xff, 0xe8, 0x00, 0xab, 0x7d,
0x82, 0x9f, 0x16, 0xe6, 0xc0, 0x5c, 0xb3, 0x72, 0xf2, 0x93, 0xa0, 0x52, 0xb3, 0x41, 0x50, 0xa9,
0x11, 0x18, 0x67, 0xf3, 0x80, 0xf7, 0xa5, 0x49, 0x98, 0xc8, 0x2c, 0xaf, 0xa8, 0xe0, 0x71, 0x9d,
0x30, 0x91, 0x95, 0xf2, 0xbd, 0xff, 0x7a, 0x49, 0x39, 0x53, 0x9b, 0x44, 0x28, 0xcc, 0x7a, 0x16,
0x2d, 0xc3, 0x94, 0x2f, 0xb0, 0x32, 0x11, 0x4a, 0xbe, 0xd7, 0xd5, 0x62, 0xaf, 0x7f, 0x55, 0xfb,
0x64, 0x13, 0xea, 0xcf, 0x9c, 0x61, 0x9f, 0xaf, 0x01, 0xb4, 0x81, 0xdb, 0xf0, 0x30, 0x53, 0xdd,
0xa9, 0x1c, 0x7e, 0xbb, 0x3f, 0xf5, 0x46, 0x02, 0xa1, 0xb1, 0xa5, 0x22, 0x10, 0x64, 0xf4, 0xc2,
0xe9, 0xb3, 0xdd, 0xa1, 0xe3, 0xbb, 0xb0, 0x75, 0x64, 0x7b, 0xd3, 0xde, 0xf1, 0xc8, 0xb5, 0xb3,
0x95, 0x62, 0x30, 0x28, 0x33, 0x8f, 0x27, 0xdd, 0x63, 0xa7, 0x37, 0x7d, 0x6e, 0xbf, 0x44, 0x25,
0x96, 0x8f, 0xd9, 0x5e, 0x74, 0x8e, 0x27, 0x36, 0x2a, 0x63, 0x04, 0x4d, 0xd7, 0xee, 0x90, 0xde,
0x40, 0x5a, 0x2a, 0x0c, 0x30, 0x9e, 0x28, 0x40, 0x95, 0x6d, 0x38, 0x99, 0x09, 0xd5, 0xac, 0x9f,
0x35, 0x68, 0xe4, 0x06, 0x12, 0x7f, 0x54, 0xe8, 0xf8, 0xce, 0xba, 0xa1, 0xcd, 0xb7, 0x7c, 0x2f,
0xd7, 0xf2, 0xb5, 0x93, 0x9b, 0xf1, 0x56, 0x74, 0xd8, 0xc8, 0x75, 0xd8, 0xda, 0x93, 0x0d, 0xab,
0x43, 0xb9, 0x6b, 0x1f, 0x39, 0x43, 0x31, 0xa4, 0xa2, 0x4c, 0x8d, 0xad, 0x55, 0x7b, 0xd8, 0x47,
0xba, 0xf5, 0x31, 0xd4, 0x54, 0xb8, 0x77, 0x9c, 0xd2, 0xdf, 0x34, 0xc0, 0xb7, 0xbf, 0x19, 0xfc,
0x59, 0xe1, 0x6e, 0xed, 0xb7, 0xfc, 0x48, 0xef, 0xc0, 0xaa, 0xd4, 0x9f, 0xf1, 0xdb, 0xd4, 0x09,
0x13, 0xf1, 0x3d, 0xa8, 0xfc, 0x40, 0xe7, 0xb3, 0x8b, 0x94, 0x13, 0xcb, 0x20, 0x52, 0xb3, 0x0e,
0x56, 0x9f, 0x8c, 0xd7, 0x39, 0x52, 0x9c, 0x68, 0x01, 0x4c, 0x86, 0x99, 0xae, 0xe1, 0x1a, 0x94,
0x3c, 0xe2, 0x9c, 0x20, 0xdd, 0x7a, 0x04, 0x5b, 0xb7, 0xbe, 0xb8, 0x75, 0x33, 0x65, 0xfd, 0xa2,
0x41, 0x3d, 0xfb, 0xd4, 0xf0, 0x93, 0xc2, 0xd5, 0xee, 0xdf, 0xfe, 0xf6, 0xf2, 0x37, 0xda, 0x86,
0x72, 0x1a, 0x2d, 0xe6, 0x67, 0xfc, 0x4a, 0x75, 0x22, 0x14, 0x96, 0x24, 0xf0, 0x53, 0x5f, 0x3e,
0x11, 0x97, 0xad, 0xae, 0xac, 0xbe, 0x05, 0xc0, 0x28, 0xe6, 0x8d, 0xc6, 0x4e, 0xcf, 0x15, 0xf5,
0xe7, 0x7e, 0x3a, 0x8d, 0x53, 0x8a, 0x51, 0xd2, 0x1d, 0x20, 0x9d, 0xd1, 0xcd, 0x9d, 0x74, 0xdd,
0x1e, 0x71, 0xba, 0x36, 0x32, 0xac, 0x9f, 0x78, 0xa1, 0x27, 0x34, 0x49, 0xfc, 0x19, 0xef, 0xe6,
0x79, 0x1c, 0x5d, 0x9a, 0x9a, 0xc8, 0xc2, 0xe4, 0x2c, 0xb3, 0xbe, 0xca, 0xcc, 0x6a, 0x4c, 0xe8,
0x9b, 0x30, 0x52, 0x8c, 0xe1, 0x0a, 0x7e, 0x00, 0x35, 0x5e, 0xac, 0xd3, 0x4f, 0xcc, 0x12, 0x5f,
0x53, 0x99, 0x8e, 0x1f, 0x42, 0x3d, 0x99, 0xcf, 0x42, 0x3f, 0x5d, 0xc6, 0x6a, 0x92, 0x57, 0x06,
0x35, 0xf5, 0x15, 0xb1, 0x07, 0x5e, 0xd1, 0x2b, 0xeb, 0x6b, 0x80, 0xd5, 0xaf, 0xc1, 0xde, 0x8f,
0x47, 0x4a, 0x4c, 0x8d, 0xc7, 0x95, 0x1a, 0x9b, 0x77, 0xd6, 0x6e, 0x96, 0x50, 0x50, 0x4c, 0xa9,
0xdd, 0xe6, 0x1f, 0xd7, 0xbb, 0xda, 0x9f, 0xd7, 0xbb, 0xda, 0x5f, 0xd7, 0xbb, 0xda, 0xbf, 0x01,
0x00, 0x00, 0xff, 0xff, 0xf8, 0x8a, 0x93, 0x21, 0x1c, 0x0a, 0x00, 0x00,
var fileDescriptor_p2pd_c0044816e48d3fb2 = []byte{
// 1129 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x55, 0x4f, 0x6f, 0xe3, 0x44,
0x14, 0xaf, 0xed, 0x24, 0x4e, 0x5e, 0xd2, 0x30, 0x9d, 0xed, 0xee, 0xba, 0xcb, 0x52, 0x05, 0x4b,
0x65, 0xcb, 0xee, 0x52, 0x41, 0x01, 0x09, 0x21, 0x81, 0x48, 0x62, 0x6f, 0x63, 0xb6, 0x4d, 0xa2,
0xb1, 0xb3, 0x68, 0x4f, 0x91, 0x5b, 0x4f, 0xd3, 0x88, 0xad, 0x9d, 0xb5, 0x1d, 0x50, 0xbf, 0x03,
0x57, 0xee, 0x9c, 0xf8, 0x02, 0x5c, 0xf8, 0x02, 0x48, 0x1c, 0xf9, 0x08, 0xa8, 0x37, 0x2e, 0x7c,
0x06, 0x34, 0xe3, 0x19, 0xc7, 0x6e, 0xc3, 0x6a, 0x6f, 0xef, 0xbd, 0xf9, 0xbd, 0x3f, 0xf3, 0xe6,
0xf7, 0xde, 0x00, 0x2c, 0x0e, 0x17, 0xc1, 0xc1, 0x22, 0x8e, 0xd2, 0x08, 0xeb, 0x99, 0x7c, 0x6a,
0xfe, 0x51, 0x01, 0x9d, 0xd0, 0xd7, 0x4b, 0x9a, 0xa4, 0xf8, 0x43, 0xa8, 0xa4, 0x57, 0x0b, 0x6a,
0x28, 0x1d, 0x75, 0xbf, 0x7d, 0x78, 0xf7, 0x40, 0x60, 0x0e, 0xc4, 0xf9, 0x81, 0x77, 0xb5, 0xa0,
0x84, 0x43, 0xf0, 0x27, 0xa0, 0x9f, 0x45, 0x61, 0x48, 0xcf, 0x52, 0x43, 0xed, 0x28, 0xfb, 0xcd,
0xc3, 0xfb, 0x39, 0xba, 0x9f, 0xd9, 0x85, 0x13, 0x91, 0x38, 0xfc, 0x25, 0x40, 0x92, 0xc6, 0xd4,
0xbf, 0x1c, 0x2d, 0x68, 0x68, 0x68, 0xdc, 0xeb, 0x41, 0xee, 0xe5, 0xe6, 0x47, 0xd2, 0xb1, 0x80,
0xc6, 0x7d, 0xd8, 0xcc, 0xb4, 0x81, 0x1f, 0x06, 0xaf, 0x68, 0x6c, 0x54, 0xb8, 0xfb, 0x7b, 0x37,
0xdc, 0xc5, 0xa9, 0x8c, 0x50, 0xf6, 0xc1, 0x7b, 0xa0, 0x05, 0x17, 0xa9, 0x51, 0xe5, 0xae, 0x77,
0x72, 0x57, 0x6b, 0xe0, 0x49, 0x07, 0x76, 0x8e, 0xbf, 0x82, 0x26, 0x2b, 0xf9, 0xc4, 0x0f, 0xfd,
0x19, 0x8d, 0x8d, 0x1a, 0x87, 0xbf, 0x5b, 0xba, 0x9e, 0x38, 0x93, 0x6e, 0x45, 0x3c, 0xbb, 0x66,
0x30, 0x4f, 0x64, 0x73, 0xf4, 0x1b, 0xd7, 0xb4, 0xf2, 0xa3, 0xfc, 0x9a, 0x2b, 0x34, 0x7e, 0x0c,
0xb5, 0xc5, 0xf2, 0x34, 0x59, 0x9e, 0x1a, 0x75, 0xee, 0x87, 0x73, 0xbf, 0xb1, 0x2b, 0xf1, 0x02,
0x61, 0xfe, 0xa4, 0x40, 0x85, 0x3d, 0x08, 0x6e, 0x41, 0xdd, 0xb1, 0xec, 0xa1, 0xe7, 0x3c, 0x7b,
0x89, 0x36, 0x70, 0x13, 0xf4, 0xfe, 0x68, 0x38, 0xb4, 0xfb, 0x1e, 0x52, 0xf0, 0x3b, 0xd0, 0x74,
0x3d, 0x62, 0x77, 0x4f, 0xa6, 0xa3, 0xb1, 0x3d, 0x44, 0x2a, 0xc6, 0xd0, 0x16, 0x86, 0x41, 0x77,
0x68, 0x1d, 0xdb, 0x04, 0x69, 0x58, 0x07, 0xcd, 0x1a, 0x78, 0xa8, 0x82, 0xdb, 0x00, 0xc7, 0x8e,
0xeb, 0x4d, 0xc7, 0xb6, 0x4d, 0x5c, 0x54, 0x65, 0xde, 0x2c, 0xd4, 0x49, 0x77, 0xd8, 0x3d, 0xb2,
0x09, 0xaa, 0x31, 0x80, 0xe5, 0xb8, 0x32, 0xbc, 0x8e, 0x01, 0x6a, 0xe3, 0x49, 0xcf, 0x9d, 0xf4,
0x50, 0xdd, 0xfc, 0x47, 0x85, 0x3a, 0xa1, 0xc9, 0x22, 0x0a, 0x13, 0x8a, 0x1f, 0x97, 0x88, 0x74,
0xaf, 0x40, 0xa4, 0x0c, 0x50, 0x64, 0xd2, 0x53, 0xa8, 0xd2, 0x38, 0x8e, 0x62, 0xc1, 0xa3, 0x15,
0xd8, 0x66, 0x56, 0xe9, 0x41, 0x32, 0x10, 0xfe, 0x54, 0x92, 0xc8, 0x09, 0xcf, 0x23, 0x41, 0xa2,
0x3b, 0x37, 0x58, 0xc0, 0x8e, 0x48, 0x01, 0x86, 0x3f, 0x87, 0xfa, 0x3c, 0xa0, 0x61, 0x3a, 0x3f,
0xbf, 0x12, 0xc4, 0xd9, 0xc9, 0x5d, 0x1c, 0x71, 0x90, 0x27, 0xca, 0xa1, 0xf8, 0x83, 0x22, 0x5f,
0xb6, 0xcb, 0x7c, 0x11, 0x60, 0x4e, 0x98, 0x47, 0x50, 0x5d, 0x50, 0x1a, 0x27, 0x46, 0xad, 0xa3,
0xed, 0x37, 0x0f, 0xb7, 0x56, 0x8f, 0x46, 0x69, 0xcc, 0x8b, 0xc9, 0xce, 0xf1, 0x93, 0xfc, 0x79,
0xf5, 0x1b, 0x85, 0xb3, 0xe7, 0x15, 0x21, 0xe5, 0xfb, 0xee, 0x88, 0xe7, 0xad, 0x81, 0x3a, 0x7a,
0x8e, 0x36, 0x70, 0x03, 0xaa, 0x36, 0x21, 0x23, 0x82, 0x14, 0xf3, 0x0b, 0x40, 0x37, 0xcb, 0xc6,
0x6d, 0x50, 0xe7, 0x01, 0x6f, 0x78, 0x8b, 0xa8, 0xf3, 0x00, 0x6f, 0x43, 0xd5, 0x0f, 0x82, 0x38,
0x31, 0xd4, 0x8e, 0xb6, 0xdf, 0x22, 0x99, 0x62, 0x7a, 0xd0, 0x2e, 0x8f, 0x27, 0xc6, 0x50, 0x61,
0xc5, 0x09, 0x4f, 0x2e, 0xaf, 0xf7, 0xc5, 0x06, 0xe8, 0xe9, 0xfc, 0x92, 0x46, 0xcb, 0x94, 0xf7,
0x5d, 0x23, 0x52, 0x35, 0xbf, 0x83, 0xad, 0x5b, 0xe3, 0xfb, 0x7f, 0x81, 0xf9, 0xfa, 0xe1, 0x81,
0x1b, 0x24, 0x53, 0xde, 0x10, 0xf8, 0x1b, 0xd8, 0x5e, 0x37, 0xd8, 0x3c, 0xb6, 0x9f, 0x5e, 0xf0,
0xd8, 0x0d, 0xc2, 0xe5, 0xf5, 0xb1, 0xcd, 0xf7, 0x61, 0xb3, 0xc4, 0x23, 0x8c, 0x40, 0xbb, 0x4c,
0x66, 0xc2, 0x93, 0x89, 0xe6, 0xb7, 0x00, 0x2b, 0xde, 0xac, 0x2d, 0x1b, 0x43, 0x85, 0xb5, 0xc0,
0x50, 0x33, 0x1b, 0x93, 0x57, 0xe9, 0x34, 0x1e, 0x49, 0xa4, 0xfb, 0x57, 0x05, 0x58, 0xed, 0x13,
0xfc, 0xb4, 0x34, 0x07, 0xc6, 0x9a, 0x95, 0x53, 0x9c, 0x04, 0x99, 0x9a, 0x0d, 0x82, 0x4c, 0x8d,
0x40, 0x3b, 0x9b, 0x07, 0xbc, 0x2f, 0x2d, 0xc2, 0x44, 0x66, 0xf9, 0x9e, 0x66, 0x3c, 0x6e, 0x11,
0x26, 0xb2, 0x52, 0x7e, 0xf0, 0x5f, 0x2d, 0x29, 0x67, 0x6a, 0x8b, 0x64, 0x0a, 0xb3, 0x9e, 0x45,
0xcb, 0x30, 0xe5, 0x0b, 0xac, 0x4a, 0x32, 0xa5, 0xd8, 0x6b, 0xbd, 0xdc, 0xeb, 0xdf, 0xe4, 0x3e,
0xd9, 0x84, 0xc6, 0x33, 0x67, 0x68, 0xf1, 0x35, 0x80, 0x36, 0x70, 0x07, 0x1e, 0xe6, 0xaa, 0x3b,
0x15, 0xc3, 0x6f, 0x5b, 0x53, 0x6f, 0x94, 0x21, 0x14, 0xb6, 0x54, 0x32, 0x04, 0x19, 0xbd, 0x70,
0x2c, 0xb6, 0x3b, 0x54, 0x7c, 0x17, 0xb6, 0x8e, 0x6c, 0x6f, 0xda, 0x3f, 0x1e, 0xb9, 0x76, 0xbe,
0x52, 0x34, 0x06, 0x65, 0xe6, 0xf1, 0xa4, 0x77, 0xec, 0xf4, 0xa7, 0xcf, 0xed, 0x97, 0xa8, 0xc2,
0xf2, 0x31, 0xdb, 0x8b, 0xee, 0xf1, 0xc4, 0x46, 0x55, 0x8c, 0xa0, 0xe5, 0xda, 0x5d, 0xd2, 0x1f,
0x08, 0x4b, 0x8d, 0x01, 0xc6, 0x13, 0x09, 0xd0, 0xd9, 0x86, 0x13, 0x99, 0x50, 0xdd, 0xfc, 0x45,
0x81, 0x66, 0x61, 0x20, 0xf1, 0x47, 0xa5, 0x8e, 0xef, 0xac, 0x1b, 0xda, 0x62, 0xcb, 0xf7, 0x0a,
0x2d, 0x5f, 0x3b, 0xb9, 0x39, 0x6f, 0xb3, 0x0e, 0x6b, 0x85, 0x0e, 0x9b, 0x7b, 0xa2, 0x61, 0x0d,
0xa8, 0xf6, 0xec, 0x23, 0x67, 0x98, 0x0d, 0x69, 0x56, 0xa6, 0xc2, 0xd6, 0xaa, 0x3d, 0xb4, 0x90,
0x6a, 0x7e, 0x0c, 0x75, 0x19, 0xee, 0x2d, 0xa7, 0xf4, 0x77, 0x05, 0xf0, 0xed, 0x6f, 0x06, 0x7f,
0x56, 0xba, 0x5b, 0xe7, 0x0d, 0x3f, 0xd2, 0x5b, 0xb0, 0x2a, 0xf5, 0x67, 0xfc, 0x36, 0x0d, 0xc2,
0x44, 0x7c, 0x0f, 0x6a, 0x3f, 0xd2, 0xf9, 0xec, 0x22, 0xe5, 0xc4, 0xd2, 0x88, 0xd0, 0xcc, 0x83,
0xd5, 0x27, 0xe3, 0x75, 0x8f, 0x24, 0x27, 0xda, 0x00, 0x93, 0x61, 0xae, 0x2b, 0xb8, 0x0e, 0x15,
0x8f, 0x38, 0x27, 0x48, 0x35, 0x1f, 0xc1, 0xd6, 0xad, 0x2f, 0x6e, 0xdd, 0x4c, 0x99, 0xbf, 0x2a,
0xd0, 0xc8, 0x3f, 0x35, 0xfc, 0xa4, 0x74, 0xb5, 0xfb, 0xb7, 0xbf, 0xbd, 0xe2, 0x8d, 0xb6, 0xa1,
0x9a, 0x46, 0x8b, 0xf9, 0x19, 0xbf, 0x52, 0x83, 0x64, 0x0a, 0x4b, 0x12, 0xf8, 0xa9, 0x2f, 0x9e,
0x88, 0xcb, 0x66, 0x4f, 0x54, 0xdf, 0x06, 0x60, 0x14, 0xf3, 0x46, 0x63, 0xa7, 0xef, 0x66, 0xf5,
0x17, 0x7e, 0x3a, 0x85, 0x53, 0x8a, 0x51, 0xd2, 0x1d, 0x20, 0x95, 0xd1, 0xcd, 0x9d, 0xf4, 0xdc,
0x3e, 0x71, 0x7a, 0x36, 0xd2, 0xcc, 0x9f, 0x79, 0xa1, 0x27, 0x34, 0x49, 0xfc, 0x19, 0xef, 0xe6,
0x79, 0x1c, 0x5d, 0x1a, 0x4a, 0x96, 0x85, 0xc9, 0x79, 0x66, 0x75, 0x95, 0x99, 0xd5, 0x98, 0xd0,
0xd7, 0x61, 0x24, 0x19, 0xc3, 0x15, 0xfc, 0x00, 0xea, 0xbc, 0x58, 0xc7, 0x4a, 0x8c, 0x0a, 0x5f,
0x53, 0xb9, 0x8e, 0x1f, 0x42, 0x23, 0x99, 0xcf, 0x42, 0x3f, 0x5d, 0xc6, 0x72, 0x92, 0x57, 0x06,
0x39, 0xf5, 0xb5, 0x7c, 0xea, 0xcd, 0xaf, 0x01, 0x56, 0xbf, 0x06, 0x7b, 0x3f, 0x1e, 0x29, 0x31,
0x14, 0x1e, 0x57, 0x68, 0x6c, 0xde, 0x59, 0xbb, 0x59, 0xc2, 0x8c, 0x62, 0x52, 0xed, 0xb5, 0xfe,
0xbc, 0xde, 0x55, 0xfe, 0xba, 0xde, 0x55, 0xfe, 0xbe, 0xde, 0x55, 0xfe, 0x0b, 0x00, 0x00, 0xff,
0xff, 0x50, 0xfb, 0x0b, 0xfe, 0x1c, 0x0a, 0x00, 0x00,
}

View File

@ -89,7 +89,7 @@ message DHTRequest {
required Type type = 1;
optional bytes peer = 2;
optional bytes cid = 3;
optional string key = 4;
optional bytes key = 4;
optional bytes value = 5;
optional int32 count = 6;
optional int64 timeout = 7;

View File

@ -3,16 +3,16 @@ package test
import (
"bytes"
"context"
"crypto/rand"
"fmt"
"reflect"
"testing"
"time"
crypto "github.com/libp2p/go-libp2p-crypto"
peer "github.com/libp2p/go-libp2p-peer"
"github.com/libp2p/go-libp2p-daemon/p2pclient"
pb "github.com/libp2p/go-libp2p-daemon/pb"
peer "github.com/libp2p/go-libp2p-peer"
)
func clientRequestAsync(t *testing.T, client *p2pclient.Client, method string, arg interface{}) interface{} {
@ -111,9 +111,8 @@ func TestDHTGetPublicKey(t *testing.T) {
func TestDHTGetValue(t *testing.T) {
daemon, client, closer := createMockDaemonClientPair(t)
defer closer()
key := randString(t)
value := make([]byte, 10)
rand.Read(value)
key := randBytes(t)
value := randBytes(t)
valuec := clientRequestAsync(t, client, "GetValue", key).(chan []byte)
conn := daemon.ExpectConn(t)
@ -133,9 +132,8 @@ func TestDHTGetValue(t *testing.T) {
func TestDHTPutValue(t *testing.T) {
daemon, client, closer := createMockDaemonClientPair(t)
defer closer()
key := randString(t)
value := make([]byte, 10)
rand.Read(value)
key := randBytes(t)
value := randBytes(t)
donec := make(chan struct{})
go func() {
@ -242,13 +240,13 @@ func TestDHTGetClosestPeers(t *testing.T) {
daemon, client, closer := createMockDaemonClientPair(t)
defer closer()
ids := randPeerIDs(t, 2)
key := randString(t)
key := randBytes(t)
idc := clientRequestAsync(t, client, "GetClosestPeers", key).(chan peer.ID)
conn := daemon.ExpectConn(t)
req := conn.ExpectDHTRequestType(t, pb.DHTRequest_GET_CLOSEST_PEERS)
if req.GetKey() != key {
if !bytes.Equal(req.GetKey(), key) {
t.Fatal("request key didn't match expected key")
}
fmt.Println("we good")
@ -271,11 +269,10 @@ func TestDHTGetClosestPeers(t *testing.T) {
func TestDHTSearchValue(t *testing.T) {
daemon, client, closer := createMockDaemonClientPair(t)
defer closer()
key := randString(t)
key := randBytes(t)
values := make([][]byte, 2)
for i := range values {
values[i] = make([]byte, 10)
rand.Read(values[i])
values[i] = randBytes(t)
}
valuec := clientRequestAsync(t, client, "SearchValue", key).(chan []byte)

View File

@ -118,6 +118,12 @@ func randCids(t *testing.T, n int) []cid.Cid {
return ids
}
func randBytes(t *testing.T) []byte {
buf := make([]byte, 10)
rand.Read(buf)
return buf
}
func randString(t *testing.T) string {
buf := make([]byte, 10)
rand.Read(buf)