mirror of
https://github.com/haproxy/haproxy.git
synced 2026-02-03 20:39:41 -05:00
MINOR: channel: Remove total field from channels
The <total> field in the channel structure is now useless, so it can be removed. The <bytes_in> field from the SC is used instead. This patch is related to issue #1617.
This commit is contained in:
parent
1effe0fc0a
commit
a1b5325a7a
9 changed files with 17 additions and 31 deletions
|
|
@ -204,7 +204,6 @@ struct channel {
|
|||
unsigned short last_read; /* 16 lower bits of last read date (max pause=65s) */
|
||||
unsigned char xfer_large; /* number of consecutive large xfers */
|
||||
unsigned char xfer_small; /* number of consecutive small xfers */
|
||||
unsigned long long total; /* total data read */
|
||||
int analyse_exp; /* expiration date for current analysers (if set) */
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -323,7 +323,6 @@ static inline void channel_init(struct channel *chn)
|
|||
chn->to_forward = 0;
|
||||
chn->last_read = now_ms;
|
||||
chn->xfer_small = chn->xfer_large = 0;
|
||||
chn->total = 0;
|
||||
chn->analysers = 0;
|
||||
chn->flags = 0;
|
||||
chn->output = 0;
|
||||
|
|
@ -377,7 +376,6 @@ static inline void channel_add_input(struct channel *chn, unsigned int len)
|
|||
c_adv(chn, fwd);
|
||||
}
|
||||
/* notify that some data was read */
|
||||
chn->total += len;
|
||||
chn->flags |= CF_READ_EVENT;
|
||||
}
|
||||
|
||||
|
|
|
|||
12
src/applet.c
12
src/applet.c
|
|
@ -167,12 +167,12 @@ static void applet_trace(enum trace_level level, uint64_t mask, const struct tra
|
|||
oc, oc->flags, tick_isset(oc->analyse_exp) ? TICKS_TO_MS(oc->analyse_exp - now_ms) : TICK_ETERNITY);
|
||||
}
|
||||
else {
|
||||
chunk_appendf(&trace_buf, " ic=(%p .fl=0x%08x .ana=0x%08x .exp=%u .o=%lu .tot=%llu .to_fwd=%u)",
|
||||
chunk_appendf(&trace_buf, " ic=(%p .fl=0x%08x .ana=0x%08x .exp=%u .o=%lu .to_fwd=%u)",
|
||||
ic, ic->flags, ic->analysers, ic->analyse_exp,
|
||||
(long)ic->output, ic->total, ic->to_forward);
|
||||
chunk_appendf(&trace_buf, " oc=(%p .fl=0x%08x .ana=0x%08x .exp=%u .o=%lu .tot=%llu .to_fwd=%u)",
|
||||
(long)ic->output, ic->to_forward);
|
||||
chunk_appendf(&trace_buf, " oc=(%p .fl=0x%08x .ana=0x%08x .exp=%u .o=%lu .to_fwd=%u)",
|
||||
oc, oc->flags, oc->analysers, oc->analyse_exp,
|
||||
(long)oc->output, oc->total, oc->to_forward);
|
||||
(long)oc->output, oc->to_forward);
|
||||
}
|
||||
|
||||
if (src->verbosity == STRM_VERB_SIMPLE ||
|
||||
|
|
@ -846,7 +846,7 @@ struct task *task_run_applet(struct task *t, void *context, unsigned int state)
|
|||
|
||||
sc_ep_fwd_kip(sco, sc);
|
||||
|
||||
input = ic->total;
|
||||
input = applet_output_data(app);
|
||||
output = co_data(oc);
|
||||
app->applet->fct(app);
|
||||
|
||||
|
|
@ -866,7 +866,7 @@ struct task *task_run_applet(struct task *t, void *context, unsigned int state)
|
|||
sc_have_room(sco);
|
||||
}
|
||||
|
||||
input = ic->total - input;
|
||||
input = applet_output_data(app) - input;
|
||||
if (input) {
|
||||
channel_check_xfer(ic, input);
|
||||
sc_ep_report_read_activity(sc);
|
||||
|
|
|
|||
|
|
@ -98,7 +98,6 @@ int co_inject(struct channel *chn, const char *msg, int len)
|
|||
memcpy(co_tail(chn), msg, len);
|
||||
b_add(&chn->buf, len);
|
||||
c_adv(chn, len);
|
||||
chn->total += len;
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
|
@ -127,7 +126,6 @@ int ci_putchr(struct channel *chn, char c)
|
|||
c_adv(chn, 1);
|
||||
}
|
||||
|
||||
chn->total++;
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3502,7 +3502,7 @@ int pcli_wait_for_response(struct stream *s, struct channel *rep, int an_bit)
|
|||
|
||||
if (do_log &&
|
||||
!(s->flags & SF_MONITOR) &&
|
||||
(!(fe->options & PR_O_NULLNOLOG) || s->req.total)) {
|
||||
(!(fe->options & PR_O_NULLNOLOG) || s->scf->bytes_in)) {
|
||||
s->do_log(s, log_orig(LOG_ORIG_TXN_CLOSE, LOG_ORIG_FL_NONE));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@ static ssize_t hq_interop_rcv_buf_res(struct qcs *qcs, struct buffer *b, int fin
|
|||
BUG_ON(!htx_buf);
|
||||
htx = htx_from_buf(htx_buf);
|
||||
|
||||
if (htx_is_empty(htx) && !strm->res.total) {
|
||||
if (htx_is_empty(htx) && !strm->scb->bytes_in) {
|
||||
/* First data transfer, add HTX response start-line first. */
|
||||
sl = htx_add_stline(htx, HTX_BLK_RES_SL, flags,
|
||||
ist("HTTP/1.0"), ist("200"), ist(""));
|
||||
|
|
|
|||
|
|
@ -1215,7 +1215,6 @@ static __inline int do_l7_retry(struct stream *s, struct stconn *sc)
|
|||
stream_choose_redispatch(s);
|
||||
res->to_forward = 0;
|
||||
res->analyse_exp = TICK_ETERNITY;
|
||||
res->total = 0;
|
||||
|
||||
s->scb->flags &= ~(SC_FL_ERROR|SC_FL_SHUT_DONE|SC_FL_SHUT_WANTED);
|
||||
if (sc_reset_endp(s->scb) < 0) {
|
||||
|
|
@ -4707,7 +4706,6 @@ int http_forward_proxy_resp(struct stream *s, int final)
|
|||
data = htx->data - co_data(res);
|
||||
c_adv(res, data);
|
||||
htx->first = -1;
|
||||
res->total += data;
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1355,7 +1355,6 @@ int sc_conn_recv(struct stconn *sc)
|
|||
if (ic->to_forward != CHN_INFINITE_FORWARD)
|
||||
ic->to_forward -= ret;
|
||||
sc->bytes_in += ret;
|
||||
ic->total += ret;
|
||||
cur_read += ret;
|
||||
ic->flags |= CF_READ_EVENT;
|
||||
}
|
||||
|
|
@ -1458,7 +1457,6 @@ int sc_conn_recv(struct stconn *sc)
|
|||
|
||||
ic->flags |= CF_READ_EVENT;
|
||||
sc->bytes_in += ret;
|
||||
ic->total += ret;
|
||||
|
||||
/* End-of-input reached, we can leave. In this case, it is
|
||||
* important to break the loop to not block the SC because of
|
||||
|
|
@ -2039,7 +2037,6 @@ int sc_applet_recv(struct stconn *sc)
|
|||
if (ic->to_forward != CHN_INFINITE_FORWARD)
|
||||
ic->to_forward -= ret;
|
||||
sc->bytes_in += ret;
|
||||
ic->total += ret;
|
||||
cur_read += ret;
|
||||
ic->flags |= CF_READ_EVENT;
|
||||
}
|
||||
|
|
@ -2123,7 +2120,6 @@ int sc_applet_recv(struct stconn *sc)
|
|||
|
||||
ic->flags |= CF_READ_EVENT;
|
||||
sc->bytes_in += ret;
|
||||
ic->total += ret;
|
||||
|
||||
/* End-of-input reached, we can leave. In this case, it is
|
||||
* important to break the loop to not block the SC because of
|
||||
|
|
|
|||
21
src/stream.c
21
src/stream.c
|
|
@ -230,12 +230,12 @@ static void strm_trace(enum trace_level level, uint64_t mask, const struct trace
|
|||
res, res->flags, tick_isset(res->analyse_exp) ? TICKS_TO_MS(res->analyse_exp - now_ms) : TICK_ETERNITY);
|
||||
}
|
||||
else {
|
||||
chunk_appendf(&trace_buf, " req=(%p .fl=0x%08x .ana=0x%08x .exp=%u .o=%lu .tot=%llu .to_fwd=%u)",
|
||||
chunk_appendf(&trace_buf, " req=(%p .fl=0x%08x .ana=0x%08x .exp=%u .o=%lu .to_fwd=%u)",
|
||||
req, req->flags, req->analysers, req->analyse_exp,
|
||||
(long)req->output, req->total, req->to_forward);
|
||||
chunk_appendf(&trace_buf, " res=(%p .fl=0x%08x .ana=0x%08x .exp=%u .o=%lu .tot=%llu .to_fwd=%u)",
|
||||
(long)req->output, req->to_forward);
|
||||
chunk_appendf(&trace_buf, " res=(%p .fl=0x%08x .ana=0x%08x .exp=%u .o=%lu .to_fwd=%u)",
|
||||
res, res->flags, res->analysers, res->analyse_exp,
|
||||
(long)res->output, res->total, res->to_forward);
|
||||
(long)res->output, res->to_forward);
|
||||
}
|
||||
|
||||
if (src->verbosity == STRM_VERB_SIMPLE ||
|
||||
|
|
@ -298,7 +298,6 @@ int stream_upgrade_from_sc(struct stconn *sc, struct buffer *input)
|
|||
*/
|
||||
s->req.buf = *input;
|
||||
*input = BUF_NULL;
|
||||
s->req.total = (IS_HTX_STRM(s) ? htxbuf(&s->req.buf)->data : b_data(&s->req.buf));
|
||||
s->scf->bytes_in = (IS_HTX_STRM(s) ? htxbuf(&s->req.buf)->data : b_data(&s->req.buf));
|
||||
sc_ep_report_read_activity(s->scf);
|
||||
}
|
||||
|
|
@ -574,7 +573,6 @@ struct stream *stream_new(struct session *sess, struct stconn *sc, struct buffer
|
|||
*/
|
||||
s->req.buf = *input;
|
||||
*input = BUF_NULL;
|
||||
s->req.total = (IS_HTX_STRM(s) ? htxbuf(&s->req.buf)->data : b_data(&s->req.buf));
|
||||
s->scf->bytes_in = (IS_HTX_STRM(s) ? htxbuf(&s->req.buf)->data : b_data(&s->req.buf));
|
||||
sc_ep_report_read_activity(s->scf);
|
||||
}
|
||||
|
|
@ -1554,7 +1552,6 @@ int stream_set_http_mode(struct stream *s, const struct mux_proto_list *mux_prot
|
|||
sc_conn_commit_endp_upgrade(sc);
|
||||
|
||||
s->req.flags &= ~(CF_READ_EVENT|CF_AUTO_CONNECT);
|
||||
s->req.total = 0;
|
||||
s->flags |= SF_IGNORE;
|
||||
if (sc_ep_test(sc, SE_FL_DETACHED)) {
|
||||
/* If stream connector is detached, it means it was not
|
||||
|
|
@ -2704,7 +2701,7 @@ struct task *process_stream(struct task *t, void *context, unsigned int state)
|
|||
|
||||
if (do_log &&
|
||||
!(s->flags & SF_MONITOR) &&
|
||||
(!(sess->fe->options & PR_O_NULLNOLOG) || req->total)) {
|
||||
(!(sess->fe->options & PR_O_NULLNOLOG) || s->scf->bytes_in)) {
|
||||
/* we may need to know the position in the queue */
|
||||
pendconn_free(s);
|
||||
|
||||
|
|
@ -3703,12 +3700,12 @@ static void __strm_dump_to_buffer(struct buffer *buf, const struct show_sess_ctx
|
|||
}
|
||||
|
||||
chunk_appendf(buf,
|
||||
"%s req=%p (f=0x%06x an=0x%x tofwd=%d total=%lld)\n"
|
||||
"%s req=%p (f=0x%06x an=0x%x tofwd=%d)\n"
|
||||
"%s an_exp=%s buf=%p data=%p o=%u p=%u i=%u size=%u\n",
|
||||
pfx,
|
||||
&strm->req,
|
||||
strm->req.flags, strm->req.analysers,
|
||||
strm->req.to_forward, strm->req.total,
|
||||
strm->req.to_forward,
|
||||
pfx,
|
||||
strm->req.analyse_exp ?
|
||||
human_time(TICKS_TO_MS(strm->req.analyse_exp - now_ms),
|
||||
|
|
@ -3735,12 +3732,12 @@ static void __strm_dump_to_buffer(struct buffer *buf, const struct show_sess_ctx
|
|||
}
|
||||
|
||||
chunk_appendf(buf,
|
||||
"%s res=%p (f=0x%06x an=0x%x tofwd=%d total=%lld)\n"
|
||||
"%s res=%p (f=0x%06x an=0x%x tofwd=%d)\n"
|
||||
"%s an_exp=%s buf=%p data=%p o=%u p=%u i=%u size=%u\n",
|
||||
pfx,
|
||||
&strm->res,
|
||||
strm->res.flags, strm->res.analysers,
|
||||
strm->res.to_forward, strm->res.total,
|
||||
strm->res.to_forward,
|
||||
pfx,
|
||||
strm->res.analyse_exp ?
|
||||
human_time(TICKS_TO_MS(strm->res.analyse_exp - now_ms),
|
||||
|
|
|
|||
Loading…
Reference in a new issue