MINOR: htx: Add a field to set the memory used by headers in the HTX start-line

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.
This commit is contained in:
Christopher Faulet 2019-05-15 14:56:47 +02:00 committed by Willy Tarreau
parent 2f6edc84a8
commit 05c083ca8d
2 changed files with 6 additions and 1 deletions

View File

@ -139,6 +139,9 @@ struct htx_sl {
/* 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];
};

View File

@ -633,6 +633,8 @@ struct htx_sl *htx_replace_stline(struct htx *htx, struct htx_blk *blk, const st
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;
@ -669,7 +671,7 @@ struct htx_sl *htx_add_stline(struct htx *htx, enum htx_blk_type type, unsigned
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;