Golint: unixfs/mod unixfs/test
License: MIT Signed-off-by: Hector Sanjuan <hector@protocol.ai>
Hector Sanjuan committed
Feb 6, 2018 at 13:08 UTC
f074292e4802d3f0ce4615944701568ab1253739
2 files changed
+22
-9
unixfs/mod/dagmodifier.go
+13
-5
@@ -1,3 +1,5 @@
1
+// Package mod provides DAG modification utilities to, for example,
2
+// insert additional nodes in a unixfs DAG or truncate them.
3
package mod
4
5
import (
@@ -19,8 +21,12 @@ import (
21
ipld "gx/ipfs/Qme5bWv7wtjUNGsK2BNGVUFPKiuxWrsqrtvYwCLRw8YFES/go-ipld-format"
22
)
23
22
-var ErrSeekFail = errors.New("failed to seek properly")
23
-var ErrUnrecognizedWhence = errors.New("unrecognized whence")
24
+// Common errors
25
+var (
26
+ ErrSeekFail = errors.New("failed to seek properly")
27
+ ErrUnrecognizedWhence = errors.New("unrecognized whence")
28
+ ErrNotUnixfs = fmt.Errorf("dagmodifier only supports unixfs nodes (proto or raw)")
29
+)
30
31
// 2MB
32
var writebufferSize = 1 << 21
@@ -46,8 +52,6 @@ type DagModifier struct {
52
read uio.DagReader
53
}
54
49
-var ErrNotUnixfs = fmt.Errorf("dagmodifier only supports unixfs nodes (proto or raw)")
50
-
55
// NewDagModifier returns a new DagModifier, the Cid prefix for newly
56
// created nodes will be inherted from the passed in node. If the Cid
57
// version if not 0 raw leaves will also be enabled. The Prefix and
@@ -412,7 +416,7 @@ func (dm *DagModifier) readPrep() error {
416
return nil
417
}
418
415
-// Read data from this dag starting at the current offset
419
+// CtxReadFull reads data from this dag starting at the current offset
420
func (dm *DagModifier) CtxReadFull(ctx context.Context, b []byte) (int, error) {
421
err := dm.readPrep()
422
if err != nil {
@@ -438,6 +442,8 @@ func (dm *DagModifier) HasChanges() bool {
442
return dm.wrBuf != nil
443
}
444
445
+// Seek modifies the offset according to whence. See unixfs/io for valid whence
446
+// values.
447
func (dm *DagModifier) Seek(offset int64, whence int) (int64, error) {
448
err := dm.Sync()
449
if err != nil {
@@ -479,6 +485,8 @@ func (dm *DagModifier) Seek(offset int64, whence int) (int64, error) {
485
return int64(dm.curWrOff), nil
486
}
487
488
+// Truncate truncates the current Node to 'size' and replaces it with the
489
+// new one.
490
func (dm *DagModifier) Truncate(size int64) error {
491
err := dm.Sync()
492
if err != nil {
unixfs/test/utils.go
+9
-4
@@ -21,6 +21,7 @@ import (
21
ipld "gx/ipfs/Qme5bWv7wtjUNGsK2BNGVUFPKiuxWrsqrtvYwCLRw8YFES/go-ipld-format"
22
)
23
24
+// SizeSplitterGen creates a generator.
25
func SizeSplitterGen(size int64) chunk.SplitterGen {
26
return func(r io.Reader) chunk.Splitter {
27
return chunk.NewSizeSplitter(r, size)
@@ -41,10 +42,13 @@ type NodeOpts struct {
42
RawLeavesUsed bool
43
}
44
44
-var UseProtoBufLeaves = NodeOpts{Prefix: mdag.V0CidPrefix()}
45
-var UseRawLeaves = NodeOpts{Prefix: mdag.V0CidPrefix(), ForceRawLeaves: true, RawLeavesUsed: true}
46
-var UseCidV1 = NodeOpts{Prefix: mdag.V1CidPrefix(), RawLeavesUsed: true}
47
-var UseBlake2b256 NodeOpts
45
+// Some shorthands for NodeOpts.
46
+var (
47
+ UseProtoBufLeaves = NodeOpts{Prefix: mdag.V0CidPrefix()}
48
+ UseRawLeaves = NodeOpts{Prefix: mdag.V0CidPrefix(), ForceRawLeaves: true, RawLeavesUsed: true}
49
+ UseCidV1 = NodeOpts{Prefix: mdag.V1CidPrefix(), RawLeavesUsed: true}
50
+ UseBlake2b256 NodeOpts
51
+)
52
53
func init() {
54
UseBlake2b256 = UseCidV1
@@ -88,6 +92,7 @@ func GetRandomNode(t testing.TB, dserv ipld.DAGService, size int64, opts NodeOpt
92
return buf, node
93
}
94
95
+// ArrComp checks if two byte slices are the same.
96
func ArrComp(a, b []byte) error {
97
if len(a) != len(b) {
98
return fmt.Errorf("Arrays differ in length. %d != %d", len(a), len(b))