]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
CLEANUP: connection: offer conn_prepare() to set up a connection
authorWilly Tarreau <w@1wt.eu>
Mon, 24 Sep 2012 15:15:42 +0000 (17:15 +0200)
committerWilly Tarreau <w@1wt.eu>
Mon, 24 Sep 2012 20:49:06 +0000 (22:49 +0200)
This will be used by checks as well as stream interfaces.

include/proto/connection.h
include/proto/stream_interface.h

index 32e77cf71a9a86b77a778f37d0f8850a14ac4e14..94f1c83b82f9981fc2d7970483b29a71d6cf0341 100644 (file)
@@ -412,6 +412,18 @@ static inline void conn_get_to_addr(struct connection *conn)
        conn->flags |= CO_FL_ADDR_TO_SET;
 }
 
+/* prepares a connection with the appropriate app_cb, ctrl and data layers. The
+ * data state and context are set to 0.
+ */
+static inline void conn_prepare(struct connection *conn, const struct app_cb *app,
+                                const struct protocol *ctrl, const struct data_ops *data)
+{
+       conn->app_cb = app;
+       conn->ctrl = ctrl;
+       conn->data = data;
+       conn->data_st = 0;
+       conn->data_ctx = NULL;
+}
 
 #endif /* _PROTO_CONNECTION_H */
 
index 05a321028b0074602c68a4b9d1426bf38a1a3713..f68b6ba0691d1774d304afdf43f1a5663064bfd5 100644 (file)
@@ -67,31 +67,19 @@ static inline int si_fd(struct stream_interface *si)
 static inline void si_prepare_conn(struct stream_interface *si, const struct protocol *ctrl, const struct data_ops *ops)
 {
        si->ops = &si_conn_ops;
-       si->conn.app_cb = &si_conn_cb;
-       si->conn.ctrl = ctrl;
-       si->conn.data = ops;
-       si->conn.data_st = 0;
-       si->conn.data_ctx = NULL;
+       conn_prepare(&si->conn, &si_conn_cb, ctrl, ops);
 }
 
 static inline void si_prepare_embedded(struct stream_interface *si)
 {
        si->ops = &si_embedded_ops;
-       si->conn.app_cb = NULL;
-       si->conn.ctrl = NULL;
-       si->conn.data = NULL;
-       si->conn.data_st = 0;
-       si->conn.data_ctx = NULL;
+       conn_prepare(&si->conn, NULL, NULL, NULL);
 }
 
 static inline void si_prepare_task(struct stream_interface *si)
 {
        si->ops = &si_task_ops;
-       si->conn.app_cb = NULL;
-       si->conn.ctrl = NULL;
-       si->conn.data = NULL;
-       si->conn.data_st = 0;
-       si->conn.data_ctx = NULL;
+       conn_prepare(&si->conn, NULL, NULL, NULL);
 }
 
 /* Sends a shutr to the connection using the data layer */