in internal/vulnerability/events_creator.go [191:217]
func (e EventsCreator) CreateEvents(ctx context.Context, scanResults chan []Result) {
defer close(e.ch)
for {
select {
case <-ctx.Done():
e.log.Info("EventsCreator.CreateEvents context canceled")
return
case data, ok := <-scanResults:
if !ok {
e.log.Info("EventsCreator.CreateEvents channel is closed")
return
}
events := make([]beat.Event, 0, len(data))
for _, res := range data {
events = append(events, e.generateEvent(res.reportResult, res.vulnerability, res.snapshot.Instance, res.seq))
}
select {
case <-ctx.Done():
e.log.Info("EventsCreator.CreateEvents context canceled")
return
case e.ch <- events:
}
}
}
}