When a message payload is parsed, it is possible to swap buffers. We must
only take care both buffers have same size. It will be mandatory when the
large buffers support on channels will be added.
* - count == srcbuf->data
* - srcbuf->head == sizeof(struct htx)
* => we can swap the buffers and place an htx header into
- * the target buffer instead
+ * the target buffer instead (for buffers of same size)
*/
- if (unlikely(htx_is_empty(tmp_htx) && count == b_data(srcbuf) &&
+ if (unlikely(b_size(srcbuf) == b_size(htxbuf) &&
+ htx_is_empty(tmp_htx) && count == b_data(srcbuf) &&
!ofs && b_head_ofs(srcbuf) == sizeof(struct htx))) {
void *raw_area = srcbuf->area;
void *htx_area = htxbuf->area;