aboutsummaryrefslogtreecommitdiff
path: root/object/store/memory/write_reader.go
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-04-02 06:23:30 +0000
committerGravatar Runxi Yu2026-04-02 06:28:39 +0000
commita041d523de389b65b98a5373a8034041db2a8d83 (patch)
tree7b423dc735f463be616045f2c3c2095a7737aca7 /object/store/memory/write_reader.go
parentresearch: Add dynamic pack resources (diff)
signatureNo signature
*: Remove
Diffstat (limited to 'object/store/memory/write_reader.go')
-rw-r--r--object/store/memory/write_reader.go55
1 files changed, 0 insertions, 55 deletions
diff --git a/object/store/memory/write_reader.go b/object/store/memory/write_reader.go
deleted file mode 100644
index 0fa6a13f..00000000
--- a/object/store/memory/write_reader.go
+++ /dev/null
@@ -1,55 +0,0 @@
-package memory
-
-import (
- "errors"
- "fmt"
- "io"
-
- objectheader "codeberg.org/lindenii/furgit/object/header"
- objectid "codeberg.org/lindenii/furgit/object/id"
- objecttype "codeberg.org/lindenii/furgit/object/type"
-)
-
-// WriteReaderContent writes one typed object content stream.
-func (store *Store) WriteReaderContent(ty objecttype.Type, size int64, src io.Reader) (objectid.ObjectID, error) {
- if size < 0 {
- return objectid.ObjectID{}, fmt.Errorf("objectstore/memory: negative content size: %d", size)
- }
-
- content, err := io.ReadAll(io.LimitReader(src, size+1))
- if err != nil {
- return objectid.ObjectID{}, err
- }
-
- switch {
- case int64(len(content)) > size:
- return objectid.ObjectID{}, errors.New("objectstore/memory: object content longer than declared size")
- case int64(len(content)) < size:
- return objectid.ObjectID{}, errors.New("objectstore/memory: object content shorter than declared size")
- }
-
- return store.WriteBytesContent(ty, content)
-}
-
-// WriteReaderFull writes one full serialized object stream as "type size\0content".
-func (store *Store) WriteReaderFull(src io.Reader) (objectid.ObjectID, error) {
- raw, err := io.ReadAll(src)
- if err != nil {
- return objectid.ObjectID{}, err
- }
-
- ty, size, headerLen, ok := objectheader.Parse(raw)
- if !ok {
- return objectid.ObjectID{}, errors.New("objectstore/memory: malformed object header")
- }
-
- content := raw[headerLen:]
- if int64(len(content)) != size {
- return objectid.ObjectID{}, errors.New("objectstore/memory: object header size/content mismatch")
- }
-
- id := store.algo.Sum(raw)
- store.objects[id] = storedObject{ty: ty, content: append([]byte(nil), content...)}
-
- return id, nil
-}