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