MAJOR: stream/conn_stream: Move the stream-interface into the conn-stream
Thanks to all previous changes, it is now possible to move the
stream-interface into the conn-stream. To do so, some SI functions are
removed and their conn-stream counterparts are added. In addition, the
conn-stream is now responsible to create and release the
stream-interface. While the stream-interfaces were inlined in the stream
structure, there is now a pointer in the conn-stream. stream-interfaces are
now dynamically allocated. Thus a dedicated pool is added. It is a temporary
change because, at the end, the stream-interface structure will most
probably disappear.
diff --git a/src/flt_spoe.c b/src/flt_spoe.c
index 6c4c9f8..5d0a535 100644
--- a/src/flt_spoe.c
+++ b/src/flt_spoe.c
@@ -2024,9 +2024,10 @@
if (!sess)
goto out_free_spoe;
- cs = cs_new(&appctx->obj_type, appctx, NULL, NULL, NULL);
+ cs = cs_new();
if (!cs)
goto out_free_sess;
+ cs_attach_endp(cs, &appctx->obj_type, appctx);
if ((strm = stream_new(sess, cs, &BUF_NULL)) == NULL)
goto out_free_cs;
@@ -2034,7 +2035,7 @@
stream_set_backend(strm, conf->agent->b.be);
/* applet is waiting for data */
- si_cant_get(&strm->si[0]);
+ si_cant_get(strm->csf->si);
appctx_wakeup(appctx);
strm->do_log = NULL;