MCPcopy
hub / github.com/kubernetes/client-go / StartRecordingToSink

Method StartRecordingToSink

tools/record/event.go:164–173  ·  view source on GitHub ↗

StartRecordingToSink starts sending events received from the specified eventBroadcaster to the given sink. The return value can be ignored or used to stop recording, if desired. TODO: make me an object with parameterizable queue length and retry interval

(sink EventSink)

Source from the content-addressed store, hash-verified

162// The return value can be ignored or used to stop recording, if desired.
163// TODO: make me an object with parameterizable queue length and retry interval
164func (eventBroadcaster *eventBroadcasterImpl) StartRecordingToSink(sink EventSink) watch.Interface {
165 // The default math/rand package functions aren't thread safe, so create a
166 // new Rand object for each StartRecording call.
167 randGen := rand.New(rand.NewSource(time.Now().UnixNano()))
168 eventCorrelator := NewEventCorrelatorWithOptions(eventBroadcaster.options)
169 return eventBroadcaster.StartEventWatcher(
170 func(event *v1.Event) {
171 recordToSink(sink, event, eventCorrelator, randGen, eventBroadcaster.sleepDuration)
172 })
173}
174
175func recordToSink(sink EventSink, event *v1.Event, eventCorrelator *EventCorrelator, randGen *rand.Rand, sleepDuration time.Duration) {
176 // Make a copy before modification, because there could be multiple listeners.

Callers

nothing calls this directly

Calls 4

StartEventWatcherMethod · 0.95
recordToSinkFunction · 0.85
NowMethod · 0.65

Tested by

no test coverage detected