func processEvents()

in AmazonChimeSDK/AmazonChimeSDK/ingestion/DefaultEventBuffer.swift [79:98]


    func processEvents(meetingEventItems: [MeetingEventItem]) {
        eventReporterQueue.sync {
            let ingestionRecord = self.converter.toIngestionRecord(meetingEvents: meetingEventItems, ingestionConfiguration:ingestionConfiguration)
            if ingestionRecord.events.isEmpty {
                return
            }
            let idsToRemove = ingestionRecord.events.flatMap { (ingestionEvent: IngestionEvent) -> [String] in
                ingestionEvent.payloads.compactMap { (payload) -> String? in
                    payload.id
                }
            }
            self.eventSender.sendEvents(ingestionRecord: ingestionRecord) { isSuccess in
                if !isSuccess {
                    self.logger.info(msg: "Unable to send http request. Putting it in dirty events")
                    _ =  self.dirtyEventDao.insertDirtyMeetingEventItems(dirtyEvents: self.toDirtyMeetingEventItems(items: meetingEventItems))
                }
                self.remove(ids: idsToRemove)
            }
        }
    }