aboutsummaryrefslogtreecommitdiff
path: root/object/store/dual/new.go
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-03-30 18:06:05 +0000
committerGravatar Runxi Yu2026-03-30 18:06:05 +0000
commitc3fe7af6cf267e6fafe5ab24cd2cc238e3ba3029 (patch)
tree41f241cb36f286b470e7db1164039aa76b4e6fd3 /object/store/dual/new.go
parentref/store: Remove ReadWriteStore (diff)
signatureNo signature
object/store/dual: Add a basic dual composr
Diffstat (limited to 'object/store/dual/new.go')
-rw-r--r--object/store/dual/new.go29
1 files changed, 29 insertions, 0 deletions
diff --git a/object/store/dual/new.go b/object/store/dual/new.go
new file mode 100644
index 00000000..ef38bc7a
--- /dev/null
+++ b/object/store/dual/new.go
@@ -0,0 +1,29 @@
+package dual
+
+import (
+ objectstore "codeberg.org/lindenii/furgit/object/store"
+ objectmix "codeberg.org/lindenii/furgit/object/store/mix"
+)
+
+// New creates one dual object store from borrowed object-wise and pack-wise
+// stores.
+//
+// Labels: Deps-Borrowed, Life-Parent.
+func New(
+ object interface {
+ objectstore.Reader
+ objectstore.ObjectWriter
+ objectstore.ObjectQuarantiner
+ },
+ pack interface {
+ objectstore.Reader
+ objectstore.PackWriter
+ objectstore.PackQuarantiner
+ },
+) *Dual {
+ return &Dual{
+ object: object,
+ pack: pack,
+ reader: objectmix.New(object, pack),
+ }
+}