public async ValueTask Send()

in src/DotPulsar/Internal/ChunkingPipeline.cs [37:80]


    public async ValueTask Send(ReadOnlySequence<byte> sequence)
    {
        var sequenceLength = sequence.Length;

        if (sequenceLength <= _chunkSize)
        {
            CopyToBuffer(sequence);
            _bufferCount = (int) sequenceLength;
            await SendBuffer().ConfigureAwait(false);
            return;
        }

        var enumerator = sequence.GetEnumerator();
        var hasNext = true;

        while (hasNext)
        {
            var current = enumerator.Current;
            var currentLength = current.Length;
            hasNext = enumerator.MoveNext();

            if (currentLength > _chunkSize)
            {
                await Send(current).ConfigureAwait(false);
                continue;
            }

            var total = currentLength + _bufferCount;

            if (total > _chunkSize)
                await SendBuffer().ConfigureAwait(false);

            if (_bufferCount != 0 || (hasNext && enumerator.Current.Length + total <= _chunkSize))
            {
                CopyToBuffer(current);
                _bufferCount = total;
                continue;
            }

            await Send(current).ConfigureAwait(false);
        }

        await SendBuffer().ConfigureAwait(false);
    }