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