aboutsummaryrefslogtreecommitdiff
path: root/object/store/mix/new.go
diff options
context:
space:
mode:
Diffstat (limited to 'object/store/mix/new.go')
-rw-r--r--object/store/mix/new.go39
1 files changed, 0 insertions, 39 deletions
diff --git a/object/store/mix/new.go b/object/store/mix/new.go
deleted file mode 100644
index bb39178c..00000000
--- a/object/store/mix/new.go
+++ /dev/null
@@ -1,39 +0,0 @@
-package mix
-
-import "codeberg.org/lindenii/furgit/object/store"
-
-// New creates a Mix from backends.
-//
-// The provided backends must be non-nil and distinct.
-// Mix borrows the provided backends and does not close them in Close.
-func New(backends ...objectstore.Store) *Mix {
- nodeByStore := make(map[objectstore.Store]*backendNode, len(backends))
-
- var (
- head *backendNode
- tail *backendNode
- )
-
- for _, backend := range backends {
- node := &backendNode{
- backend: backend,
- prev: tail,
- }
- if tail != nil {
- tail.next = node
- }
-
- if head == nil {
- head = node
- }
-
- tail = node
- nodeByStore[backend] = node
- }
-
- return &Mix{
- backendHead: head,
- backendTail: tail,
- backendNodeByStore: nodeByStore,
- }
-}