MINOR: connections: Get rid of txbuf.
Remove txbuf from conn_stream. It is not used yet, and its only user will
probably be the mux_h2, so it will be better suited in the struct h2s.
diff --git a/include/proto/connection.h b/include/proto/connection.h
index c677fb2..e4621cc 100644
--- a/include/proto/connection.h
+++ b/include/proto/connection.h
@@ -44,9 +44,6 @@
*/
void conn_fd_handler(int fd);
-/* conn_stream functions */
-size_t __cs_send(struct conn_stream *cs, struct buffer *buf, size_t count, int flags);
-
/* receive a PROXY protocol header over a connection */
int conn_recv_proxy(struct connection *conn, int flag);
int make_proxy_line(char *buf, int buf_len, struct server *srv, struct connection *remote);
@@ -303,17 +300,6 @@
conn->mux->update_poll(cs);
}
-/* conn_stream send function. Uses mux->snd_buf() if defined, otherwise
- * falls back to __cs_send().
- */
-static inline size_t cs_send(struct conn_stream *cs, struct buffer *buf, size_t count, int flags)
-{
- if (cs->conn->mux->snd_buf)
- return cs->conn->mux->snd_buf(cs, buf, count, flags);
- else
- return __cs_send(cs, buf, count, flags);
-}
-
/***** Event manipulation primitives for use by DATA I/O callbacks *****/
/* The __conn_* versions do not propagate to lower layers and are only meant
* to be used by handlers called by the connection handler. The other ones
@@ -615,7 +601,6 @@
LIST_INIT(&cs->wait_list.list);
LIST_INIT(&cs->send_wait_list);
cs->conn = conn;
- cs->txbuf = BUF_NULL;
}
/* Initializes all required fields for a new connection. Note that it does the
@@ -676,17 +661,6 @@
return conn;
}
-/* Releases the conn_stream's tx buf if it exists. The buffer is automatically
- * replaced with a pointer to the empty buffer.
- */
-static inline void cs_drop_txbuf(struct conn_stream *cs)
-{
- if (b_size(&cs->txbuf)) {
- b_free(&cs->txbuf);
- offer_buffers(NULL, tasks_run_queue);
- }
-}
-
/* Releases a conn_stream previously allocated by cs_new(), as well as any
* buffer it would still hold.
*/
@@ -695,7 +669,6 @@
if (cs->wait_list.task)
tasklet_free(cs->wait_list.task);
- cs_drop_txbuf(cs);
pool_free(pool_head_connstream, cs);
}
diff --git a/include/types/connection.h b/include/types/connection.h
index f16b0cd..abe85a4 100644
--- a/include/types/connection.h
+++ b/include/types/connection.h
@@ -372,7 +372,6 @@
struct connection *conn; /* xprt-level connection */
struct wait_list wait_list; /* We're in a wait list for send */
struct list send_wait_list; /* list of tasks to wake when we're ready to send */
- struct buffer txbuf; /* transmission buffer, always valid (buf_empty or real buffer) */
void *data; /* pointer to upper layer's entity (eg: stream interface) */
const struct data_cb *data_cb; /* data layer callbacks. Must be set before xprt->init() */
void *ctx; /* mux-specific context */
diff --git a/src/checks.c b/src/checks.c
index bb50548..fa04bc8 100644
--- a/src/checks.c
+++ b/src/checks.c
@@ -771,7 +771,7 @@
goto out;
if (b_data(&check->bo)) {
- cs_send(cs, &check->bo, b_data(&check->bo), 0);
+ cs->conn->mux->snd_buf(cs, &check->bo, b_data(&check->bo), 0);
b_realign_if_empty(&check->bo);
if (conn->flags & CO_FL_ERROR || cs->flags & CS_FL_ERROR) {
chk_report_conn_err(check, errno, 0);
@@ -2699,7 +2699,7 @@
int ret;
__cs_want_send(cs);
- ret = cs_send(cs, &check->bo, b_data(&check->bo), 0);
+ ret = cs->conn->mux->snd_buf(cs, &check->bo, b_data(&check->bo), 0);
b_realign_if_empty(&check->bo);
if (ret <= 0) {
diff --git a/src/connection.c b/src/connection.c
index 2a7fb1b..df3df84 100644
--- a/src/connection.c
+++ b/src/connection.c
@@ -384,17 +384,6 @@
}
/*
- * default cs send() : this one is used when mux->snd_buf == NULL. It puts up to
- * <count> bytes from <buf> into cs->txbuf. The number of bytes transferred is
- * returned. Here we don't care if cs->txbuf is allocated or not. If not, it
- * will be swapped with <buf>.
- */
-size_t __cs_send(struct conn_stream *cs, struct buffer *buf, size_t count, int flags)
-{
- return b_xfer(&cs->txbuf, buf, count);
-}
-
-/*
* Get data length from tlv
*/
static int get_tlv_length(const struct tlv *src)
diff --git a/src/stream_interface.c b/src/stream_interface.c
index 591d835..f2d6b6f 100644
--- a/src/stream_interface.c
+++ b/src/stream_interface.c
@@ -721,7 +721,7 @@
if (oc->flags & CF_STREAMER)
send_flag |= CO_SFL_STREAMER;
- ret = cs_send(cs, &oc->buf, co_data(oc), send_flag);
+ ret = cs->conn->mux->snd_buf(cs, &oc->buf, co_data(oc), send_flag);
if (ret > 0) {
did_send = 1;
oc->flags |= CF_WRITE_PARTIAL | CF_WROTE_DATA | CF_WRITE_EVENT;