MCPcopy
hub / github.com/grafana/dskit / newZoneAwareContextTracker

Function newZoneAwareContextTracker

ring/replication_set_tracker.go:429–443  ·  view source on GitHub ↗
(ctx context.Context, instances []InstanceDesc)

Source from the content-addressed store, hash-verified

427}
428
429func newZoneAwareContextTracker(ctx context.Context, instances []InstanceDesc) *zoneAwareContextTracker {
430 t := &zoneAwareContextTracker{
431 contexts: make(map[*InstanceDesc]context.Context, len(instances)),
432 cancelFuncs: make(map[*InstanceDesc]context.CancelCauseFunc, len(instances)),
433 }
434
435 for i := range instances {
436 instance := &instances[i]
437 ctx, cancel := context.WithCancelCause(ctx)
438 t.contexts[instance] = ctx
439 t.cancelFuncs[instance] = cancel
440 }
441
442 return t
443}
444
445func (t *zoneAwareContextTracker) contextFor(instance *InstanceDesc) (context.Context, context.CancelCauseFunc) {
446 return t.contexts[instance], t.cancelFuncs[instance]

Calls

no outgoing calls

Tested by 1