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-cidutil
Commits
a02d17cf
Commit
a02d17cf
authored
Aug 09, 2018
by
Kevin Atkinson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Rename Format to Builder.
parent
581df307
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
0 additions
and
150 deletions
+0
-150
format.go
format.go
+0
-92
format_test.go
format_test.go
+0
-58
No files found.
format.go
deleted
100644 → 0
View file @
581df307
package
cid
import
(
mh
"github.com/multiformats/go-multihash"
)
type
Format
interface
{
Sum
(
data
[]
byte
)
(
*
Cid
,
error
)
GetCodec
()
uint64
WithCodec
(
uint64
)
Format
}
type
FormatV0
struct
{}
type
FormatV1
struct
{
Codec
uint64
HashFun
uint64
HashLen
int
// HashLen <= 0 means the default length
}
func
PrefixToFormat
(
p
Prefix
)
Format
{
if
p
.
Version
==
0
{
return
FormatV0
{}
}
mhLen
:=
p
.
MhLength
if
p
.
MhType
==
mh
.
ID
{
mhLen
=
0
}
if
mhLen
<
0
{
mhLen
=
0
}
return
FormatV1
{
Codec
:
p
.
Codec
,
HashFun
:
p
.
MhType
,
HashLen
:
mhLen
,
}
}
func
(
p
Prefix
)
GetCodec
()
uint64
{
return
p
.
Codec
}
func
(
p
Prefix
)
WithCodec
(
c
uint64
)
Format
{
if
c
==
p
.
Codec
{
return
p
}
p
.
Codec
=
c
if
c
!=
DagProtobuf
{
p
.
Version
=
1
}
return
p
}
func
(
p
FormatV0
)
Sum
(
data
[]
byte
)
(
*
Cid
,
error
)
{
hash
,
err
:=
mh
.
Sum
(
data
,
mh
.
SHA2_256
,
-
1
)
if
err
!=
nil
{
return
nil
,
err
}
return
NewCidV0
(
hash
),
nil
}
func
(
p
FormatV0
)
GetCodec
()
uint64
{
return
DagProtobuf
}
func
(
p
FormatV0
)
WithCodec
(
c
uint64
)
Format
{
if
c
==
DagProtobuf
{
return
p
}
return
FormatV1
{
Codec
:
c
,
HashFun
:
mh
.
SHA2_256
}
}
func
(
p
FormatV1
)
Sum
(
data
[]
byte
)
(
*
Cid
,
error
)
{
mhLen
:=
p
.
HashLen
if
mhLen
<=
0
{
mhLen
=
-
1
}
hash
,
err
:=
mh
.
Sum
(
data
,
p
.
HashFun
,
mhLen
)
if
err
!=
nil
{
return
nil
,
err
}
return
NewCidV1
(
p
.
Codec
,
hash
),
nil
}
func
(
p
FormatV1
)
GetCodec
()
uint64
{
return
p
.
Codec
}
func
(
p
FormatV1
)
WithCodec
(
c
uint64
)
Format
{
p
.
Codec
=
c
return
p
}
format_test.go
deleted
100644 → 0
View file @
581df307
package
cid
import
(
"testing"
mh
"github.com/multiformats/go-multihash"
)
func
TestFormatV1
(
t
*
testing
.
T
)
{
data
:=
[]
byte
(
"this is some test content"
)
// Construct c1
format
:=
FormatV1
{
Codec
:
DagCBOR
,
HashFun
:
mh
.
SHA2_256
}
c1
,
err
:=
format
.
Sum
(
data
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
// Construct c2
hash
,
err
:=
mh
.
Sum
(
data
,
mh
.
SHA2_256
,
-
1
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
c2
:=
NewCidV1
(
DagCBOR
,
hash
)
if
!
c1
.
Equals
(
c2
)
{
t
.
Fatal
(
"cids mismatch"
)
}
if
c1
.
Prefix
()
!=
c2
.
Prefix
()
{
t
.
Fatal
(
"prefixes mismatch"
)
}
}
func
TestFormatV0
(
t
*
testing
.
T
)
{
data
:=
[]
byte
(
"this is some test content"
)
// Construct c1
format
:=
FormatV0
{}
c1
,
err
:=
format
.
Sum
(
data
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
// Construct c2
hash
,
err
:=
mh
.
Sum
(
data
,
mh
.
SHA2_256
,
-
1
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
c2
:=
NewCidV0
(
hash
)
if
!
c1
.
Equals
(
c2
)
{
t
.
Fatal
(
"cids mismatch"
)
}
if
c1
.
Prefix
()
!=
c2
.
Prefix
()
{
t
.
Fatal
(
"prefixes mismatch"
)
}
}
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