mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-14 15:34:35 +00: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;
|
||||
}
|
||||
|
||||
/* 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.
|
||||
* The chn->o and to_forward pointers are updated. If the channel's input is
|
||||
|
Loading…
Reference in New Issue
Block a user