public async Task ProcessEventsAsync()

in RobotOrchestrator.FleetManager/TelemetryEventProcessor.cs [44:65]


        public async Task ProcessEventsAsync(PartitionContext context, IEnumerable<EventData> messages)
        {
            var telemetryMessages = new List<RobotTelemetry>();

            foreach (var eventData in messages)
            {
                var data = Encoding.UTF8.GetString(eventData.Body.Array, eventData.Body.Offset, eventData.Body.Count);

                logger.LogDebug($"Message received. Partition: '{context.PartitionId}', Data: '{data}'");

                var telemetry = ConvertToRobotTelemetry(data);

                if (telemetry != null)
                {
                    telemetryMessages.Add(telemetry);
                }
            }

            await fleetManager.InsertTelemetriesAndUpdateRobotsAsync(telemetryMessages);

            await context.CheckpointAsync();
        }