diff options
Diffstat (limited to 'object/storer/memory')
| -rw-r--r-- | object/storer/memory/add.go | 21 | ||||
| -rw-r--r-- | object/storer/memory/algorithm.go | 8 | ||||
| -rw-r--r-- | object/storer/memory/doc.go | 2 | ||||
| -rw-r--r-- | object/storer/memory/object.go | 9 | ||||
| -rw-r--r-- | object/storer/memory/read_bytes.go | 37 | ||||
| -rw-r--r-- | object/storer/memory/read_header.go | 17 | ||||
| -rw-r--r-- | object/storer/memory/read_reader.go | 29 | ||||
| -rw-r--r-- | object/storer/memory/read_size.go | 13 | ||||
| -rw-r--r-- | object/storer/memory/refresh.go | 6 | ||||
| -rw-r--r-- | object/storer/memory/store.go | 24 |
10 files changed, 0 insertions, 166 deletions
diff --git a/object/storer/memory/add.go b/object/storer/memory/add.go deleted file mode 100644 index 3b27f52d..00000000 --- a/object/storer/memory/add.go +++ /dev/null @@ -1,21 +0,0 @@ -package memory - -import ( - objectheader "codeberg.org/lindenii/furgit/object/header" - objectid "codeberg.org/lindenii/furgit/object/id" - objecttype "codeberg.org/lindenii/furgit/object/type" -) - -// AddObject stores one object body and returns its object ID. -func (store *Store) AddObject(ty objecttype.Type, body []byte) objectid.ObjectID { - header, ok := objectheader.Encode(ty, int64(len(body))) - if !ok { - panic("failed to encode object header") - } - - raw := append(append([]byte(nil), header...), body...) - id := store.algo.Sum(raw) - store.objects[id] = storedObject{ty: ty, content: append([]byte(nil), body...)} - - return id -} diff --git a/object/storer/memory/algorithm.go b/object/storer/memory/algorithm.go deleted file mode 100644 index bf7f3a82..00000000 --- a/object/storer/memory/algorithm.go +++ /dev/null @@ -1,8 +0,0 @@ -package memory - -import objectid "codeberg.org/lindenii/furgit/object/id" - -// Algorithm returns the object ID algorithm used by the store. -func (store *Store) Algorithm() objectid.Algorithm { - return store.algo -} diff --git a/object/storer/memory/doc.go b/object/storer/memory/doc.go deleted file mode 100644 index cb40d466..00000000 --- a/object/storer/memory/doc.go +++ /dev/null @@ -1,2 +0,0 @@ -// Package memory provides one in-memory object store. -package memory diff --git a/object/storer/memory/object.go b/object/storer/memory/object.go deleted file mode 100644 index a85175c7..00000000 --- a/object/storer/memory/object.go +++ /dev/null @@ -1,9 +0,0 @@ -package memory - -import objecttype "codeberg.org/lindenii/furgit/object/type" - -// storedObject is one in-memory object entry. -type storedObject struct { - ty objecttype.Type - content []byte -} diff --git a/object/storer/memory/read_bytes.go b/object/storer/memory/read_bytes.go deleted file mode 100644 index e8b437ea..00000000 --- a/object/storer/memory/read_bytes.go +++ /dev/null @@ -1,37 +0,0 @@ -package memory - -import ( - objectheader "codeberg.org/lindenii/furgit/object/header" - objectid "codeberg.org/lindenii/furgit/object/id" - objectstorer "codeberg.org/lindenii/furgit/object/storer" - objecttype "codeberg.org/lindenii/furgit/object/type" -) - -// ReadBytesFull reads one full object, including the object header. -func (store *Store) ReadBytesFull(id objectid.ObjectID) ([]byte, error) { - obj, ok := store.objects[id] - if !ok { - return nil, objectstorer.ErrObjectNotFound - } - - header, ok := objectheader.Encode(obj.ty, int64(len(obj.content))) - if !ok { - panic("failed to encode object header") - } - - raw := make([]byte, len(header)+len(obj.content)) - copy(raw, header) - copy(raw[len(header):], obj.content) - - return raw, nil -} - -// ReadBytesContent reads one object body. -func (store *Store) ReadBytesContent(id objectid.ObjectID) (objecttype.Type, []byte, error) { - obj, ok := store.objects[id] - if !ok { - return objecttype.TypeInvalid, nil, objectstorer.ErrObjectNotFound - } - - return obj.ty, append([]byte(nil), obj.content...), nil -} diff --git a/object/storer/memory/read_header.go b/object/storer/memory/read_header.go deleted file mode 100644 index 73cc4561..00000000 --- a/object/storer/memory/read_header.go +++ /dev/null @@ -1,17 +0,0 @@ -package memory - -import ( - objectid "codeberg.org/lindenii/furgit/object/id" - objectstorer "codeberg.org/lindenii/furgit/object/storer" - objecttype "codeberg.org/lindenii/furgit/object/type" -) - -// ReadHeader reads one object header. -func (store *Store) ReadHeader(id objectid.ObjectID) (objecttype.Type, int64, error) { - obj, ok := store.objects[id] - if !ok { - return objecttype.TypeInvalid, 0, objectstorer.ErrObjectNotFound - } - - return obj.ty, int64(len(obj.content)), nil -} diff --git a/object/storer/memory/read_reader.go b/object/storer/memory/read_reader.go deleted file mode 100644 index 425c3034..00000000 --- a/object/storer/memory/read_reader.go +++ /dev/null @@ -1,29 +0,0 @@ -package memory - -import ( - "bytes" - "io" - - objectid "codeberg.org/lindenii/furgit/object/id" - objecttype "codeberg.org/lindenii/furgit/object/type" -) - -// ReadReaderFull reads one full object through a reader. -func (store *Store) ReadReaderFull(id objectid.ObjectID) (io.ReadCloser, error) { - raw, err := store.ReadBytesFull(id) - if err != nil { - return nil, err - } - - return io.NopCloser(bytes.NewReader(raw)), nil -} - -// ReadReaderContent reads one object body through a reader. -func (store *Store) ReadReaderContent(id objectid.ObjectID) (objecttype.Type, int64, io.ReadCloser, error) { - ty, content, err := store.ReadBytesContent(id) - if err != nil { - return objecttype.TypeInvalid, 0, nil, err - } - - return ty, int64(len(content)), io.NopCloser(bytes.NewReader(content)), nil -} diff --git a/object/storer/memory/read_size.go b/object/storer/memory/read_size.go deleted file mode 100644 index 7045bd61..00000000 --- a/object/storer/memory/read_size.go +++ /dev/null @@ -1,13 +0,0 @@ -package memory - -import objectid "codeberg.org/lindenii/furgit/object/id" - -// ReadSize reads one object size. -func (store *Store) ReadSize(id objectid.ObjectID) (int64, error) { - _, size, err := store.ReadHeader(id) - if err != nil { - return 0, err - } - - return size, nil -} diff --git a/object/storer/memory/refresh.go b/object/storer/memory/refresh.go deleted file mode 100644 index 1e18eef3..00000000 --- a/object/storer/memory/refresh.go +++ /dev/null @@ -1,6 +0,0 @@ -package memory - -// Refresh is a no-op for in-memory object stores. -func (store *Store) Refresh() error { - return nil -} diff --git a/object/storer/memory/store.go b/object/storer/memory/store.go deleted file mode 100644 index 8f212c38..00000000 --- a/object/storer/memory/store.go +++ /dev/null @@ -1,24 +0,0 @@ -package memory - -import ( - objectid "codeberg.org/lindenii/furgit/object/id" -) - -// Store is one in-memory object store. -type Store struct { - algo objectid.Algorithm - objects map[objectid.ObjectID]storedObject -} - -// New builds one empty in-memory store for one object format. -func New(algo objectid.Algorithm) *Store { - return &Store{ - algo: algo, - objects: make(map[objectid.ObjectID]storedObject), - } -} - -// Close closes the in-memory store. -func (store *Store) Close() error { - return nil -} |
