conn->flags |= CO_FL_ADDR_TO_SET;
}
-/* Assigns a connection with the appropriate data, ctrl, transport layers, and owner. */
-static inline void conn_assign(struct connection *conn, const struct data_cb *data,
- const struct protocol *ctrl, const struct xprt_ops *xprt,
- void *owner)
+/* Attaches a connection to an owner and assigns a data layer */
+static inline void conn_attach(struct connection *conn, void *owner, const struct data_cb *data)
{
conn->data = data;
- conn->ctrl = ctrl;
- conn->xprt = xprt;
conn->owner = owner;
}
si->ops = &si_conn_ops;
si->end = &conn->obj_type;
- conn_assign(conn, &si_conn_cb, ctrl, xprt, si);
+ conn_prepare(conn, ctrl, xprt);
+ conn_attach(conn, si, &si_conn_cb);
}
static inline void si_prepare_applet(struct stream_interface *si, struct si_applet *applet)
/* prepare a new connection */
conn_init(conn);
conn_prepare(conn, s->check_common.proto, s->check_common.xprt);
- conn_assign(conn, &check_conn_cb, s->check_common.proto, s->check_common.xprt, check);
+ conn_attach(conn, check, &check_conn_cb);
conn->target = &s->obj_type;
/* no client address */
* but not initialized. Also note we need to be careful as the stream
* int is not initialized yet.
*/
- conn_assign(cli_conn, &sess_conn_cb, l->proto, l->xprt, s);
+ conn_attach(cli_conn, s, &sess_conn_cb);
/* finish initialization of the accepted file descriptor */
conn_ctrl_init(cli_conn);