aboutsummaryrefslogtreecommitdiff
path: root/commitgraph/read/bloom.go
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-03-22 22:52:35 +0000
committerGravatar Runxi Yu2026-03-22 22:52:35 +0000
commit1ac6099100ed61a1e49766f190deae8b426a1ea6 (patch)
treea218663581161484942017575b9e7ebd969e06de /commitgraph/read/bloom.go
parentpackfile/ingest: Document lifecycle of pack ingest better (diff)
signatureNo signature
commitgraph: Tighten docs and use a value-ish Filter return
Diffstat (limited to 'commitgraph/read/bloom.go')
-rw-r--r--commitgraph/read/bloom.go11
1 files changed, 7 insertions, 4 deletions
diff --git a/commitgraph/read/bloom.go b/commitgraph/read/bloom.go
index c7e3e426..eca88c36 100644
--- a/commitgraph/read/bloom.go
+++ b/commitgraph/read/bloom.go
@@ -38,20 +38,23 @@ func (reader *Reader) BloomVersion() uint8 {
// BloomFilterAt returns one commit's changed-path Bloom filter.
//
+// The returned filter borrows reader-owned mapped commit-graph data and is
+// only valid until the reader is closed.
+//
// Returns BloomUnavailableError when this commit graph has no Bloom data.
-func (reader *Reader) BloomFilterAt(pos Position) (*bloom.Filter, error) {
+func (reader *Reader) BloomFilterAt(pos Position) (bloom.Filter, error) {
layer, err := reader.layerByPosition(pos)
if err != nil {
- return nil, err
+ return bloom.Filter{}, err
}
if layer.chunkBloomIndex == nil || layer.chunkBloomData == nil || layer.bloomSettings == nil {
- return nil, &BloomUnavailableError{Pos: pos}
+ return bloom.Filter{}, &BloomUnavailableError{Pos: pos}
}
start, end, err := bloomRange(layer, pos.Index)
if err != nil {
- return nil, err
+ return bloom.Filter{}, err
}
filter := bloom.NewFilter(