]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: channel: rename bi_erase() to channel_truncate()
authorWilly Tarreau <w@1wt.eu>
Wed, 14 Jan 2015 19:32:59 +0000 (20:32 +0100)
committerWilly Tarreau <w@1wt.eu>
Wed, 14 Jan 2015 19:32:59 +0000 (20:32 +0100)
It applies to the channel and it doesn't erase outgoing data, only
pending unread data, which is strictly equivalent to what recv()
does with MSG_TRUNC, so that new name is more accurate and intuitive.

include/proto/channel.h
src/proto_http.c
src/stream_interface.c

index db179cad4925e3cf3174b201f8851b3ad090f17e..42bba15b0a474d55b4f0a647ebb9133f2e6bfebe 100644 (file)
@@ -334,12 +334,11 @@ static inline int channel_recv_max(const struct channel *chn)
        return ret;
 }
 
-/* Cut the "tail" of the channel's buffer, which means strip it to the length
- * of unsent data only, and kill any remaining unsent data. Any scheduled
- * forwarding is stopped. This is mainly to be used to send error messages
- * after existing data.
+/* Truncate any unread data in the channel's buffer, and disable forwarding.
+ * Outgoing data are left intact. This is mainly to be used to send error
+ * messages after existing data.
  */
-static inline void bi_erase(struct channel *chn)
+static inline void channel_truncate(struct channel *chn)
 {
        if (!chn->buf->o)
                return channel_erase(chn);
index e14b1d69c7317f21eb086d0554ef557513feac55..6d94b69befc90814b838d54423dae82969037ec4 100644 (file)
@@ -5233,7 +5233,7 @@ int http_sync_res_state(struct session *s)
        if (txn->rsp.msg_state == HTTP_MSG_CLOSED) {
        http_msg_closed:
                /* drop any pending data */
-               bi_erase(chn);
+               channel_truncate(chn);
                channel_auto_close(chn);
                channel_auto_read(chn);
                goto wait_other_side;
@@ -5300,7 +5300,7 @@ int http_resync_states(struct session *s)
                channel_abort(s->req);
                channel_auto_close(s->req);
                channel_auto_read(s->req);
-               bi_erase(s->req);
+               channel_truncate(s->req);
        }
        else if ((txn->req.msg_state == HTTP_MSG_DONE ||
                  txn->req.msg_state == HTTP_MSG_CLOSED) &&
@@ -5745,7 +5745,7 @@ int http_wait_for_response(struct session *s, struct channel *rep, int an_bit)
                        rep->analysers = 0;
                        txn->status = 502;
                        rep->prod->flags |= SI_FL_NOLINGER;
-                       bi_erase(rep);
+                       channel_truncate(rep);
                        stream_int_retnclose(rep->cons, http_error_message(s, HTTP_ERR_502));
 
                        if (!(s->flags & SN_ERR_MASK))
@@ -5780,7 +5780,7 @@ int http_wait_for_response(struct session *s, struct channel *rep, int an_bit)
                        rep->analysers = 0;
                        txn->status = 502;
                        rep->prod->flags |= SI_FL_NOLINGER;
-                       bi_erase(rep);
+                       channel_truncate(rep);
                        stream_int_retnclose(rep->cons, http_error_message(s, HTTP_ERR_502));
 
                        if (!(s->flags & SN_ERR_MASK))
@@ -5807,7 +5807,7 @@ int http_wait_for_response(struct session *s, struct channel *rep, int an_bit)
                        rep->analysers = 0;
                        txn->status = 504;
                        rep->prod->flags |= SI_FL_NOLINGER;
-                       bi_erase(rep);
+                       channel_truncate(rep);
                        stream_int_retnclose(rep->cons, http_error_message(s, HTTP_ERR_504));
 
                        if (!(s->flags & SN_ERR_MASK))
@@ -5828,7 +5828,7 @@ int http_wait_for_response(struct session *s, struct channel *rep, int an_bit)
                        channel_auto_close(rep);
 
                        txn->status = 400;
-                       bi_erase(rep);
+                       channel_truncate(rep);
                        stream_int_retnclose(rep->cons, http_error_message(s, HTTP_ERR_400));
 
                        if (!(s->flags & SN_ERR_MASK))
@@ -5857,7 +5857,7 @@ int http_wait_for_response(struct session *s, struct channel *rep, int an_bit)
                        rep->analysers = 0;
                        txn->status = 502;
                        rep->prod->flags |= SI_FL_NOLINGER;
-                       bi_erase(rep);
+                       channel_truncate(rep);
                        stream_int_retnclose(rep->cons, http_error_message(s, HTTP_ERR_502));
 
                        if (!(s->flags & SN_ERR_MASK))
@@ -6189,7 +6189,7 @@ skip_content_length:
        s->logs.logwait = 0;
        s->logs.level = 0;
        s->rep->flags &= ~CF_EXPECT_MORE; /* speed up sending a previous response */
-       bi_erase(rep);
+       channel_truncate(rep);
        stream_int_retnclose(rep->cons, NULL);
        return 0;
 }
@@ -6260,7 +6260,7 @@ int http_process_res_common(struct session *s, struct channel *rep, int an_bit,
                                txn->status = 502;
                                s->logs.t_data = -1; /* was not a valid response */
                                rep->prod->flags |= SI_FL_NOLINGER;
-                               bi_erase(rep);
+                               channel_truncate(rep);
                                stream_int_retnclose(rep->cons, http_error_message(s, HTTP_ERR_502));
                                if (!(s->flags & SN_ERR_MASK))
                                        s->flags |= SN_ERR_PRXCOND;
index f05f4a8f27d5f94fa323f94a8c8623cab9630c0c..9025851d96c16bf92f9304c98c758a4b2472066c 100644 (file)
@@ -125,8 +125,8 @@ void stream_int_retnclose(struct stream_interface *si, const struct chunk *msg)
        channel_abort(si->ib);
        channel_auto_close(si->ib);
        channel_erase(si->ib);
+       channel_truncate(si->ob);
 
-       bi_erase(si->ob);
        if (likely(msg && msg->len))
                bo_inject(si->ob, msg->str, msg->len);