From e4a7aa0742f5070299d37e8421c99d67f0af3f90 Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Wed, 25 Mar 2026 14:34:50 +0000 Subject: *: object/store -> object/storer --- object/storer/memory/add.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 object/storer/memory/add.go (limited to 'object/storer/memory/add.go') diff --git a/object/storer/memory/add.go b/object/storer/memory/add.go new file mode 100644 index 00000000..3b27f52d --- /dev/null +++ b/object/storer/memory/add.go @@ -0,0 +1,21 @@ +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 +} -- cgit v1.3.1-10-gc9f91