* (safe or idle connections). The <is_safe> argument means what type of
* connection the caller wants.
*/
-static struct connection *conn_backend_get(struct stream *s, struct server *srv, int is_safe, int64_t hash)
+struct connection *conn_backend_get(struct stream *s, struct server *srv, int is_safe, int64_t hash)
{
struct connection *conn = NULL;
int i; // thread number
* Additionally, in the case of SF_ERR_RESOURCE, an emergency log will be emitted.
* The server-facing stream connector is expected to hold a pre-allocated connection.
*/
-static int connect_server(struct stream *s)
+int connect_server(struct stream *s)
{
struct connection *cli_conn = objt_conn(strm_orig(s));
struct connection *srv_conn = NULL;
return 0;
}
-static void httpclient_applet_io_handler(struct appctx *appctx)
+void httpclient_applet_io_handler(struct appctx *appctx)
{
struct httpclient *hc = appctx->svcctx;
struct stconn *sc = appctx_sc(appctx);
goto out;
}
-static int httpclient_applet_init(struct appctx *appctx)
+int httpclient_applet_init(struct appctx *appctx)
{
struct httpclient *hc = appctx->svcctx;
struct stream *s;
return -1;
}
-static void httpclient_applet_release(struct appctx *appctx)
+void httpclient_applet_release(struct appctx *appctx)
{
struct httpclient *hc = appctx->svcctx;
* It may update SE_FL_WAIT_DATA and/or SC_FL_NEED_ROOM, that the callers are
* encouraged to watch to take appropriate action.
* It should not be called from within the stream itself, sc_update()
- * is designed for this.
+ * is designed for this. Please do not statify this function, it's often
+ * present in backtraces, it's useful to recognize it.
*/
-static void sc_notify(struct stconn *sc)
+void sc_notify(struct stconn *sc)
{
struct channel *ic = sc_ic(sc);
struct channel *oc = sc_oc(sc);
/*
* This is the callback which is called by the connection layer to receive data
* into the buffer from the connection. It iterates over the mux layer's
- * rcv_buf function.
+ * rcv_buf function. Please do not statify this function, it's often present in
+ * backtraces, it's useful to recognize it.
*/
-static int sc_conn_recv(struct stconn *sc)
+int sc_conn_recv(struct stconn *sc)
{
struct connection *conn = __sc_conn(sc);
struct channel *ic = sc_ic(sc);
* This function is called to send buffer data to a stream socket.
* It calls the mux layer's snd_buf function. It relies on the
* caller to commit polling changes. The caller should check conn->flags
- * for errors.
+ * for errors. Please do not statify this function, it's often present in
+ * backtraces, it's useful to recognize it.
*/
-static int sc_conn_send(struct stconn *sc)
+int sc_conn_send(struct stconn *sc)
{
struct connection *conn = __sc_conn(sc);
struct stconn *sco = sc_opposite(sc);
* connection flags to the stream connector, updates the stream (which may or
* may not take this opportunity to try to forward data), then update the
* connection's polling based on the channels and stream connector's final
- * states. The function always returns 0.
+ * states. The function always returns 0. Please do not statify this function,
+ * it's often present in backtraces, it's useful to recognize it.
*/
-static int sc_conn_process(struct stconn *sc)
+int sc_conn_process(struct stconn *sc)
{
struct connection *conn = __sc_conn(sc);
struct channel *ic = sc_ic(sc);
/* Callback to be used by applet handlers upon completion. It updates the stream
* (which may or may not take this opportunity to try to forward data), then
* may re-enable the applet's based on the channels and stream connector's final
- * states.
+ * states. Please do not statify this function, it's often present in backtraces,
+ * it's useful to recognize it.
*/
-static int sc_applet_process(struct stconn *sc)
+int sc_applet_process(struct stconn *sc)
{
struct channel *ic = sc_ic(sc);
* Timeouts are cleared. Error are reported on the channel so that analysers
* can handle them.
*/
-static void back_establish(struct stream *s)
+void back_establish(struct stream *s)
{
struct connection *conn = sc_conn(s->scb);
struct channel *req = &s->req;
* Note that this does not change the stream connector's current state, though
* it updates the previous state to the current one.
*/
-static void stream_update_both_sc(struct stream *s)
+void stream_update_both_sc(struct stream *s)
{
struct stconn *scf = s->scf;
struct stconn *scb = s->scb;