MEDIUM: stream-interface: set the pointer to the applet into the applet context

In preparation for a later move of all the applet context outside of the
stream interface, we'll need to have access to the applet itself from the
context. Let's have a pointer to it inside the context.
This commit is contained in:
Willy Tarreau 2013-10-24 20:03:27 +02:00
parent 7d67d7b9e5
commit 48099c7a07
2 changed files with 4 additions and 0 deletions

View File

@ -57,6 +57,7 @@ static inline void si_prepare_none(struct stream_interface *si)
si->end = NULL;
conn_prepare(si->conn, NULL, NULL, NULL, si);
si->conn->target = NULL;
si->appctx.applet = NULL;
}
static inline void si_prepare_conn(struct stream_interface *si, const struct protocol *ctrl, const struct xprt_ops *xprt)
@ -79,6 +80,7 @@ static inline void si_prepare_applet(struct stream_interface *si, struct si_appl
si->end = NULL;
conn_prepare(si->conn, NULL, NULL, NULL, si);
si->conn->target = &applet->obj_type;
si->appctx.applet = applet;
}
/* Sends a shutr to the connection using the data layer */

View File

@ -79,6 +79,7 @@ enum {
};
struct stream_interface;
struct si_applet;
/* operations available on a stream-interface */
struct si_ops {
@ -95,6 +96,7 @@ struct appctx {
unsigned int st0; /* CLI state for stats, session state for peers */
unsigned int st1; /* prompt for stats, session error for peers */
unsigned int st2; /* output state for stats, unused by peers */
struct si_applet *applet; /* applet this context refers to */
union {
struct {