diff options
| author | 2026-02-21 00:11:00 +0800 | |
|---|---|---|
| committer | 2026-02-21 00:11:00 +0800 | |
| commit | 3b44bb05f74ebd2734f12808c813dae2995b41b1 (patch) | |
| tree | 4ebf409f885be142b04c4de3d7fe87c0eb390582 /objectdb/objectdb.go | |
| parent | objectdb: Add Chain (diff) | |
| signature | No signature | |
objectdb: Add Reader-based methods
Diffstat (limited to 'objectdb/objectdb.go')
| -rw-r--r-- | objectdb/objectdb.go | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/objectdb/objectdb.go b/objectdb/objectdb.go index 3e45893a..6e1fbded 100644 --- a/objectdb/objectdb.go +++ b/objectdb/objectdb.go @@ -3,6 +3,7 @@ package objectdb import ( "errors" + "io" "codeberg.org/lindenii/furgit/objectid" "codeberg.org/lindenii/furgit/objecttype" @@ -19,6 +20,12 @@ type ObjectDB interface { ReadBytesFull(id objectid.ObjectID) ([]byte, error) // ReadBytesContent reads an object's type and content bytes. ReadBytesContent(id objectid.ObjectID) (objecttype.Type, []byte, error) + // ReadReaderFull reads a full serialized object stream as "type size\\x00content". + // Caller must close the returned reader. + ReadReaderFull(id objectid.ObjectID) (io.ReadCloser, error) + // ReadReaderContent reads an object's type and content stream. + // Caller must close the returned reader. + ReadReaderContent(id objectid.ObjectID) (objecttype.Type, io.ReadCloser, error) // ReadHeader reads an object's type and declared content length. ReadHeader(id objectid.ObjectID) (objecttype.Type, int64, error) // Close releases resources associated with the backend. |
