Skip to content

Commit

Permalink
wrap funcs{} with priorityQueue
Browse files Browse the repository at this point in the history
Signed-off-by: Troy Connor <[email protected]>
  • Loading branch information
troy0820 committed Feb 19, 2025
1 parent 79117b2 commit aff6932
Showing 1 changed file with 0 additions and 42 deletions.
42 changes: 0 additions & 42 deletions pkg/handler/eventhandler.go
Original file line number Diff line number Diff line change
Expand Up @@ -111,27 +111,6 @@ type TypedFuncs[object any, request comparable] struct {
// Create implements EventHandler.
func (h TypedFuncs[object, request]) Create(ctx context.Context, e event.TypedCreateEvent[object], q workqueue.TypedRateLimitingInterface[request]) {
if h.CreateFunc != nil {
h.CreateFunc = func(ctx context.Context, e event.TypedCreateEvent[object], trli workqueue.TypedRateLimitingInterface[request]) {
h.Create(ctx, e, workqueueWithCustomAddFunc[request]{
TypedRateLimitingInterface: trli,
addFunc: func(item request, q workqueue.TypedRateLimitingInterface[request]) {
priorityQueue, isPriorityQueue := q.(priorityqueue.PriorityQueue[request])
if !isPriorityQueue {
q.Add(item)
return
}
var priority int
obj, ok := any(e).(event.TypedCreateEvent[client.Object])
if !ok {
return
}
if isObjectUnchanged(obj) {
priority = LowPriority
}
priorityQueue.AddWithOpts(priorityqueue.AddOpts{Priority: priority}, item)
},
})
}
h.CreateFunc(ctx, e, q)
}
}
Expand All @@ -146,27 +125,6 @@ func (h TypedFuncs[object, request]) Delete(ctx context.Context, e event.TypedDe
// Update implements EventHandler.
func (h TypedFuncs[object, request]) Update(ctx context.Context, e event.TypedUpdateEvent[object], q workqueue.TypedRateLimitingInterface[request]) {
if h.UpdateFunc != nil {
h.UpdateFunc = func(ctx context.Context, tue event.TypedUpdateEvent[object], trli workqueue.TypedRateLimitingInterface[request]) {
h.Update(ctx, e, workqueueWithCustomAddFunc[request]{
TypedRateLimitingInterface: trli,
addFunc: func(item request, q workqueue.TypedRateLimitingInterface[request]) {
priorityQueue, isPriorityQueue := q.(priorityqueue.PriorityQueue[request])
if !isPriorityQueue {
q.Add(item)
return
}
var priority int
obj, ok := any(tue).(event.TypedUpdateEvent[client.Object])
if !ok {
return
}
if obj.ObjectOld.GetResourceVersion() == obj.ObjectNew.GetResourceVersion() {
priority = LowPriority
}
priorityQueue.AddWithOpts(priorityqueue.AddOpts{Priority: priority}, item)
},
})
}
h.UpdateFunc(ctx, e, q)
}
}
Expand Down

0 comments on commit aff6932

Please sign in to comment.