in src/DotPulsar/Internal/BatchHandler.cs [88:112]
public MessageIdData? Acknowledge(MessageIdData messageId)
{
lock (_lock)
{
foreach (var batch in _batches)
{
if (messageId.LedgerId != batch.MessageId.LedgerId ||
messageId.EntryId != batch.MessageId.EntryId ||
messageId.Partition != batch.MessageId.Partition)
continue;
batch.Acknowledge(messageId.BatchIndex);
if (batch.IsAcknowledged())
{
_batches.Remove(batch);
return batch.MessageId;
}
break;
}
return null;
}
}