X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http_client_pool.h;h=17bfe13c4a2e986c8af3d9f53a0ac974c0801c01;hp=937bacf8933aaf4c61adcc1d99d04932fc58572a;hb=5855b4ed57714dabea33a2c57d4b9cb1a03af70c;hpb=6cc24086f57aa1e8f4d6a2c12361635e7c24f60f diff --git a/php_http_client_pool.h b/php_http_client_pool.h index 937bacf..17bfe13 100644 --- a/php_http_client_pool.h +++ b/php_http_client_pool.h @@ -25,12 +25,12 @@ typedef void (*php_http_client_pool_reset_func_t)(struct php_http_client_pool *p typedef STATUS (*php_http_client_pool_exec_func_t)(struct php_http_client_pool *p); typedef STATUS (*php_http_client_pool_wait_func_t)(struct php_http_client_pool *p, struct timeval *custom_timeout); typedef int (*php_http_client_pool_once_func_t)(struct php_http_client_pool *p); -typedef STATUS (*php_http_client_pool_attach_func_t)(struct php_http_client_pool *p, php_http_client_t *r, const char *m, const char *url, php_http_message_body_t *body); +typedef STATUS (*php_http_client_pool_attach_func_t)(struct php_http_client_pool *p, php_http_client_t *r, php_http_message_t *msg); typedef STATUS (*php_http_client_pool_detach_func_t)(struct php_http_client_pool *p, php_http_client_t *r); typedef STATUS (*php_http_client_pool_setopt_func_t)(struct php_http_client_pool *p, php_http_client_pool_setopt_opt_t opt, void *arg); typedef struct php_http_client_pool_ops { - php_http_resource_factory_ops_t *rsrc; + php_resource_factory_ops_t *rsrc; php_http_client_pool_init_func_t init; php_http_client_pool_copy_func_t copy; php_http_client_pool_dtor_func_t dtor; @@ -41,14 +41,17 @@ typedef struct php_http_client_pool_ops { php_http_client_pool_attach_func_t attach; php_http_client_pool_detach_func_t detach; php_http_client_pool_setopt_func_t setopt; + php_http_new_t create_object; + zend_class_entry *(*class_entry)(void); } php_http_client_pool_ops_t; typedef struct php_http_client_pool { void *ctx; - php_http_resource_factory_t *rf; + php_resource_factory_t *rf; php_http_client_pool_ops_t *ops; struct { + php_http_client_t *master; zend_llist attached; zend_llist finished; } clients; @@ -58,7 +61,7 @@ typedef struct php_http_client_pool { #endif } php_http_client_pool_t; -PHP_HTTP_API php_http_client_pool_t *php_http_client_pool_init(php_http_client_pool_t *pool, php_http_client_pool_ops_t *ops, php_http_resource_factory_t *rf, void *init_arg TSRMLS_DC); +PHP_HTTP_API php_http_client_pool_t *php_http_client_pool_init(php_http_client_pool_t *pool, php_http_client_pool_ops_t *ops, php_resource_factory_t *rf, void *init_arg TSRMLS_DC); PHP_HTTP_API php_http_client_pool_t *php_http_client_pool_copy(php_http_client_pool_t *from, php_http_client_pool_t *to); PHP_HTTP_API void php_http_client_pool_dtor(php_http_client_pool_t *pool); PHP_HTTP_API void php_http_client_pool_free(php_http_client_pool_t **pool); @@ -74,20 +77,18 @@ PHP_HTTP_API void php_http_client_pool_requests(php_http_client_pool_t *h, zval typedef struct php_http_client_pool_object { zend_object zo; php_http_client_pool_t *pool; - zend_object_value factory; + zend_object_value client; struct { long pos; } iterator; } php_http_client_pool_object_t; -extern zend_class_entry *php_http_client_pool_class_entry; -extern zend_function_entry php_http_client_pool_method_entry[]; +zend_object_value php_http_client_pool_object_new(zend_class_entry *ce TSRMLS_DC); +zend_object_value php_http_client_pool_object_new_ex(zend_class_entry *ce, php_http_client_pool_t *p, php_http_client_pool_object_t **ptr TSRMLS_DC); +void php_http_client_pool_object_free(void *object TSRMLS_DC); -extern zend_object_value php_http_client_pool_object_new(zend_class_entry *ce TSRMLS_DC); -extern zend_object_value php_http_client_pool_object_new_ex(zend_class_entry *ce, php_http_client_pool_t *p, php_http_client_pool_object_t **ptr TSRMLS_DC); -extern void php_http_client_pool_object_free(void *object TSRMLS_DC); - -extern zend_object_handlers *php_http_client_pool_get_object_handlers(void); +zend_class_entry *php_http_client_pool_get_class_entry(void); +zend_object_handlers *php_http_client_pool_get_object_handlers(void); PHP_METHOD(HttpClientPool, __destruct); PHP_METHOD(HttpClientPool, attach); @@ -102,8 +103,8 @@ PHP_METHOD(HttpClientPool, key); PHP_METHOD(HttpClientPool, next); PHP_METHOD(HttpClientPool, rewind); PHP_METHOD(HttpClientPool, count); -PHP_METHOD(HttpClientPool, getAttachedRequests); -PHP_METHOD(HttpClientPool, getFinishedRequests); +PHP_METHOD(HttpClientPool, getAttached); +PHP_METHOD(HttpClientPool, getFinished); PHP_METHOD(HttpClientPool, enablePipelining); PHP_METHOD(HttpClientPool, enableEvents);