Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
dms3
go-bitswap
Commits
21d88348
Unverified
Commit
21d88348
authored
Mar 18, 2020
by
Steven Allen
Committed by
GitHub
Mar 18, 2020
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #308 from ipfs/feat/custom-cid-type
feat: add a custom CID type
parents
f6db5f77
4b91e9be
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
137 additions
and
135 deletions
+137
-135
message/message.go
message/message.go
+12
-14
message/message_test.go
message/message_test.go
+2
-2
message/pb/cid.go
message/pb/cid.go
+43
-0
message/pb/message.pb.go
message/pb/message.pb.go
+78
-117
message/pb/message.proto
message/pb/message.proto
+2
-2
No files found.
message/message.go
View file @
21d88348
...
...
@@ -2,7 +2,7 @@ package message
import
(
"encoding/binary"
"
fmt
"
"
errors
"
"io"
pb
"github.com/ipfs/go-bitswap/message/pb"
...
...
@@ -117,14 +117,15 @@ type Entry struct {
SendDontHave
bool
}
var
errCidMissing
=
errors
.
New
(
"missing cid"
)
func
newMessageFromProto
(
pbm
pb
.
Message
)
(
BitSwapMessage
,
error
)
{
m
:=
newMsg
(
pbm
.
Wantlist
.
Full
)
for
_
,
e
:=
range
pbm
.
Wantlist
.
Entries
{
c
,
err
:=
cid
.
Cast
([]
byte
(
e
.
Block
))
if
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"incorrectly formatted cid in wantlist: %s"
,
err
)
if
!
e
.
Block
.
Cid
.
Defined
()
{
return
nil
,
errCidMissing
}
m
.
addEntry
(
c
,
e
.
Priority
,
e
.
Cancel
,
e
.
WantType
,
e
.
SendDontHave
)
m
.
addEntry
(
e
.
Block
.
Cid
,
e
.
Priority
,
e
.
Cancel
,
e
.
WantType
,
e
.
SendDontHave
)
}
// deprecated
...
...
@@ -155,13 +156,10 @@ func newMessageFromProto(pbm pb.Message) (BitSwapMessage, error) {
}
for
_
,
bi
:=
range
pbm
.
GetBlockPresences
()
{
c
,
err
:=
cid
.
Cast
(
bi
.
GetCid
())
if
err
!=
nil
{
return
nil
,
err
if
!
bi
.
Cid
.
Cid
.
Defined
()
{
return
nil
,
errCidMissing
}
t
:=
bi
.
GetType
()
m
.
AddBlockPresence
(
c
,
t
)
m
.
AddBlockPresence
(
bi
.
Cid
.
Cid
,
bi
.
Type
)
}
m
.
pendingBytes
=
pbm
.
PendingBytes
...
...
@@ -311,7 +309,7 @@ func (m *impl) Size() int {
func
BlockPresenceSize
(
c
cid
.
Cid
)
int
{
return
(
&
pb
.
Message_BlockPresence
{
Cid
:
c
.
Bytes
()
,
Cid
:
pb
.
Cid
{
Cid
:
c
}
,
Type
:
pb
.
Message_Have
,
})
.
Size
()
}
...
...
@@ -341,7 +339,7 @@ func FromMsgReader(r msgio.Reader) (BitSwapMessage, error) {
func
entryToPB
(
e
*
Entry
)
pb
.
Message_Wantlist_Entry
{
return
pb
.
Message_Wantlist_Entry
{
Block
:
e
.
Cid
.
Bytes
()
,
Block
:
pb
.
Cid
{
Cid
:
e
.
Cid
}
,
Priority
:
int32
(
e
.
Priority
),
Cancel
:
e
.
Cancel
,
WantType
:
e
.
WantType
,
...
...
@@ -385,7 +383,7 @@ func (m *impl) ToProtoV1() *pb.Message {
pbm
.
BlockPresences
=
make
([]
pb
.
Message_BlockPresence
,
0
,
len
(
m
.
blockPresences
))
for
c
,
t
:=
range
m
.
blockPresences
{
pbm
.
BlockPresences
=
append
(
pbm
.
BlockPresences
,
pb
.
Message_BlockPresence
{
Cid
:
c
.
Bytes
()
,
Cid
:
pb
.
Cid
{
Cid
:
c
}
,
Type
:
t
,
})
}
...
...
message/message_test.go
View file @
21d88348
...
...
@@ -29,7 +29,7 @@ func TestNewMessageFromProto(t *testing.T) {
str
:=
mkFakeCid
(
"a_key"
)
protoMessage
:=
new
(
pb
.
Message
)
protoMessage
.
Wantlist
.
Entries
=
[]
pb
.
Message_Wantlist_Entry
{
{
Block
:
str
.
Bytes
()
},
{
Block
:
pb
.
Cid
{
Cid
:
str
}
},
}
if
!
wantlistContains
(
&
protoMessage
.
Wantlist
,
str
)
{
t
.
Fail
()
...
...
@@ -164,7 +164,7 @@ func TestToAndFromNetMessage(t *testing.T) {
func
wantlistContains
(
wantlist
*
pb
.
Message_Wantlist
,
c
cid
.
Cid
)
bool
{
for
_
,
e
:=
range
wantlist
.
GetEntries
()
{
if
bytes
.
Equal
(
e
.
Get
Block
(),
c
.
Bytes
()
)
{
if
e
.
Block
.
Cid
.
Defined
()
&&
c
.
Equal
s
(
e
.
Block
.
Cid
)
{
return
true
}
}
...
...
message/pb/cid.go
0 → 100644
View file @
21d88348
package
bitswap_message_pb
import
(
"github.com/ipfs/go-cid"
)
// NOTE: Don't "embed" the cid, wrap it like we're doing here. Otherwise, gogo
// will try to use the Bytes() function.
// Cid is a custom type for CIDs in protobufs, that allows us to avoid
// reallocating.
type
Cid
struct
{
Cid
cid
.
Cid
}
func
(
c
Cid
)
Marshal
()
([]
byte
,
error
)
{
return
c
.
Cid
.
Bytes
(),
nil
}
func
(
c
*
Cid
)
MarshalTo
(
data
[]
byte
)
(
int
,
error
)
{
return
copy
(
data
[
:
c
.
Size
()],
c
.
Cid
.
Bytes
()),
nil
}
func
(
c
*
Cid
)
Unmarshal
(
data
[]
byte
)
(
err
error
)
{
c
.
Cid
,
err
=
cid
.
Cast
(
data
)
return
err
}
func
(
c
*
Cid
)
Size
()
int
{
return
len
(
c
.
Cid
.
KeyString
())
}
func
(
c
Cid
)
MarshalJSON
()
([]
byte
,
error
)
{
return
c
.
Cid
.
MarshalJSON
()
}
func
(
c
*
Cid
)
UnmarshalJSON
(
data
[]
byte
)
error
{
return
c
.
Cid
.
UnmarshalJSON
(
data
)
}
func
(
c
Cid
)
Equal
(
other
Cid
)
bool
{
return
c
.
Cid
.
Equals
(
c
.
Cid
)
}
message/pb/message.pb.go
View file @
21d88348
...
...
@@ -21,7 +21,7 @@ var _ = math.Inf
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const
_
=
proto
.
GoGoProtoPackageIsVersion
2
// please upgrade the proto package
const
_
=
proto
.
GoGoProtoPackageIsVersion
3
// please upgrade the proto package
type
Message_BlockPresenceType
int32
...
...
@@ -202,7 +202,7 @@ func (m *Message_Wantlist) GetFull() bool {
}
type
Message_Wantlist_Entry
struct
{
Block
[]
byte
`protobuf:"bytes,1,opt,name=block,proto3" json:"block
,omitempty
"`
Block
Cid
`protobuf:"bytes,1,opt,name=block,proto3
,customtype=Cid
" json:"block"`
Priority
int32
`protobuf:"varint,2,opt,name=priority,proto3" json:"priority,omitempty"`
Cancel
bool
`protobuf:"varint,3,opt,name=cancel,proto3" json:"cancel,omitempty"`
WantType
Message_Wantlist_WantType
`protobuf:"varint,4,opt,name=wantType,proto3,enum=bitswap.message.pb.Message_Wantlist_WantType" json:"wantType,omitempty"`
...
...
@@ -242,13 +242,6 @@ func (m *Message_Wantlist_Entry) XXX_DiscardUnknown() {
var
xxx_messageInfo_Message_Wantlist_Entry
proto
.
InternalMessageInfo
func
(
m
*
Message_Wantlist_Entry
)
GetBlock
()
[]
byte
{
if
m
!=
nil
{
return
m
.
Block
}
return
nil
}
func
(
m
*
Message_Wantlist_Entry
)
GetPriority
()
int32
{
if
m
!=
nil
{
return
m
.
Priority
...
...
@@ -330,7 +323,7 @@ func (m *Message_Block) GetData() []byte {
}
type
Message_BlockPresence
struct
{
Cid
[]
byte
`protobuf:"bytes,1,opt,name=cid,proto3" json:"cid
,omitempty
"`
Cid
Cid
`protobuf:"bytes,1,opt,name=cid,proto3
,customtype=Cid
" json:"cid"`
Type
Message_BlockPresenceType
`protobuf:"varint,2,opt,name=type,proto3,enum=bitswap.message.pb.Message_BlockPresenceType" json:"type,omitempty"`
}
...
...
@@ -367,13 +360,6 @@ func (m *Message_BlockPresence) XXX_DiscardUnknown() {
var
xxx_messageInfo_Message_BlockPresence
proto
.
InternalMessageInfo
func
(
m
*
Message_BlockPresence
)
GetCid
()
[]
byte
{
if
m
!=
nil
{
return
m
.
Cid
}
return
nil
}
func
(
m
*
Message_BlockPresence
)
GetType
()
Message_BlockPresenceType
{
if
m
!=
nil
{
return
m
.
Type
...
...
@@ -394,38 +380,39 @@ func init() {
func
init
()
{
proto
.
RegisterFile
(
"message.proto"
,
fileDescriptor_33c57e4bae7b9afd
)
}
var
fileDescriptor_33c57e4bae7b9afd
=
[]
byte
{
// 483 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0x8c
,
0x53
,
0x4d
,
0x6b
,
0xd4
,
0x50
,
0x14
,
0xcd
,
0x9b
,
0x24
,
0x9d
,
0x78
,
0x9b
,
0x96
,
0xf1
,
0x21
,
0xf2
,
0xc8
,
0x22
,
0x8d
,
0x83
,
0x8b
,
0xa8
,
0x34
,
0x85
,
0xe9
,
0x2f
,
0xe8
,
0xa0
,
0xa2
,
0x82
,
0x20
,
0x41
,
0x98
,
0x75
,
0x3e
,
0xde
,
0xc4
,
0x60
,
0x9a
,
0x84
,
0xbc
,
0x37
,
0xd6
,
0xfc
,
0x0b
,
0x7f
,
0x92
,
0xb8
,
0xea
,
0x4a
,
0xba
,
0x74
,
0x25
,
0x32
,
0xf3
,
0x47
,
0x24
,
0x37
,
0x2f
,
0x81
,
0xb1
,
0x60
,
0xbb
,
0xbb
,
0xe7
,
0xbe
,
0x7b
,
0x4e
,
0xee
,
0xb9
,
0x87
,
0xc0
,
0xd1
,
0x25
,
0x17
,
0x22
,
0xca
,
0x78
,
0x50
,
0x37
,
0x95
,
0xac
,
0x28
,
0x8d
,
0x73
,
0x29
,
0xae
,
0xa2
,
0x3a
,
0x18
,
0xdb
,
0xb1
,
0x73
,
0x9a
,
0xe5
,
0xf2
,
0xd3
,
0x26
,
0x0e
,
0x92
,
0xea
,
0xf2
,
0x2c
,
0xab
,
0xb2
,
0xea
,
0x0c
,
0x47
,
0xe3
,
0xcd
,
0x1a
,
0x11
,
0x02
,
0xac
,
0x7a
,
0x89
,
0xf9
,
0x8f
,
0x03
,
0x98
,
0xbe
,
0xef
,
0xd9
,
0xf4
,
0x35
,
0x58
,
0x57
,
0x51
,
0x29
,
0x8b
,
0x5c
,
0x48
,
0x46
,
0x3c
,
0xe2
,
0x1f
,
0x2e
,
0x9e
,
0x06
,
0xb7
,
0xbf
,
0x10
,
0xa8
,
0xf1
,
0x60
,
0xa5
,
0x66
,
0x97
,
0xc6
,
0xf5
,
0xef
,
0x13
,
0x2d
,
0x1c
,
0xb9
,
0xf4
,
0x31
,
0x1c
,
0xc4
,
0x45
,
0x95
,
0x7c
,
0x16
,
0x6c
,
0xe2
,
0xe9
,
0xbe
,
0x1d
,
0x2a
,
0x44
,
0x2f
,
0x60
,
0x5a
,
0x47
,
0x6d
,
0x51
,
0x45
,
0x29
,
0xd3
,
0x3d
,
0xdd
,
0x3f
,
0x5c
,
0x3c
,
0xf9
,
0x9f
,
0xfc
,
0xb2
,
0x23
,
0x29
,
0xed
,
0x81
,
0x47
,
0x57
,
0x70
,
0x8c
,
0x62
,
0x1f
,
0x1a
,
0x2e
,
0x78
,
0x99
,
0x70
,
0xc1
,
0x0c
,
0x54
,
0x7a
,
0x76
,
0xa7
,
0xd2
,
0xc0
,
0x50
,
0x8a
,
0xff
,
0xc8
,
0xd0
,
0x39
,
0xd8
,
0x35
,
0x2f
,
0xd3
,
0xbc
,
0xcc
,
0x96
,
0xad
,
0xe4
,
0x82
,
0x99
,
0x1e
,
0xf1
,
0xcd
,
0x70
,
0xaf
,
0xe7
,
0xfc
,
0x9c
,
0x80
,
0x35
,
0x98
,
0xa6
,
0xef
,
0x60
,
0xca
,
0x4b
,
0xd9
,
0xe4
,
0x5c
,
0x30
,
0x82
,
0x2b
,
0x3c
,
0xbf
,
0xcf
,
0xad
,
0x82
,
0x57
,
0xa5
,
0x6c
,
0xda
,
0xc1
,
0x95
,
0x12
,
0xa0
,
0x14
,
0x8c
,
0xf5
,
0xa6
,
0x28
,
0xd8
,
0xc4
,
0x23
,
0xbe
,
0x15
,
0x62
,
0xed
,
0x7c
,
0x27
,
0x60
,
0xe2
,
0x30
,
0x7d
,
0x04
,
0x26
,
0x2e
,
0x8b
,
0x99
,
0xd8
,
0x61
,
0x0f
,
0xa8
,
0x03
,
0x56
,
0xdd
,
0xe4
,
0x55
,
0x93
,
0xcb
,
0x16
,
0x79
,
0x66
,
0x38
,
0xe2
,
0x2e
,
0x80
,
0x24
,
0x2a
,
0x13
,
0x5e
,
0x30
,
0x1d
,
0x15
,
0x15
,
0xa2
,
0x6f
,
0xfb
,
0x80
,
0x3f
,
0xb6
,
0x35
,
0x67
,
0x86
,
0x47
,
0xfc
,
0xe3
,
0xc5
,
0xe9
,
0xbd
,
0x96
,
0x5e
,
0x29
,
0x52
,
0x38
,
0xd2
,
0xbb
,
0x7b
,
0x09
,
0x5e
,
0xa6
,
0x2f
,
0xab
,
0x52
,
0xbe
,
0x89
,
0xbe
,
0x70
,
0xbc
,
0x97
,
0x15
,
0xee
,
0xf5
,
0xe6
,
0x27
,
0xfd
,
0xb9
,
0x70
,
0xfe
,
0x01
,
0x98
,
0x18
,
0xc3
,
0x4c
,
0xa3
,
0x16
,
0x18
,
0xdd
,
0xf3
,
0x8c
,
0x38
,
0xe7
,
0xaa
,
0xd9
,
0x2d
,
0x5c
,
0x37
,
0x7c
,
0x9d
,
0x7f
,
0x55
,
0x1e
,
0x15
,
0xea
,
0x0e
,
0x93
,
0x46
,
0x32
,
0x42
,
0x83
,
0x76
,
0x88
,
0xb5
,
0x93
,
0xc2
,
0xd1
,
0x5e
,
0xa0
,
0x74
,
0x06
,
0x7a
,
0x92
,
0xa7
,
0x8a
,
0xd9
,
0x95
,
0xf4
,
0x02
,
0x0c
,
0xd9
,
0x79
,
0x9c
,
0xdc
,
0xed
,
0x71
,
0x4f
,
0x0a
,
0x3d
,
0x22
,
0x75
,
0xfe
,
0x02
,
0x1e
,
0xde
,
0x7a
,
0x1a
,
0x37
,
0xd7
,
0xa8
,
0x0d
,
0xd6
,
0x60
,
0x73
,
0x46
,
0x96
,
0xec
,
0x7a
,
0xeb
,
0x92
,
0x9b
,
0xad
,
0x4b
,
0xfe
,
0x6c
,
0x5d
,
0xf2
,
0x6d
,
0xe7
,
0x6a
,
0x37
,
0x3b
,
0x57
,
0xfb
,
0xb5
,
0x73
,
0xb5
,
0xf8
,
0x00
,
0xff
,
0xb2
,
0xf3
,
0xbf
,
0x01
,
0x00
,
0x00
,
0xff
,
0xff
,
0xac
,
0xa9
,
0xf7
,
0xab
,
0xb9
,
0x03
,
0x00
,
0x00
,
// 497 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0x8c
,
0x93
,
0xdf
,
0x8a
,
0xd3
,
0x40
,
0x14
,
0xc6
,
0x33
,
0x4d
,
0xd2
,
0xc6
,
0xd3
,
0xee
,
0x52
,
0xe7
,
0x42
,
0x42
,
0xc0
,
0x34
,
0x5b
,
0xbc
,
0x88
,
0xca
,
0x66
,
0xa1
,
0xfb
,
0x04
,
0x5b
,
0xff
,
0xa0
,
0x82
,
0x20
,
0x83
,
0xd0
,
0xeb
,
0xfc
,
0x99
,
0xd6
,
0xc1
,
0x6c
,
0x12
,
0x33
,
0x53
,
0xd7
,
0xbe
,
0x85
,
0x8f
,
0xb5
,
0x37
,
0xc2
,
0x5e
,
0x8a
,
0xca
,
0x22
,
0xed
,
0x8b
,
0x48
,
0x4e
,
0xa6
,
0x85
,
0xba
,
0xe2
,
0xee
,
0xdd
,
0x9c
,
0x33
,
0xe7
,
0xfb
,
0x65
,
0xbe
,
0xef
,
0x10
,
0x38
,
0x38
,
0xe7
,
0x52
,
0xc6
,
0x0b
,
0x1e
,
0x55
,
0x75
,
0xa9
,
0x4a
,
0x4a
,
0x13
,
0xa1
,
0xe4
,
0x45
,
0x5c
,
0x45
,
0xbb
,
0x76
,
0xe2
,
0x1d
,
0x2f
,
0x84
,
0xfa
,
0xb0
,
0x4c
,
0xa2
,
0xb4
,
0x3c
,
0x3f
,
0x59
,
0x94
,
0x8b
,
0xf2
,
0x04
,
0x47
,
0x93
,
0xe5
,
0x1c
,
0x2b
,
0x2c
,
0xf0
,
0xd4
,
0x22
,
0xc6
,
0xbf
,
0xba
,
0xd0
,
0x7b
,
0xdb
,
0xaa
,
0xe9
,
0x4b
,
0x70
,
0x2e
,
0xe2
,
0x42
,
0xe5
,
0x42
,
0x2a
,
0x97
,
0x04
,
0x24
,
0xec
,
0x4f
,
0x1e
,
0x45
,
0x37
,
0xbf
,
0x10
,
0xe9
,
0xf1
,
0x68
,
0xa6
,
0x67
,
0xa7
,
0xd6
,
0xe5
,
0xf5
,
0xc8
,
0x60
,
0x3b
,
0x2d
,
0x7d
,
0x00
,
0xdd
,
0x24
,
0x2f
,
0xd3
,
0x8f
,
0xd2
,
0xed
,
0x04
,
0x66
,
0x38
,
0x60
,
0xba
,
0xa2
,
0x67
,
0xd0
,
0xab
,
0xe2
,
0x55
,
0x5e
,
0xc6
,
0x99
,
0x6b
,
0x06
,
0x66
,
0xd8
,
0x9f
,
0x1c
,
0xfd
,
0x0f
,
0x3f
,
0x6d
,
0x44
,
0x9a
,
0xbd
,
0xd5
,
0xd1
,
0x19
,
0x1c
,
0x22
,
0xec
,
0x5d
,
0xcd
,
0x25
,
0x2f
,
0x52
,
0x2e
,
0x5d
,
0x0b
,
0x49
,
0x8f
,
0x6f
,
0x25
,
0x6d
,
0x15
,
0x9a
,
0xf8
,
0x17
,
0x86
,
0x8e
,
0x61
,
0x50
,
0xf1
,
0x22
,
0x13
,
0xc5
,
0x62
,
0xba
,
0x52
,
0x5c
,
0xba
,
0x76
,
0x40
,
0x42
,
0x9b
,
0xed
,
0xf5
,
0xbc
,
0x9f
,
0x1d
,
0x70
,
0xb6
,
0xa6
,
0xe9
,
0x1b
,
0xe8
,
0xf1
,
0x42
,
0xd5
,
0x82
,
0x4b
,
0x97
,
0xe0
,
0x13
,
0x9e
,
0xdc
,
0x25
,
0xab
,
0xe8
,
0x45
,
0xa1
,
0xea
,
0xd5
,
0xd6
,
0x95
,
0x06
,
0x50
,
0x0a
,
0xd6
,
0x7c
,
0x99
,
0xe7
,
0x6e
,
0x27
,
0x20
,
0xa1
,
0xc3
,
0xf0
,
0xec
,
0x7d
,
0x23
,
0x60
,
0xe3
,
0x30
,
0x3d
,
0x02
,
0x1b
,
0x1f
,
0x8b
,
0x3b
,
0x19
,
0x4c
,
0xfb
,
0x8d
,
0xf6
,
0xc7
,
0xf5
,
0xc8
,
0x7c
,
0x26
,
0x32
,
0xd6
,
0xde
,
0x50
,
0x0f
,
0x9c
,
0xaa
,
0x16
,
0x65
,
0x2d
,
0xd4
,
0x0a
,
0x21
,
0x36
,
0xdb
,
0xd5
,
0xcd
,
0x36
,
0xd2
,
0xb8
,
0x48
,
0x79
,
0xee
,
0x9a
,
0x88
,
0xd7
,
0x15
,
0x7d
,
0xdd
,
0x6e
,
0xfb
,
0xfd
,
0xaa
,
0xe2
,
0xae
,
0x15
,
0x90
,
0xf0
,
0x70
,
0x72
,
0x7c
,
0x27
,
0x07
,
0x33
,
0x2d
,
0x62
,
0x3b
,
0x79
,
0x13
,
0x9e
,
0xe4
,
0x45
,
0xf6
,
0xbc
,
0x2c
,
0xd4
,
0xab
,
0xf8
,
0x33
,
0xc7
,
0xf0
,
0x1c
,
0xb6
,
0xd7
,
0x1b
,
0x8f
,
0xda
,
0xec
,
0x70
,
0xfe
,
0x1e
,
0xd8
,
0xb8
,
0x93
,
0xa1
,
0x41
,
0x1d
,
0xb0
,
0x9a
,
0xeb
,
0x21
,
0xf1
,
0x4e
,
0x75
,
0xb3
,
0x79
,
0x70
,
0x55
,
0xf3
,
0xb9
,
0xf8
,
0xd2
,
0x1a
,
0x66
,
0xba
,
0x6a
,
0x52
,
0xca
,
0x62
,
0x15
,
0xa3
,
0xc1
,
0x01
,
0xc3
,
0xb3
,
0xf7
,
0x09
,
0x0e
,
0xf6
,
0xb6
,
0x4b
,
0x1f
,
0x82
,
0x99
,
0x8a
,
0xec
,
0x5f
,
0x51
,
0x35
,
0x7d
,
0x7a
,
0x06
,
0x96
,
0x6a
,
0x0c
,
0x77
,
0x6e
,
0x37
,
0xbc
,
0xc7
,
0x45
,
0xc3
,
0x28
,
0x1d
,
0x3f
,
0x85
,
0xfb
,
0x37
,
0xae
,
0x76
,
0x36
,
0x0c
,
0x3a
,
0x00
,
0x67
,
0xeb
,
0x79
,
0x48
,
0xa6
,
0xee
,
0xe5
,
0xda
,
0x27
,
0x57
,
0x6b
,
0x9f
,
0xfc
,
0x5e
,
0xfb
,
0xe4
,
0xeb
,
0xc6
,
0x37
,
0xae
,
0x36
,
0xbe
,
0xf1
,
0x7d
,
0xe3
,
0x1b
,
0x49
,
0x17
,
0xff
,
0xbf
,
0xd3
,
0x3f
,
0x01
,
0x00
,
0x00
,
0xff
,
0xff
,
0x8a
,
0x8a
,
0xaf
,
0x83
,
0xd3
,
0x03
,
0x00
,
0x00
,
}
func
(
m
*
Message
)
Marshal
()
(
dAtA
[]
byte
,
err
error
)
{
...
...
@@ -600,13 +587,16 @@ func (m *Message_Wantlist_Entry) MarshalToSizedBuffer(dAtA []byte) (int, error)
i
--
dAtA
[
i
]
=
0x10
}
if
len
(
m
.
Block
)
>
0
{
i
-=
len
(
m
.
Block
)
copy
(
dAtA
[
i
:
],
m
.
Block
)
i
=
encodeVarintMessage
(
dAtA
,
i
,
uint64
(
len
(
m
.
Block
)))
i
--
dAtA
[
i
]
=
0xa
{
size
:=
m
.
Block
.
Size
()
i
-=
size
if
_
,
err
:=
m
.
Block
.
MarshalTo
(
dAtA
[
i
:
]);
err
!=
nil
{
return
0
,
err
}
i
=
encodeVarintMessage
(
dAtA
,
i
,
uint64
(
size
))
}
i
--
dAtA
[
i
]
=
0xa
return
len
(
dAtA
)
-
i
,
nil
}
...
...
@@ -672,13 +662,16 @@ func (m *Message_BlockPresence) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i
--
dAtA
[
i
]
=
0x10
}
if
len
(
m
.
Cid
)
>
0
{
i
-=
len
(
m
.
Cid
)
copy
(
dAtA
[
i
:
],
m
.
Cid
)
i
=
encodeVarintMessage
(
dAtA
,
i
,
uint64
(
len
(
m
.
Cid
)))
i
--
dAtA
[
i
]
=
0xa
{
size
:=
m
.
Cid
.
Size
()
i
-=
size
if
_
,
err
:=
m
.
Cid
.
MarshalTo
(
dAtA
[
i
:
]);
err
!=
nil
{
return
0
,
err
}
i
=
encodeVarintMessage
(
dAtA
,
i
,
uint64
(
size
))
}
i
--
dAtA
[
i
]
=
0xa
return
len
(
dAtA
)
-
i
,
nil
}
...
...
@@ -749,10 +742,8 @@ func (m *Message_Wantlist_Entry) Size() (n int) {
}
var
l
int
_
=
l
l
=
len
(
m
.
Block
)
if
l
>
0
{
n
+=
1
+
l
+
sovMessage
(
uint64
(
l
))
}
l
=
m
.
Block
.
Size
()
n
+=
1
+
l
+
sovMessage
(
uint64
(
l
))
if
m
.
Priority
!=
0
{
n
+=
1
+
sovMessage
(
uint64
(
m
.
Priority
))
}
...
...
@@ -791,10 +782,8 @@ func (m *Message_BlockPresence) Size() (n int) {
}
var
l
int
_
=
l
l
=
len
(
m
.
Cid
)
if
l
>
0
{
n
+=
1
+
l
+
sovMessage
(
uint64
(
l
))
}
l
=
m
.
Cid
.
Size
()
n
+=
1
+
l
+
sovMessage
(
uint64
(
l
))
if
m
.
Type
!=
0
{
n
+=
1
+
sovMessage
(
uint64
(
m
.
Type
))
}
...
...
@@ -1177,9 +1166,8 @@ func (m *Message_Wantlist_Entry) Unmarshal(dAtA []byte) error {
if
postIndex
>
l
{
return
io
.
ErrUnexpectedEOF
}
m
.
Block
=
append
(
m
.
Block
[
:
0
],
dAtA
[
iNdEx
:
postIndex
]
...
)
if
m
.
Block
==
nil
{
m
.
Block
=
[]
byte
{}
if
err
:=
m
.
Block
.
Unmarshal
(
dAtA
[
iNdEx
:
postIndex
]);
err
!=
nil
{
return
err
}
iNdEx
=
postIndex
case
2
:
...
...
@@ -1463,9 +1451,8 @@ func (m *Message_BlockPresence) Unmarshal(dAtA []byte) error {
if
postIndex
>
l
{
return
io
.
ErrUnexpectedEOF
}
m
.
Cid
=
append
(
m
.
Cid
[
:
0
],
dAtA
[
iNdEx
:
postIndex
]
...
)
if
m
.
Cid
==
nil
{
m
.
Cid
=
[]
byte
{}
if
err
:=
m
.
Cid
.
Unmarshal
(
dAtA
[
iNdEx
:
postIndex
]);
err
!=
nil
{
return
err
}
iNdEx
=
postIndex
case
2
:
...
...
@@ -1514,6 +1501,7 @@ func (m *Message_BlockPresence) Unmarshal(dAtA []byte) error {
func
skipMessage
(
dAtA
[]
byte
)
(
n
int
,
err
error
)
{
l
:=
len
(
dAtA
)
iNdEx
:=
0
depth
:=
0
for
iNdEx
<
l
{
var
wire
uint64
for
shift
:=
uint
(
0
);
;
shift
+=
7
{
...
...
@@ -1545,10 +1533,8 @@ func skipMessage(dAtA []byte) (n int, err error) {
break
}
}
return
iNdEx
,
nil
case
1
:
iNdEx
+=
8
return
iNdEx
,
nil
case
2
:
var
length
int
for
shift
:=
uint
(
0
);
;
shift
+=
7
{
...
...
@@ -1569,55 +1555,30 @@ func skipMessage(dAtA []byte) (n int, err error) {
return
0
,
ErrInvalidLengthMessage
}
iNdEx
+=
length
if
iNdEx
<
0
{
return
0
,
ErrInvalidLengthMessage
}
return
iNdEx
,
nil
case
3
:
for
{
var
innerWire
uint64
var
start
int
=
iNdEx
for
shift
:=
uint
(
0
);
;
shift
+=
7
{
if
shift
>=
64
{
return
0
,
ErrIntOverflowMessage
}
if
iNdEx
>=
l
{
return
0
,
io
.
ErrUnexpectedEOF
}
b
:=
dAtA
[
iNdEx
]
iNdEx
++
innerWire
|=
(
uint64
(
b
)
&
0x7F
)
<<
shift
if
b
<
0x80
{
break
}
}
innerWireType
:=
int
(
innerWire
&
0x7
)
if
innerWireType
==
4
{
break
}
next
,
err
:=
skipMessage
(
dAtA
[
start
:
])
if
err
!=
nil
{
return
0
,
err
}
iNdEx
=
start
+
next
if
iNdEx
<
0
{
return
0
,
ErrInvalidLengthMessage
}
}
return
iNdEx
,
nil
depth
++
case
4
:
return
iNdEx
,
nil
if
depth
==
0
{
return
0
,
ErrUnexpectedEndOfGroupMessage
}
depth
--
case
5
:
iNdEx
+=
4
return
iNdEx
,
nil
default
:
return
0
,
fmt
.
Errorf
(
"proto: illegal wireType %d"
,
wireType
)
}
if
iNdEx
<
0
{
return
0
,
ErrInvalidLengthMessage
}
if
depth
==
0
{
return
iNdEx
,
nil
}
}
panic
(
"unreachable"
)
return
0
,
io
.
ErrUnexpectedEOF
}
var
(
ErrInvalidLengthMessage
=
fmt
.
Errorf
(
"proto: negative length found during unmarshaling"
)
ErrIntOverflowMessage
=
fmt
.
Errorf
(
"proto: integer overflow"
)
ErrInvalidLengthMessage
=
fmt
.
Errorf
(
"proto: negative length found during unmarshaling"
)
ErrIntOverflowMessage
=
fmt
.
Errorf
(
"proto: integer overflow"
)
ErrUnexpectedEndOfGroupMessage
=
fmt
.
Errorf
(
"proto: unexpected end of group"
)
)
message/pb/message.proto
View file @
21d88348
...
...
@@ -13,7 +13,7 @@ message Message {
}
message
Entry
{
bytes
block
=
1
;
// the block cid (cidV0 in bitswap 1.0.0, cidV1 in bitswap 1.1.0)
bytes
block
=
1
[(
gogoproto.customtype
)
=
"Cid"
,
(
gogoproto.nullable
)
=
false
]
;
// the block cid (cidV0 in bitswap 1.0.0, cidV1 in bitswap 1.1.0)
int32
priority
=
2
;
// the priority (normalized). default to 1
bool
cancel
=
3
;
// whether this revokes an entry
WantType
wantType
=
4
;
// Note: defaults to enum 0, ie Block
...
...
@@ -34,7 +34,7 @@ message Message {
DontHave
=
1
;
}
message
BlockPresence
{
bytes
cid
=
1
;
bytes
cid
=
1
[(
gogoproto.customtype
)
=
"Cid"
,
(
gogoproto.nullable
)
=
false
]
;
BlockPresenceType
type
=
2
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment