2 +--------------------------------------------------------------------+
4 +--------------------------------------------------------------------+
5 | Redistribution and use in source and binary forms, with or without |
6 | modification, are permitted provided that the conditions mentioned |
7 | in the accompanying LICENSE file are met. |
8 +--------------------------------------------------------------------+
9 | Copyright (c) 2004-2007, Michael Wallner <mike@php.net> |
10 +--------------------------------------------------------------------+
15 #ifndef PHP_HTTP_REQUEST_POOL_API_H
16 #define PHP_HTTP_REQUEST_POOL_API_H
20 typedef struct _http_request_pool_t
{
28 #ifdef HTTP_HAVE_EVENT
29 struct event
*timeout
;
33 typedef int (*http_request_pool_apply_func
)(http_request_pool
*pool
, zval
*request
);
34 typedef int (*http_request_pool_apply_with_arg_func
)(http_request_pool
*pool
, zval
*request
, void *arg
);
36 PHP_MINIT_FUNCTION(http_request_pool
);
37 #ifdef HTTP_HAVE_EVENT
38 PHP_RINIT_FUNCTION(http_request_pool
);
41 #define http_request_pool_timeout _http_request_pool_timeout
42 extern struct timeval
*_http_request_pool_timeout(http_request_pool
*pool
, struct timeval
*timeout
);
44 #define http_request_pool_responsehandler _http_request_pool_responsehandler
45 extern void _http_request_pool_response_handler(http_request_pool
*pool
);
47 #define http_request_pool_apply_responsehandler _http_request_pool_responsehandler
48 extern int _http_request_pool_apply_responsehandler(http_request_pool
*pool
, zval
*req
, void *ch
);
50 #define http_request_pool_init(p) _http_request_pool_init((p) TSRMLS_CC)
51 PHP_HTTP_API http_request_pool
*_http_request_pool_init(http_request_pool
*pool TSRMLS_DC
);
53 #define http_request_pool_attach(p, r) _http_request_pool_attach((p), (r))
54 PHP_HTTP_API STATUS
_http_request_pool_attach(http_request_pool
*pool
, zval
*request
);
56 #define http_request_pool_detach(p, r) _http_request_pool_detach((p), (r))
57 PHP_HTTP_API STATUS
_http_request_pool_detach(http_request_pool
*pool
, zval
*request
);
59 #define http_request_pool_apply(p, f) _http_request_pool_apply((p), (f))
60 PHP_HTTP_API
void _http_request_pool_apply(http_request_pool
*pool
, http_request_pool_apply_func cb
);
62 #define http_request_pool_apply_with_arg(p, f, a) _http_request_pool_apply_with_arg((p), (f), (a))
63 PHP_HTTP_API
void _http_request_pool_apply_with_arg(http_request_pool
*pool
, http_request_pool_apply_with_arg_func cb
, void *arg
);
65 #define http_request_pool_detach_all(p) _http_request_pool_detach_all((p))
66 PHP_HTTP_API
void _http_request_pool_detach_all(http_request_pool
*pool
);
68 #define http_request_pool_send(p) _http_request_pool_send((p))
69 PHP_HTTP_API STATUS
_http_request_pool_send(http_request_pool
*pool
);
71 #define http_request_pool_select _http_request_pool_select
72 PHP_HTTP_API STATUS
_http_request_pool_select(http_request_pool
*pool
);
74 #define http_request_pool_perform(p) _http_request_pool_perform((p))
75 PHP_HTTP_API
int _http_request_pool_perform(http_request_pool
*pool
);
77 #define http_request_pool_dtor(p) _http_request_pool_dtor((p))
78 PHP_HTTP_API
void _http_request_pool_dtor(http_request_pool
*pool
);
89 * vim600: noet sw=4 ts=4 fdm=marker
90 * vim<600: noet sw=4 ts=4