filestore: Refactor.
License: MIT Signed-off-by: Kevin Atkinson <k@kevina.org>
Kevin Atkinson committed
Feb 9, 2017 at 12:16 UTC
96269e025662f8c6ee8bd8704fc113e5c870f548
2 files changed
+7
-9
filestore/fsrefstore.go
+4
@@ -109,6 +109,10 @@ func (f *FileManager) getDataObj(c *cid.Cid) (*pb.DataObj, error) {
109
//
110
}
111
112
+ return unmarshalDataObj(o)
113
+}
114
+
115
+func unmarshalDataObj(o interface{}) (*pb.DataObj, error) {
116
data, ok := o.([]byte)
117
if !ok {
118
return nil, fmt.Errorf("stored filestore dataobj was not a []byte")
filestore/util.go
+3
-9
@@ -9,7 +9,6 @@ import (
9
10
ds "gx/ipfs/QmRWDav6mzWseLWeYfVd5fvUKiVe9xNH29YfMF438fG364/go-datastore"
11
dsq "gx/ipfs/QmRWDav6mzWseLWeYfVd5fvUKiVe9xNH29YfMF438fG364/go-datastore/query"
12
- proto "gx/ipfs/QmT6n4mspWYEya864BhCUJEgyxiRfmiSY9ruQwTUNpRKaM/protobuf/proto"
12
cid "gx/ipfs/QmV5gPoRsjN1Gid3LMdNZTyfCtP2DsvqEbMAmz82RmmiGk/go-cid"
13
)
14
@@ -124,17 +123,12 @@ func next(qr dsq.Results) (*cid.Cid, *pb.DataObj, error) {
123
return nil, nil, fmt.Errorf("decoding cid from filestore: %s", err)
124
}
125
127
- data, ok := v.Value.([]byte)
128
- if !ok {
129
- return c, nil, fmt.Errorf("stored filestore dataobj was not a []byte")
130
- }
131
-
132
- var dobj pb.DataObj
133
- if err := proto.Unmarshal(data, &dobj); err != nil {
126
+ dobj, err := unmarshalDataObj(v.Value)
127
+ if err != nil {
128
return c, nil, err
129
}
130
137
- return c, &dobj, nil
131
+ return c, dobj, nil
132
}
133
134
func mkListRes(c *cid.Cid, d *pb.DataObj, err error) *ListRes {