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);
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 {
php_http_client_pool_ops_t *ops;
struct {
+ php_http_client_t *master;
zend_llist attached;
zend_llist finished;
} clients;
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);
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);