mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-11-03 10:01:00 +01:00
This new function b_putblk_ofs() puts one full block of data of length <len> from <blk> into the buffer, starting from absolute offset <offset> after the buffer's area. As a convenience to avoid complex checks in callers, the offset is allowed to exceed a valid one by no more than one buffer size, and will automatically be wrapped. The caller is responsible for ensuring that <len> doesn't exceed the known length of the available room at this position, otherwise data may be overwritten. The buffer's length is *not* updated, so generally the caller will have updated it before calling this function. This is meant to be used on concurrently accessed buffers, so that a writer can append data while a reader is blocked by other means from reaching the current area The function guarantees never to use ->head nor ->data.