func()

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:
			}
		}
	}
}