diff options
Diffstat (limited to 'object/store/mix/new.go')
| -rw-r--r-- | object/store/mix/new.go | 39 |
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, - } -} |
