Skip to content
This repository was archived by the owner on Jun 27, 2023. It is now read-only.

Commit c02218e

Browse files
committed
Update to use new Builder interface for creating CIDs.
1 parent f222d6a commit c02218e

File tree

5 files changed

+19
-19
lines changed

5 files changed

+19
-19
lines changed

hamt/hamt.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ type Shard struct {
5252
tableSize int
5353
tableSizeLg2 int
5454

55-
prefix *cid.Prefix
55+
prefix cid.Builder
5656
hashFunc uint64
5757

5858
prefixPadStr string
@@ -124,18 +124,18 @@ func NewHamtFromDag(dserv ipld.DAGService, nd ipld.Node) (*Shard, error) {
124124
ds.children = make([]child, len(pbnd.Links()))
125125
ds.bitfield.SetBytes(pbd.GetData())
126126
ds.hashFunc = pbd.GetHashType()
127-
ds.prefix = &ds.nd.Prefix
127+
ds.prefix = ds.nd.Prefix()
128128

129129
return ds, nil
130130
}
131131

132132
// SetPrefix sets the CID Prefix
133-
func (ds *Shard) SetPrefix(prefix *cid.Prefix) {
133+
func (ds *Shard) SetPrefix(prefix cid.Builder) {
134134
ds.prefix = prefix
135135
}
136136

137137
// Prefix gets the CID Prefix, may be nil if unset
138-
func (ds *Shard) Prefix() *cid.Prefix {
138+
func (ds *Shard) Prefix() cid.Builder {
139139
return ds.prefix
140140
}
141141

importer/helpers/dagbuilder.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ type DagBuilderHelper struct {
2626
nextData []byte // the next item to return.
2727
maxlinks int
2828
batch *ipld.Batch
29-
prefix *cid.Prefix
29+
prefix cid.Builder
3030

3131
// Filestore support variables.
3232
// ----------------------------
@@ -54,7 +54,7 @@ type DagBuilderParams struct {
5454
RawLeaves bool
5555

5656
// CID Prefix to use if set
57-
Prefix *cid.Prefix
57+
Prefix cid.Builder
5858

5959
// DAGService to write blocks to (required)
6060
Dagserv ipld.DAGService
@@ -146,7 +146,7 @@ func (db *DagBuilderHelper) NewUnixfsNode() *UnixfsNode {
146146
}
147147

148148
// GetPrefix returns the internal `cid.Prefix` set in the builder.
149-
func (db *DagBuilderHelper) GetPrefix() *cid.Prefix {
149+
func (db *DagBuilderHelper) GetPrefix() cid.Builder {
150150
return db.prefix
151151
}
152152

@@ -166,7 +166,7 @@ func (db *DagBuilderHelper) NewLeaf(data []byte) (*UnixfsNode, error) {
166166
raw: true,
167167
}, nil
168168
}
169-
rawnode, err := dag.NewRawNodeWPrefix(data, *db.prefix)
169+
rawnode, err := dag.NewRawNodeWPrefix(data, db.prefix)
170170
if err != nil {
171171
return nil, err
172172
}
@@ -197,7 +197,7 @@ func (db *DagBuilderHelper) NewLeafNode(data []byte) (ipld.Node, error) {
197197
if db.prefix == nil {
198198
return dag.NewRawNode(data), nil
199199
}
200-
rawnode, err := dag.NewRawNodeWPrefix(data, *db.prefix)
200+
rawnode, err := dag.NewRawNodeWPrefix(data, db.prefix)
201201
if err != nil {
202202
return nil, err
203203
}

importer/helpers/helpers.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ func NewUnixfsNodeFromDag(nd *dag.ProtoNode) (*UnixfsNode, error) {
6161
}
6262

6363
// SetPrefix sets the CID Prefix
64-
func (n *UnixfsNode) SetPrefix(prefix *cid.Prefix) {
64+
func (n *UnixfsNode) SetPrefix(prefix cid.Builder) {
6565
n.node.SetPrefix(prefix)
6666
}
6767

io/directory.go

+8-8
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ var DefaultShardWidth = 256
3030
type Directory interface {
3131

3232
// SetPrefix sets the CID prefix of the root node.
33-
SetPrefix(*cid.Prefix)
33+
SetPrefix(cid.Builder)
3434

3535
// AddChild adds a (name, key) pair to the root node.
3636
AddChild(context.Context, string, ipld.Node) error
@@ -52,7 +52,7 @@ type Directory interface {
5252
GetNode() (ipld.Node, error)
5353

5454
// GetPrefix returns the CID Prefix used.
55-
GetPrefix() *cid.Prefix
55+
GetPrefix() cid.Builder
5656
}
5757

5858
// TODO: Evaluate removing `dserv` from this layer and providing it in MFS.
@@ -128,7 +128,7 @@ func NewDirectoryFromNode(dserv ipld.DAGService, node ipld.Node) (Directory, err
128128
}
129129

130130
// SetPrefix implements the `Directory` interface.
131-
func (d *BasicDirectory) SetPrefix(prefix *cid.Prefix) {
131+
func (d *BasicDirectory) SetPrefix(prefix cid.Builder) {
132132
d.node.SetPrefix(prefix)
133133
}
134134

@@ -180,8 +180,8 @@ func (d *BasicDirectory) GetNode() (ipld.Node, error) {
180180
}
181181

182182
// GetPrefix implements the `Directory` interface.
183-
func (d *BasicDirectory) GetPrefix() *cid.Prefix {
184-
return &d.node.Prefix
183+
func (d *BasicDirectory) GetPrefix() cid.Builder {
184+
return d.node.Prefix()
185185
}
186186

187187
// SwitchToSharding returns a HAMT implementation of this directory.
@@ -193,7 +193,7 @@ func (d *BasicDirectory) SwitchToSharding(ctx context.Context) (Directory, error
193193
if err != nil {
194194
return nil, err
195195
}
196-
shard.SetPrefix(&d.node.Prefix)
196+
shard.SetPrefix(d.node.Prefix())
197197
hamtDir.shard = shard
198198

199199
for _, lnk := range d.node.Links() {
@@ -212,7 +212,7 @@ func (d *BasicDirectory) SwitchToSharding(ctx context.Context) (Directory, error
212212
}
213213

214214
// SetPrefix implements the `Directory` interface.
215-
func (d *HAMTDirectory) SetPrefix(prefix *cid.Prefix) {
215+
func (d *HAMTDirectory) SetPrefix(prefix cid.Builder) {
216216
d.shard.SetPrefix(prefix)
217217
}
218218

@@ -252,6 +252,6 @@ func (d *HAMTDirectory) GetNode() (ipld.Node, error) {
252252
}
253253

254254
// GetPrefix implements the `Directory` interface.
255-
func (d *HAMTDirectory) GetPrefix() *cid.Prefix {
255+
func (d *HAMTDirectory) GetPrefix() cid.Builder {
256256
return d.shard.Prefix()
257257
}

mod/dagmodifier.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ func (dm *DagModifier) modifyDag(n ipld.Node, offset uint64) (*cid.Cid, error) {
256256

257257
nd := new(mdag.ProtoNode)
258258
nd.SetData(b)
259-
nd.SetPrefix(&nd0.Prefix)
259+
nd.SetPrefix(nd0.Prefix())
260260
err = dm.dagserv.Add(dm.ctx, nd)
261261
if err != nil {
262262
return nil, err

0 commit comments

Comments
 (0)