The field hdrs_bytes has been added in the structure htx_sl. It should be used
to set how many bytes are help by all headers, from the start-line to the
corresponding EOH block. it must be set to -1 if it is unknown.
/* XXX 2 bytes unused */
+ int32_t hdrs_bytes; /* Bytes held by all headers from this start-line
+ * to the corresponding EOH. -1 if unknown */
+
unsigned int len[3]; /* length of differnt parts of the start-line */
char l[0];
};
sl = htx_get_blk_ptr(htx, blk);
sl->info = tmp.info;
sl->flags = tmp.flags;
+ if (sl->hdrs_bytes != -1)
+ sl->hdrs_bytes += delta;
HTX_SL_P1_LEN(sl) = p1.len;
HTX_SL_P2_LEN(sl) = p2.len;
sl = htx_get_blk_ptr(htx, blk);
if (htx->sl_pos == -1)
htx->sl_pos = htx_get_blk_pos(htx, blk);
-
+ sl->hdrs_bytes = -1;
sl->flags = flags;
HTX_SL_P1_LEN(sl) = p1.len;