blob: 12781d7dd08a9497f3dad4c262f2fde32c35207b (
about) (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
package memory
import (
objectheader "codeberg.org/lindenii/furgit/object/header"
"codeberg.org/lindenii/furgit/objectid"
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
}
|