aboutsummaryrefslogtreecommitdiff
path: root/object/store/memory/reader.go
diff options
context:
space:
mode:
Diffstat (limited to 'object/store/memory/reader.go')
-rw-r--r--object/store/memory/reader.go22
1 files changed, 12 insertions, 10 deletions
diff --git a/object/store/memory/reader.go b/object/store/memory/reader.go
index 19723a6c..e04ad759 100644
--- a/object/store/memory/reader.go
+++ b/object/store/memory/reader.go
@@ -17,34 +17,36 @@ func (memory *Memory) ReadBytesFull(id id.ObjectID) ([]byte, error) {
return nil, store.ErrObjectNotFound
}
- raw := header.Append(nil, obj.ty, uint64(len(obj.content)))
+ raw := header.Append(nil, obj.ty, len(obj.content))
raw = append(raw, obj.content...)
return raw, nil
}
// ReadBytesContent reads one object body.
+//
+// The returned slice aliases the store's own copy of the object content.
func (memory *Memory) ReadBytesContent(id id.ObjectID) (typ.Type, []byte, error) {
obj, ok := memory.objects.Load(id)
if !ok {
- return typ.TypeUnknown, nil, store.ErrObjectNotFound
+ return typ.Unknown, nil, store.ErrObjectNotFound
}
- return obj.ty, append([]byte(nil), obj.content...), nil
+ return obj.ty, obj.content, nil
}
// ReadHeader reads one object header.
-func (memory *Memory) ReadHeader(id id.ObjectID) (typ.Type, uint64, error) {
+func (memory *Memory) ReadHeader(id id.ObjectID) (typ.Type, int, error) {
obj, ok := memory.objects.Load(id)
if !ok {
- return typ.TypeUnknown, 0, store.ErrObjectNotFound
+ return typ.Unknown, 0, store.ErrObjectNotFound
}
- return obj.ty, uint64(len(obj.content)), nil
+ return obj.ty, len(obj.content), nil
}
// ReadSize reads one object size.
-func (memory *Memory) ReadSize(id id.ObjectID) (uint64, error) {
+func (memory *Memory) ReadSize(id id.ObjectID) (int, error) {
_, size, err := memory.ReadHeader(id)
if err != nil {
return 0, err
@@ -64,13 +66,13 @@ func (memory *Memory) ReadReaderFull(id id.ObjectID) (io.ReadCloser, error) {
}
// ReadReaderContent reads one object body through a reader.
-func (memory *Memory) ReadReaderContent(id id.ObjectID) (typ.Type, uint64, io.ReadCloser, error) {
+func (memory *Memory) ReadReaderContent(id id.ObjectID) (typ.Type, int, io.ReadCloser, error) {
ty, content, err := memory.ReadBytesContent(id)
if err != nil {
- return typ.TypeUnknown, 0, nil, err
+ return typ.Unknown, 0, nil, err
}
- return ty, uint64(len(content)), io.NopCloser(bytes.NewReader(content)), nil
+ return ty, len(content), io.NopCloser(bytes.NewReader(content)), nil
}
// Refresh is a no-op for in-memory object stores.