Skip to content

Commit e64cf3a

Browse files
authored
Use cbor-gen with reader (filecoin-project#98)
1 parent d7766f8 commit e64cf3a

File tree

4 files changed

+30
-32
lines changed

4 files changed

+30
-32
lines changed

cbor_gen.go

Lines changed: 16 additions & 18 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

go.mod

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,11 @@ require (
66
github.com/ipfs/go-ipld-cbor v0.0.4
77
github.com/spaolacci/murmur3 v1.1.0
88
github.com/stretchr/testify v1.7.0
9-
github.com/whyrusleeping/cbor-gen v0.0.0-20200806213330-63aa96ca5488
9+
github.com/whyrusleeping/cbor-gen v0.0.0-20220323183124-98fa8256a799
1010
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
11+
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c // indirect
1112
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1
13+
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect
1214
)
1315

1416
require (
@@ -27,8 +29,6 @@ require (
2729
github.com/pmezard/go-difflib v1.0.0 // indirect
2830
github.com/polydawn/refmt v0.0.0-20190221155625-df39d6c2d992 // indirect
2931
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550 // indirect
30-
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c // indirect
31-
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect
3232
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
3333
)
3434

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
6565
github.com/warpfork/go-wish v0.0.0-20180510122957-5ad1f5abf436 h1:qOpVTI+BrstcjTZLm2Yz/3sOnqkzj3FQoh0g+E5s3Gc=
6666
github.com/warpfork/go-wish v0.0.0-20180510122957-5ad1f5abf436/go.mod h1:x6AKhvSSexNrVSrViXSHUEbICjmGXhtgABaHIySUSGw=
6767
github.com/whyrusleeping/cbor-gen v0.0.0-20200123233031-1cdf64d27158/go.mod h1:Xj/M2wWU+QdTdRbu/L/1dIZY8/Wb2K9pAhtroQuxJJI=
68-
github.com/whyrusleeping/cbor-gen v0.0.0-20200806213330-63aa96ca5488 h1:P/Q9QT99FpyHtFke7ERUqX7yYtZ/KigO880L+TKFyTQ=
69-
github.com/whyrusleeping/cbor-gen v0.0.0-20200806213330-63aa96ca5488/go.mod h1:fgkXqYy7bV2cFeIEOkVTZS/WjXARfBqSH6Q2qHL33hQ=
68+
github.com/whyrusleeping/cbor-gen v0.0.0-20220323183124-98fa8256a799 h1:DOOT2B85S0tHoLGTzV+FakaSSihgRCVwZkjqKQP5L/w=
69+
github.com/whyrusleeping/cbor-gen v0.0.0-20220323183124-98fa8256a799/go.mod h1:fgkXqYy7bV2cFeIEOkVTZS/WjXARfBqSH6Q2qHL33hQ=
7070
golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
7171
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
7272
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=

pointer_cbor.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,19 @@ func (t *Pointer) MarshalCBOR(w io.Writer) error {
1616
return fmt.Errorf("hamt Pointer cannot have both a link and KVs")
1717
}
1818

19-
scratch := make([]byte, 9)
19+
cw := cbg.NewCborWriter(w)
2020

2121
if t.Link != cid.Undef {
22-
if err := cbg.WriteCidBuf(scratch, w, t.Link); err != nil {
22+
if err := cbg.WriteCid(cw, t.Link); err != nil {
2323
return err
2424
}
2525
} else {
26-
if err := cbg.WriteMajorTypeHeaderBuf(scratch, w, cbg.MajArray, uint64(len(t.KVs))); err != nil {
26+
if err := cw.WriteMajorTypeHeader(cbg.MajArray, uint64(len(t.KVs))); err != nil {
2727
return err
2828
}
2929

3030
for _, kv := range t.KVs {
31-
if err := kv.MarshalCBOR(w); err != nil {
31+
if err := kv.MarshalCBOR(cw); err != nil {
3232
return err
3333
}
3434
}
@@ -37,10 +37,10 @@ func (t *Pointer) MarshalCBOR(w io.Writer) error {
3737
return nil
3838
}
3939

40-
func (t *Pointer) UnmarshalCBOR(br io.Reader) error {
41-
scratch := make([]byte, 8)
40+
func (t *Pointer) UnmarshalCBOR(r io.Reader) error {
41+
cr := cbg.NewCborReader(r)
4242

43-
maj, extra, err := cbg.CborReadHeaderBuf(br, scratch)
43+
maj, extra, err := cr.ReadHeader()
4444
if err != nil {
4545
return err
4646
}
@@ -50,7 +50,7 @@ func (t *Pointer) UnmarshalCBOR(br io.Reader) error {
5050
return fmt.Errorf("expected tag 42 for child node link")
5151
}
5252

53-
ba, err := cbg.ReadByteArray(br, 512)
53+
ba, err := cbg.ReadByteArray(cr, 512)
5454
if err != nil {
5555
return err
5656
}
@@ -72,7 +72,7 @@ func (t *Pointer) UnmarshalCBOR(br io.Reader) error {
7272
t.KVs = make([]*KV, length)
7373
for i := 0; i < int(length); i++ {
7474
var kv KV
75-
if err := kv.UnmarshalCBOR(br); err != nil {
75+
if err := kv.UnmarshalCBOR(cr); err != nil {
7676
return err
7777
}
7878

0 commit comments

Comments
 (0)