func()

in internal/filter/types/watchlist/watchlist.go [92:109]


func (c *Filter) handleEvent(ctx context.Context, event watch.Event) {
	// All K8 objects implement items.Object.
	obj := event.Object.(items.Object)

	cachedObject, wasSnapshot, wasDeleted := c.setMapItem(obj, event)
	entry, err := c.eventToEntry(event, wasSnapshot)
	if err != nil {
		c.logger.Warn(err.Error())
		return
	}

	if cachedObject || wasSnapshot || wasDeleted {
		metrics.DataEntry(ctx, entry)
		c.out <- entry
		return
	}
	metrics.StaleData(ctx, entry)
}