mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-21 22:01:31 +02:00
MINOR: channel/htx: Add function to skips output bytes from an HTX channel
It is the HTX version of co_skip(). Internally, It uses the function htx_drain(). It will be used by other commits to fix bugs, so it must be backported to 1.9.
This commit is contained in:
parent
549822f0a1
commit
c6827d52c1
@ -922,6 +922,23 @@ static inline void co_skip(struct channel *chn, int len)
|
|||||||
chn->flags |= CF_WRITE_PARTIAL | CF_WROTE_DATA;
|
chn->flags |= CF_WRITE_PARTIAL | CF_WROTE_DATA;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* HTX version of co_skip(). This function skips at most <len> bytes from the
|
||||||
|
* output of the channel <chn>. Depending on how data are stored in <htx> less
|
||||||
|
* than <len> bytes can be skipped. Channel flags WRITE_PARTIAL and WROTE_DATA
|
||||||
|
* are set.
|
||||||
|
*/
|
||||||
|
static inline void co_htx_skip(struct channel *chn, struct htx *htx, int len)
|
||||||
|
{
|
||||||
|
struct htx_ret htxret;
|
||||||
|
|
||||||
|
htxret = htx_drain(htx, len);
|
||||||
|
if (htxret.ret) {
|
||||||
|
chn->output -= htxret.ret;
|
||||||
|
|
||||||
|
/* notify that some data was written to the SI from the buffer */
|
||||||
|
chn->flags |= CF_WRITE_PARTIAL | CF_WROTE_DATA;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Tries to copy chunk <chunk> into the channel's buffer after length controls.
|
/* Tries to copy chunk <chunk> into the channel's buffer after length controls.
|
||||||
* The chn->o and to_forward pointers are updated. If the channel's input is
|
* The chn->o and to_forward pointers are updated. If the channel's input is
|
||||||
|
Loading…
x
Reference in New Issue
Block a user