int (*used_streams)(struct connection *conn); /* Returns the number of streams in use on a connection. */
void (*destroy)(void *ctx); /* Let the mux know one of its users left, so it may have to disappear */
void (*reset)(struct connection *conn); /* Reset the mux, because we're re-trying to connect */
- const struct cs_info *(*get_cs_info)(struct conn_stream *cs); /* Return info on the specified conn_stream or NULL if not defined */
int (*ctl)(struct connection *conn, enum mux_ctl_type mux_ctl, void *arg); /* Provides information about the mux */
int (*takeover)(struct connection *conn, int orig_tid); /* Attempts to migrate the connection to the current thread */
unsigned int flags; /* some flags characterizing the mux's capabilities (MX_FL_*) */
void *ctx; /* mux-specific context */
};
-/*
- * This structure describes the info related to a conn_stream known by the mux
- * only but useful for the upper layer.
- * For now, only some dates and durations are reported. This structure will
- * envolved. But for now, only the bare minimum is referenced.
- */
-struct cs_info {
- struct timeval create_date; /* Creation date of the conn_stream in user date */
- struct timeval tv_create; /* Creation date of the conn_stream in internal date (monotonic) */
- long t_handshake; /* handshake duration, -1 if never occurs */
- long t_idle; /* idle duration, -1 if never occurs */
-};
-
/* This structure describes a connection with its methods and data.
* A connection may be performed to proxy or server via a local or remote
* socket, and can also be made to an internal applet. It can support
si_update_tx(si);
}
-/* Returns info about the conn_stream <cs>, if not NULL. It call the mux layer's
- * get_cs_info() function, if it exists. On success, it returns a cs_info
- * structure. Otherwise, on error, if the mux does not implement get_cs_info()
- * or if conn_stream is NULL, NULL is returned.
- */
-static inline const struct cs_info *si_get_cs_info(struct conn_stream *cs)
-{
- if (cs && cs->conn->mux->get_cs_info)
- return cs->conn->mux->get_cs_info(cs);
- return NULL;
-}
-
/* for debugging, reports the stream interface state name */
static inline const char *si_state_str(int state)
{