+#define HTTP_BEGIN_ARGS(method, req_args) HTTP_BEGIN_ARGS_EX(HttpRequestPool, method, ZEND_RETURN_REFERENCE_AGNOSTIC, req_args)
+#define HTTP_EMPTY_ARGS(method, ret_ref) HTTP_EMPTY_ARGS_EX(HttpRequestPool, method, ret_ref)
+#define HTTP_REQPOOL_ME(method, visibility) PHP_ME(HttpRequestPool, method, HTTP_ARGS(HttpRequestPool, method), visibility)
+
+HTTP_BEGIN_ARGS_AR(HttpRequestPool, __construct, 0, 0)
+ HTTP_ARG_OBJ(HttpRequest, request0, 0)
+ HTTP_ARG_OBJ(HttpRequest, request1, 0)
+ HTTP_ARG_OBJ(HttpRequest, requestN, 0)
+HTTP_END_ARGS;
+
+HTTP_EMPTY_ARGS(__destruct, 0);
+HTTP_EMPTY_ARGS(reset, 0);
+
+HTTP_BEGIN_ARGS(attach, 1)
+ HTTP_ARG_OBJ(HttpRequest, request, 0)
+HTTP_END_ARGS;
+
+HTTP_BEGIN_ARGS(detach, 1)
+ HTTP_ARG_OBJ(HttpRequest, request, 0)
+HTTP_END_ARGS;
+
+HTTP_EMPTY_ARGS(send, 0);
+HTTP_EMPTY_ARGS(socketSend, 0);
+HTTP_EMPTY_ARGS(socketSelect, 0);
+HTTP_EMPTY_ARGS(socketRead, 0);
+