public async Task WriteBatchAsync(IEnumerable <T> events, CancellationToken cancellationToken = default)
        {
            var batches = events.Batch(100);

            foreach (var batch in batches)
            {
                var items = events.Select(r =>
                {
                    var json  = JsonSerializer.Serialize(r);
                    var bytes = Encoding.UTF8.GetBytes(json);
                    return(new ReadOnlyMemory <byte>(bytes));
                });
                await _eventHub.WriteBatchAsync(items, cancellationToken);
            }
        }