MCPcopy
hub / github.com/apecloud/kubeblocks / setRef

Method setRef

controllers/dataprotection/utils.go:513–524  ·  view source on GitHub ↗

setRef sets or updates the mapping between a referent object and a referenced object.

(referent client.Object, referencedKey types.NamespacedName)

Source from the content-addressed store, hash-verified

511
512// setRef sets or updates the mapping between a referent object and a referenced object.
513func (r *refObjectMapper) setRef(referent client.Object, referencedKey types.NamespacedName) {
514 r.init()
515 r.mu.Lock()
516 defer r.mu.Unlock()
517 left := toFlattenName(client.ObjectKeyFromObject(referent))
518 right := toFlattenName(referencedKey)
519 if oldRight, ok := r.ref[left]; ok {
520 r.removeInvertLocked(left, oldRight)
521 }
522 r.addInvertLocked(left, right)
523 r.ref[left] = right
524}
525
526// removeRef removes the mapping for a given referent object.
527func (r *refObjectMapper) removeRef(referent client.Object) {

Callers 1

ReconcileMethod · 0.80

Calls 4

initMethod · 0.95
removeInvertLockedMethod · 0.95
addInvertLockedMethod · 0.95
toFlattenNameFunction · 0.85

Tested by

no test coverage detected