/// <summary> /// Stores the offset and sequenceNumber from the provided received /// <see cref="IEventData" /> instance, then writes those values to the /// checkpoint store via the checkpoint manager. /// </summary> /// <param name="eventData">The <see cref="IEventData" /> instance.</param> /// <returns>The asynchronous task.</returns> /// <exception cref="ArgumentNullException"> /// Thrown if the given <see cref="IEventData"/> instance is null. /// </exception> /// <exception cref="ArgumentOutOfRangeException"> /// Thrown if the the sequenceNumber from given <see cref="IEventData"/> /// instance is less than the last checkpointed value. /// </exception> public async Task CheckpointAsync(IEventData eventData) { Checks.Parameter(nameof(eventData), eventData) .NotNull(); AzureEventData azureEventData = eventData.ToAzureEventData(); await this.azurePartitionContext.CheckpointAsync(azureEventData); }