From 3b44bb05f74ebd2734f12808c813dae2995b41b1 Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Sat, 21 Feb 2026 00:11:00 +0800 Subject: objectdb: Add Reader-based methods --- objectdb/objectdb.go | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'objectdb/objectdb.go') 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. -- cgit v1.3.1-10-gc9f91