MINOR: connection: add conn_new() / conn_free()
conn_new() will be a more convenient way of allocating and initializing
a connection. It calls pool_alloc2() and conn_init() upon success.
conn_free() is just a pool_free2() but is provided for symmetry with
conn_new().
diff --git a/include/proto/connection.h b/include/proto/connection.h
index a552a04..21d57c9 100644
--- a/include/proto/connection.h
+++ b/include/proto/connection.h
@@ -443,6 +443,27 @@
conn->target = NULL;
}
+/* Tries to allocate a new connection and initialized its main fields. The
+ * connection is returned on success, NULL on failure. The connection must
+ * be released using pool_free2() or conn_free().
+ */
+static inline struct connection *conn_new()
+{
+ struct connection *conn;
+
+ conn = pool_alloc2(pool2_connection);
+ if (likely(conn != NULL))
+ conn_init(conn);
+ return conn;
+}
+
+/* Releases a connection previously allocated by conn_new() */
+static inline void conn_free(struct connection *conn)
+{
+ pool_free2(pool2_connection, conn);
+}
+
+
/* Retrieves the connection's source address */
static inline void conn_get_from_addr(struct connection *conn)
{