tree 45d6fde1fca38c5ce8f3fad2f5f5f3efde0583b2
parent 4a59f2f954c9ab88eefb023bf95fb1a3ad226a57
author Willy Tarreau <w@1wt.eu> 1380467996 +0200
committer Willy Tarreau <w@1wt.eu> 1386600022 +0100
encoding latin1

MEDIUM: stream-int: make ->end point to the connection or the appctx

The long-term goal is to have a context for applets as an alternative
to the connection and not as a complement. At the moment, the context
is still stored into the stream interface, and we only put a pointer
to the applet's context in si->end, initialize the context with object
type OBJ_TYPE_APPCTX, and this allows us not to allocate an entry when
deciding to switch to an applet.

A special care is taken to never dereference si->conn anymore when
dealing with an applet. That's why it's important that si->end is
always set to the proper type :

    si->end == NULL             => not connected to anything
   *si->end == OBJ_TYPE_APPCTX  => connected to an applet
   *si->end == OBJ_TYPE_CONN    => real connection (server, proxy, ...)

The session management code used to check the applet from the connection's
target. Now it uses the stream interface's end point and does not touch the
connection at all. Similarly, we stop checking the connection's addresses
and file descriptors when reporting the applet's status in the stats dump.
