consul/internal/controller/cache/index
Matt Keeler 6c4b83c119
Allow reuse of cache indexes (#20562)
Previously calling `index.New` would return an object with the index information such as the Indexer, whether it was required, and the name of the index as well as a radix tree to store indexed data.

Now the main `Index` type doesn’t contain the radix tree for indexed data. Instead the `IndexedData` method can be used to combine the main `Index` with a radix tree in the `IndexedData` structure.

The cache still only allows configuring the `Index` type and will invoke the `IndexedData` method on the provided indexes to get the structure that the cache can use for actual data management.

All of this makes it now safe to reuse the `index.Index` types.
2024-02-09 13:00:21 -05:00
..
indexmock
testdata
.mockery.yaml
builder.go
builder_test.go
convenience.go Fix panic on error (#20377) 2024-01-29 17:44:13 +00:00
convenience_test.go Allow reuse of cache indexes (#20562) 2024-02-09 13:00:21 -05:00
errors.go
errors_test.go
index.go Allow reuse of cache indexes (#20562) 2024-02-09 13:00:21 -05:00
index_test.go Allow reuse of cache indexes (#20562) 2024-02-09 13:00:21 -05:00
interfaces.go
iterator.go
iterator_test.go
txn.go Allow reuse of cache indexes (#20562) 2024-02-09 13:00:21 -05:00
txn_test.go Allow reuse of cache indexes (#20562) 2024-02-09 13:00:21 -05:00