Commit 20f0643a authored by Jeromy's avatar Jeromy

removed error from return type of blocks.NewBlock()

parent 8f57b7b8
...@@ -3,6 +3,8 @@ package merkledag ...@@ -3,6 +3,8 @@ package merkledag
import ( import (
"fmt" "fmt"
u "github.com/jbenet/go-ipfs/util"
mh "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multihash" mh "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multihash"
) )
...@@ -76,6 +78,7 @@ func (n *Node) Encoded(force bool) ([]byte, error) { ...@@ -76,6 +78,7 @@ func (n *Node) Encoded(force bool) ([]byte, error) {
if err != nil { if err != nil {
return []byte{}, err return []byte{}, err
} }
n.cached = u.Hash(n.encoded)
} }
return n.encoded, nil return n.encoded, nil
......
...@@ -24,6 +24,8 @@ type Node struct { ...@@ -24,6 +24,8 @@ type Node struct {
// cache encoded/marshaled value // cache encoded/marshaled value
encoded []byte encoded []byte
cached mh.Multihash
} }
// Link represents an IPFS Merkle DAG Link between Nodes. // Link represents an IPFS Merkle DAG Link between Nodes.
...@@ -122,12 +124,12 @@ func (n *Node) Size() (uint64, error) { ...@@ -122,12 +124,12 @@ func (n *Node) Size() (uint64, error) {
// Multihash hashes the encoded data of this node. // Multihash hashes the encoded data of this node.
func (n *Node) Multihash() (mh.Multihash, error) { func (n *Node) Multihash() (mh.Multihash, error) {
b, err := n.Encoded(false) _, err := n.Encoded(false)
if err != nil { if err != nil {
return nil, err return nil, err
} }
return u.Hash(b), nil return n.cached, nil
} }
// Key returns the Multihash as a key, for maps. // Key returns the Multihash as a key, for maps.
...@@ -183,7 +185,9 @@ func (n *DAGService) Add(nd *Node) (u.Key, error) { ...@@ -183,7 +185,9 @@ func (n *DAGService) Add(nd *Node) (u.Key, error) {
return "", err return "", err
} }
b, err := blocks.NewBlock(d) b := new(blocks.Block)
b.Data = d
b.Multihash, err = nd.Multihash()
if err != nil { if err != nil {
return "", err return "", err
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment