Skip to content

Commit fa5a9f2

Browse files
rvagghannahhoward
andauthored
chore(ipld): switch to using top-level ipld-prime codec helpers (#383)
* chore(ipld): switch to using top-level ipld-prime codec helpers Ref: ipld/go-ipld-prime#428 * fixup! chore(ipld): switch to using top-level ipld-prime codec helpers Co-authored-by: Hannah Howard <hannah@hannahhoward.net>
1 parent a868ee9 commit fa5a9f2

9 files changed

Lines changed: 25 additions & 57 deletions

File tree

ipldutil/ipldutil.go

Lines changed: 0 additions & 34 deletions
This file was deleted.

message/message.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package message
22

33
import (
4-
"bytes"
54
"fmt"
65
"io"
76
"strings"
@@ -47,9 +46,8 @@ type GraphSyncRequest struct {
4746
func (gsr GraphSyncRequest) String() string {
4847
sel := "nil"
4948
if gsr.selector != nil {
50-
var buf bytes.Buffer
51-
dagjson.Encode(gsr.selector, &buf)
52-
sel = buf.String()
49+
byts, _ := ipld.Encode(gsr.selector, dagjson.Encode)
50+
sel = string(byts)
5351
}
5452
extStr := strings.Builder{}
5553
for _, name := range gsr.ExtensionNames() {

message/v1/message.go

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,17 @@ import (
99

1010
blocks "github.com/ipfs/go-block-format"
1111
"github.com/ipfs/go-cid"
12+
"github.com/ipld/go-ipld-prime"
13+
"github.com/ipld/go-ipld-prime/codec/dagcbor"
1214
"github.com/ipld/go-ipld-prime/datamodel"
15+
"github.com/ipld/go-ipld-prime/node/basicnode"
1316
pool "github.com/libp2p/go-buffer-pool"
1417
"github.com/libp2p/go-libp2p-core/network"
1518
"github.com/libp2p/go-libp2p-core/peer"
1619
"github.com/libp2p/go-msgio"
1720
"google.golang.org/protobuf/proto"
1821

1922
"github.com/ipfs/go-graphsync"
20-
"github.com/ipfs/go-graphsync/ipldutil"
2123
"github.com/ipfs/go-graphsync/message"
2224
pb "github.com/ipfs/go-graphsync/message/pb"
2325
"github.com/ipfs/go-graphsync/message/v1/metadata"
@@ -106,7 +108,7 @@ func (mh *MessageHandler) ToProto(p peer.ID, gsm message.GraphSyncMessage) (*pb.
106108
var selector []byte
107109
var err error
108110
if request.Selector() != nil {
109-
selector, err = ipldutil.EncodeNode(request.Selector())
111+
selector, err = ipld.Encode(request.Selector(), dagcbor.Encode)
110112
if err != nil {
111113
return nil, err
112114
}
@@ -202,7 +204,7 @@ func (mh *MessageHandler) fromProto(p peer.ID, pbm *pb.Message) (message.GraphSy
202204
return message.GraphSyncMessage{}, err
203205
}
204206

205-
selector, err := ipldutil.DecodeNode(req.Selector)
207+
selector, err := ipld.DecodeUsingPrototype(req.Selector, dagcbor.Decode, basicnode.Prototype.Any)
206208
if err != nil {
207209
return message.GraphSyncMessage{}, err
208210
}
@@ -263,7 +265,7 @@ func toEncodedExtensions(part message.MessagePartWithExtensions, linkMetadata gr
263265
if !ok || data == nil {
264266
out[string(name)] = nil
265267
} else {
266-
byts, err := ipldutil.EncodeNode(data)
268+
byts, err := ipld.Encode(data, dagcbor.Encode)
267269
if err != nil {
268270
return nil, err
269271
}
@@ -276,7 +278,7 @@ func toEncodedExtensions(part message.MessagePartWithExtensions, linkMetadata gr
276278
md = append(md, metadata.Item{Link: c, BlockPresent: la == graphsync.LinkActionPresent})
277279
})
278280
mdNode := metadata.EncodeMetadata(md)
279-
mdByts, err := ipldutil.EncodeNode(mdNode)
281+
mdByts, err := ipld.Encode(mdNode, dagcbor.Encode)
280282
if err != nil {
281283
return nil, err
282284
}
@@ -295,7 +297,7 @@ func fromEncodedExtensions(in map[string][]byte) ([]graphsync.ExtensionData, []m
295297
var node datamodel.Node
296298
var err error
297299
if len(data) > 0 {
298-
node, err = ipldutil.DecodeNode(data)
300+
node, err = ipld.DecodeUsingPrototype(data, dagcbor.Decode, basicnode.Prototype.Any)
299301
if err != nil {
300302
return nil, nil, err
301303
}

message/v1/message_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,15 @@ import (
88

99
blocks "github.com/ipfs/go-block-format"
1010
cid "github.com/ipfs/go-cid"
11+
"github.com/ipld/go-ipld-prime"
12+
"github.com/ipld/go-ipld-prime/codec/dagcbor"
1113
"github.com/ipld/go-ipld-prime/datamodel"
1214
"github.com/ipld/go-ipld-prime/node/basicnode"
1315
"github.com/ipld/go-ipld-prime/traversal/selector/builder"
1416
"github.com/libp2p/go-libp2p-core/peer"
1517
"github.com/stretchr/testify/require"
1618

1719
"github.com/ipfs/go-graphsync"
18-
"github.com/ipfs/go-graphsync/ipldutil"
1920
"github.com/ipfs/go-graphsync/message"
2021
"github.com/ipfs/go-graphsync/testutil"
2122
)
@@ -52,7 +53,7 @@ func TestAppendingRequests(t *testing.T) {
5253

5354
pbMessage, err := mh.ToProto(peer.ID("foo"), gsm)
5455
require.NoError(t, err, "serialize to protobuf errored")
55-
selectorEncoded, err := ipldutil.EncodeNode(selector)
56+
selectorEncoded, err := ipld.Encode(selector, dagcbor.Encode)
5657
require.NoError(t, err)
5758

5859
pbRequest := pbMessage.Requests[0]

message/v2/ipld_roundtrip_test.go

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package v2
22

33
import (
4-
"bytes"
54
"testing"
65

76
blocks "github.com/ipfs/go-block-format"
87
"github.com/ipfs/go-cid"
8+
"github.com/ipld/go-ipld-prime"
99
"github.com/ipld/go-ipld-prime/codec/dagcbor"
1010
"github.com/ipld/go-ipld-prime/datamodel"
1111
"github.com/ipld/go-ipld-prime/node/basicnode"
@@ -65,18 +65,14 @@ func TestIPLDRoundTrip(t *testing.T) {
6565
require.NoError(t, err)
6666

6767
// ipld TypedNode format
68-
var buf bytes.Buffer
6968
node := bindnode.Wrap(igsm, ipldbind.Prototype.Message.Type())
70-
69+
byts, err := ipld.Encode(node, dagcbor.Encode)
7170
// dag-cbor binary format
72-
err = dagcbor.Encode(node.Representation(), &buf)
7371
require.NoError(t, err)
7472

7573
// back to bindnode internal format
76-
builder := ipldbind.Prototype.Message.Representation().NewBuilder()
77-
err = dagcbor.Decode(builder, &buf)
74+
rtnode, err := ipld.DecodeUsingPrototype(byts, dagcbor.Decode, ipldbind.Prototype.Message.Representation())
7875
require.NoError(t, err)
79-
rtnode := builder.Build()
8076
rtigsm := bindnode.Unwrap(rtnode)
8177

8278
// back to message format

message/v2/message.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,15 @@ import (
88

99
blocks "github.com/ipfs/go-block-format"
1010
"github.com/ipfs/go-cid"
11+
"github.com/ipld/go-ipld-prime"
12+
"github.com/ipld/go-ipld-prime/codec/dagcbor"
1113
"github.com/ipld/go-ipld-prime/datamodel"
1214
"github.com/ipld/go-ipld-prime/node/bindnode"
1315
"github.com/libp2p/go-libp2p-core/network"
1416
"github.com/libp2p/go-libp2p-core/peer"
1517
"github.com/libp2p/go-msgio"
1618

1719
"github.com/ipfs/go-graphsync"
18-
"github.com/ipfs/go-graphsync/ipldutil"
1920
"github.com/ipfs/go-graphsync/message"
2021
"github.com/ipfs/go-graphsync/message/ipldbind"
2122
)
@@ -43,7 +44,7 @@ func (mh *MessageHandler) FromMsgReader(_ peer.ID, r msgio.Reader) (message.Grap
4344
return message.GraphSyncMessage{}, err
4445
}
4546

46-
node, err := ipldutil.DecodeNodeInto(msg, ipldbind.Prototype.Message.Representation().NewBuilder())
47+
node, err := ipld.DecodeUsingPrototype(msg, dagcbor.Decode, ipldbind.Prototype.Message.Representation())
4748
if err != nil {
4849
return message.GraphSyncMessage{}, err
4950
}
@@ -140,7 +141,7 @@ func (mh *MessageHandler) ToNet(_ peer.ID, gsm message.GraphSyncMessage, w io.Wr
140141
buf.Write(lbuf)
141142

142143
node := bindnode.Wrap(msg, ipldbind.Prototype.Message.Type())
143-
err = ipldutil.EncodeNodeInto(node.Representation(), buf)
144+
err = ipld.EncodeStreaming(buf, node.Representation(), dagcbor.Encode)
144145
if err != nil {
145146
return err
146147
}

requestmanager/executor/executor_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ import (
1111

1212
blocks "github.com/ipfs/go-block-format"
1313
"github.com/ipfs/go-peertaskqueue/peertask"
14+
_ "github.com/ipld/go-ipld-prime/codec/dagcbor"
15+
_ "github.com/ipld/go-ipld-prime/codec/raw"
1416
"github.com/ipld/go-ipld-prime/datamodel"
1517
"github.com/ipld/go-ipld-prime/linking"
1618
cidlink "github.com/ipld/go-ipld-prime/linking/cid"

requestmanager/server.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414
"github.com/ipfs/go-peertaskqueue/peertask"
1515
"github.com/ipfs/go-peertaskqueue/peertracker"
1616
"github.com/ipld/go-ipld-prime"
17+
"github.com/ipld/go-ipld-prime/codec/dagcbor"
1718
"github.com/ipld/go-ipld-prime/datamodel"
1819
"github.com/ipld/go-ipld-prime/linking"
1920
cidlink "github.com/ipld/go-ipld-prime/linking/cid"
@@ -375,7 +376,7 @@ func (rm *RequestManager) validateRequest(requestID graphsync.RequestID, p peer.
375376
if err != nil {
376377
return gsmsg.GraphSyncRequest{}, hooks.RequestResult{}, nil, err
377378
}
378-
_, err = ipldutil.EncodeNode(selectorSpec)
379+
_, err = ipld.Encode(selectorSpec, dagcbor.Encode)
379380
if err != nil {
380381
return gsmsg.GraphSyncRequest{}, hooks.RequestResult{}, nil, err
381382
}

testutil/testchain.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
blocks "github.com/ipfs/go-block-format"
99
cid "github.com/ipfs/go-cid"
1010
"github.com/ipld/go-ipld-prime"
11+
_ "github.com/ipld/go-ipld-prime/codec/dagcbor"
1112
"github.com/ipld/go-ipld-prime/datamodel"
1213
cidlink "github.com/ipld/go-ipld-prime/linking/cid"
1314
"github.com/ipld/go-ipld-prime/node/basicnode"

0 commit comments

Comments
 (0)