Actually, quiceh_h3_recv_body_v3 and quiceh_stream_recv_v3 return the same buffer over and over until the buffer is marked consumed.
However if I understand correctly, AppRecvBufMap stores more than 1 buffer under the hood, it would be nice to have access to these buffers before the consumption of the previous ones.
In cURL, all read buffers are stored in a queue and they are only processed when the queue is full or when the reader is blocking.
For the moment, I can only put a single element in the queue and then artificially block the reader until the buffer is processed and therefore consumed.
What I would like is changing the behavior of quiceh_stream_recv_v3 (or making another function) to return a new buffer at each call and when all buffers are returned, returning Error::Done until the buffers are consumed and new ones are disponible.
Because the code of these functions is unknown terrain for me, I will first focus on trying to fix the memory leaks in quiceh since it's seems easier and then I might look to implement this feature in a PR
Actually, quiceh_h3_recv_body_v3 and quiceh_stream_recv_v3 return the same buffer over and over until the buffer is marked consumed.
However if I understand correctly, AppRecvBufMap stores more than 1 buffer under the hood, it would be nice to have access to these buffers before the consumption of the previous ones.
In cURL, all read buffers are stored in a queue and they are only processed when the queue is full or when the reader is blocking.
For the moment, I can only put a single element in the queue and then artificially block the reader until the buffer is processed and therefore consumed.
What I would like is changing the behavior of quiceh_stream_recv_v3 (or making another function) to return a new buffer at each call and when all buffers are returned, returning Error::Done until the buffers are consumed and new ones are disponible.
Because the code of these functions is unknown terrain for me, I will first focus on trying to fix the memory leaks in quiceh since it's seems easier and then I might look to implement this feature in a PR