func (_entity *Entity) Hash(_hasher hasher.Hasher) (_data []byte, _error os.Error) { _data, _error = _entity.JsonBytes() if _error != nil { return nil, _error } _data, _error = hasher.HashBytes(_data, _hasher) if _error != nil { return nil, _error } return _data, nil }
func (_node *Node) Hash(_hasher hasher.Hasher) (_hash []byte, _error os.Error) { if _hasher == nil { _hasher = _node.tree.hasher } if (_node.fingerprint != nil) && (_hasher == _node.tree.hasher) { return _node.fingerprint, nil } var _data []byte _data, _error = _node.GobBytes() if _error != nil { return nil, _error } _hash, _error = hasher.HashBytes(_data, _hasher) if _error != nil { return nil, _error } if _hasher == _node.tree.hasher { _node.fingerprint = _hash } return _hash, nil }