X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=php_http_request_pool.h;h=d2b6eb47310ed7edc4ae7c58d5c6f3b035831968;hb=a458b9a25cf0ec9b4d8bde2b22e43c44d71427c8;hp=f75c01dde3801282cd99e937d8d978c7f2bd5fe6;hpb=df06e2dbf48a3b0d96f2c62071c1b5fc907a98d0;p=m6w6%2Fext-http diff --git a/php_http_request_pool.h b/php_http_request_pool.h index f75c01d..d2b6eb4 100644 --- a/php_http_request_pool.h +++ b/php_http_request_pool.h @@ -1,3 +1,14 @@ +/* + +--------------------------------------------------------------------+ + | PECL :: http | + +--------------------------------------------------------------------+ + | Redistribution and use in source and binary forms, with or without | + | modification, are permitted provided that the conditions mentioned | + | in the accompanying LICENSE file are met. | + +--------------------------------------------------------------------+ + | Copyright (c) 2004-2011, Michael Wallner | + +--------------------------------------------------------------------+ +*/ #ifndef PHP_HTTP_REQUESTPOOL_H #define PHP_HTTP_REQUESTPOOL_H @@ -23,6 +34,7 @@ typedef STATUS (*php_http_request_pool_detach_func_t)(php_http_request_pool_t *p typedef STATUS (*php_http_request_pool_setopt_func_t)(php_http_request_pool_t *p, php_http_request_pool_setopt_opt_t opt, void *arg); typedef struct php_http_request_pool_ops { + php_http_resource_factory_ops_t *rsrc; php_http_request_pool_init_func_t init; php_http_request_pool_copy_func_t copy; php_http_request_pool_dtor_func_t dtor; @@ -37,6 +49,7 @@ typedef struct php_http_request_pool_ops { struct php_http_request_pool { void *ctx; + php_http_resource_factory_t *rf; php_http_request_pool_ops_t *ops; struct { @@ -44,12 +57,14 @@ struct php_http_request_pool { zend_llist finished; } requests; + zval *persistent_handle_id; + #ifdef ZTS void ***ts; #endif }; -PHP_HTTP_API php_http_request_pool_t *php_http_request_pool_init(php_http_request_pool_t *pool, php_http_request_pool_ops_t *ops, void *init_arg TSRMLS_DC); +PHP_HTTP_API php_http_request_pool_t *php_http_request_pool_init(php_http_request_pool_t *pool, php_http_request_pool_ops_t *ops, php_http_resource_factory_t *rf, void *init_arg TSRMLS_DC); PHP_HTTP_API php_http_request_pool_t *php_http_request_pool_copy(php_http_request_pool_t *from, php_http_request_pool_t *to); PHP_HTTP_API void php_http_request_pool_dtor(php_http_request_pool_t *pool); PHP_HTTP_API void php_http_request_pool_free(php_http_request_pool_t **pool); @@ -65,6 +80,7 @@ PHP_HTTP_API void php_http_request_pool_requests(php_http_request_pool_t *h, zva typedef struct php_http_request_pool_object { zend_object zo; php_http_request_pool_t *pool; + zend_object_value factory; struct { long pos; } iterator; @@ -99,3 +115,13 @@ PHP_METHOD(HttpRequestPool, enableEvents); PHP_MINIT_FUNCTION(http_request_pool); #endif /* PHP_HTTP_REQUESTPOOL_H */ + +/* + * Local variables: + * tab-width: 4 + * c-basic-offset: 4 + * End: + * vim600: noet sw=4 ts=4 fdm=marker + * vim<600: noet sw=4 ts=4 + */ +