MINOR: connections: Make rcv_buf mandatory and nuke cs_recv().

Reintroduce h2_rcv_buf(), right now it just does what cs_recv() did, but
should be modified later.
diff --git a/include/proto/connection.h b/include/proto/connection.h
index 8261d57..33ccc0b 100644
--- a/include/proto/connection.h
+++ b/include/proto/connection.h
@@ -304,17 +304,6 @@
 		conn->mux->update_poll(cs);
 }
 
-/* conn_stream receive function. Uses mux->rcv_buf() if defined, otherwise
- * falls back to __cs_recv().
- */
-static inline size_t cs_recv(struct conn_stream *cs, struct buffer *buf, size_t count, int flags)
-{
-	if (cs->conn->mux->rcv_buf)
-		return cs->conn->mux->rcv_buf(cs, buf, count, flags);
-	else
-		return __cs_recv(cs, buf, count, flags);
-}
-
 /* conn_stream send function. Uses mux->snd_buf() if defined, otherwise
  * falls back to __cs_send().
  */
diff --git a/src/checks.c b/src/checks.c
index ef7237a..bb50548 100644
--- a/src/checks.c
+++ b/src/checks.c
@@ -850,7 +850,7 @@
 
 	done = 0;
 
-	cs_recv(cs, &check->bi, b_size(&check->bi), 0);
+	cs->conn->mux->rcv_buf(cs, &check->bi, b_size(&check->bi), 0);
 	if (conn->flags & (CO_FL_ERROR | CO_FL_SOCK_RD_SH) || cs->flags & CS_FL_ERROR) {
 		done = 1;
 		if ((conn->flags & CO_FL_ERROR || cs->flags & CS_FL_ERROR) && !b_data(&check->bi)) {
@@ -2917,7 +2917,7 @@
 				goto out_end_tcpcheck;
 
 			__cs_want_recv(cs);
-			if (cs_recv(cs, &check->bi, b_size(&check->bi), 0) <= 0) {
+			if (cs->conn->mux->rcv_buf(cs, &check->bi, b_size(&check->bi), 0) <= 0) {
 				if (conn->flags & (CO_FL_ERROR | CO_FL_SOCK_RD_SH) || cs->flags & CS_FL_ERROR) {
 					done = 1;
 					if ((conn->flags & CO_FL_ERROR || cs->flags & CS_FL_ERROR) && !b_data(&check->bi)) {
diff --git a/src/connection.c b/src/connection.c
index f750e3c..2a7fb1b 100644
--- a/src/connection.c
+++ b/src/connection.c
@@ -384,33 +384,6 @@
 }
 
 /*
- * default conn_stream recv() : this one is used when cs->rcv_buf == NULL.
- * It reads up to <count> bytes from cs->rxbuf, puts them into <buf> and
- * returns the count. It possibly sets/clears CS_FL_RCV_MORE depending on the
- * buffer's state, and may set CS_FL_EOS. The number of bytes transferred is
- * returned. <buf> is not touched if <count> is null, but cs flags will be
- * updated to indicate any RCV_MORE or EOS.
- */
-size_t __cs_recv(struct conn_stream *cs, struct buffer *buf, size_t count, int flags)
-{
-	size_t ret = 0;
-
-	/* transfer possibly pending data to the upper layer */
-	ret = b_xfer(buf, &cs->rxbuf, count);
-
-	if (b_data(&cs->rxbuf))
-		cs->flags |= CS_FL_RCV_MORE;
-	else {
-		cs->flags &= ~CS_FL_RCV_MORE;
-		if (cs->flags & CS_FL_REOS)
-			cs->flags |= CS_FL_EOS;
-		cs_drop_rxbuf(cs);
-	}
-
-	return ret;
-}
-
-/*
  * 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
diff --git a/src/mux_h2.c b/src/mux_h2.c
index a986b5a..cb6ea26 100644
--- a/src/mux_h2.c
+++ b/src/mux_h2.c
@@ -3414,6 +3414,26 @@
 
 }
 
+/* Called from the upper layer, to receive data */
+static size_t h2_rcv_buf(struct conn_stream *cs, struct buffer *buf, size_t count, int flags)
+{
+	size_t ret = 0;
+
+	/* transfer possibly pending data to the upper layer */
+	ret = b_xfer(buf, &cs->rxbuf, count);
+
+	if (b_data(&cs->rxbuf))
+		cs->flags |= CS_FL_RCV_MORE;
+	else {
+		cs->flags &= ~CS_FL_RCV_MORE;
+		if (cs->flags & CS_FL_REOS)
+			cs->flags |= CS_FL_EOS;
+		cs_drop_rxbuf(cs);
+	}
+
+	return ret;
+}
+
 /* Called from the upper layer, to send data */
 static size_t h2_snd_buf(struct conn_stream *cs, struct buffer *buf, size_t count, int flags)
 {
@@ -3591,6 +3611,7 @@
 	.wake = h2_wake,
 	.update_poll = h2_update_poll,
 	.snd_buf = h2_snd_buf,
+	.rcv_buf = h2_rcv_buf,
 	.subscribe = h2_subscribe,
 	.attach = h2_attach,
 	.detach = h2_detach,
diff --git a/src/stream_interface.c b/src/stream_interface.c
index e56a7c1..591d835 100644
--- a/src/stream_interface.c
+++ b/src/stream_interface.c
@@ -1244,7 +1244,7 @@
 			break;
 		}
 
-		ret = cs_recv(cs, &ic->buf, max, co_data(ic) ? CO_RFL_BUF_WET : 0);
+		ret = cs->conn->mux->rcv_buf(cs, &ic->buf, max, co_data(ic) ? CO_RFL_BUF_WET : 0);
 		if (cs->flags & CS_FL_RCV_MORE)
 			si->flags |= SI_FL_WAIT_ROOM;