aboutsummaryrefslogtreecommitdiff
path: root/reachability/reachability.go
blob: fd4d00e5e46c06347c701613ca6ddb40bd5dbebd (about) (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package reachability

import (
	commitgraphread "codeberg.org/lindenii/furgit/format/commitgraph/read"
	objectfetch "codeberg.org/lindenii/furgit/object/fetch"
)

// Reachability provides graph traversal over objects in one object store.
//
// Labels: MT-Safe.
type Reachability struct {
	fetcher *objectfetch.Fetcher
	graph   *commitgraphread.Reader
}

// New builds a Reachability over one object fetcher with an optional
// commit-graph reader for faster commit-domain traversal.
//
// Labels: Deps-Borrowed, Life-Parent.
func New(fetcher *objectfetch.Fetcher, graph *commitgraphread.Reader) *Reachability {
	return &Reachability{fetcher: fetcher, graph: graph}
}