X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=http_requestpool_object.c;h=f4f0f9918359b71208561205ff763f37631e764b;hp=c917d8615c809713d69d97f8774d16310d58ffa0;hb=9ba977318408ae1a35bdeee7062db1dfeae31510;hpb=d83edb65a0097de2d5baa1a9fd9dbcebed34cc79 diff --git a/http_requestpool_object.c b/http_requestpool_object.c index c917d86..f4f0f99 100644 --- a/http_requestpool_object.c +++ b/http_requestpool_object.c @@ -108,7 +108,6 @@ zend_object_value _http_requestpool_object_new(zend_class_entry *ce TSRMLS_DC) o->zo.ce = ce; http_request_pool_init(&o->pool); - o->iterator.pos = 0; ALLOC_HASHTABLE(OBJ_PROP(o)); zend_hash_init(OBJ_PROP(o), 0, NULL, ZVAL_PTR_DTOR, 0); @@ -145,14 +144,22 @@ void _http_requestpool_object_free(zend_object *object TSRMLS_DC) * * Instantiate a new HttpRequestPool object. An HttpRequestPool is * able to send several HttpRequests in parallel. + * + * WARNING: Don't attach/detach HttpRequest objects to the HttpRequestPool + * object while you're using the implemented Interator interface. * + * Accepts virtual infinite optional parameters each referencing an + * HttpRequest object. + * + * Throws HttpRequestException, HttpRequestPoolException, HttpInvalidParamException. + * * Example: *
* send(); * foreach($pool as $request) { @@ -217,7 +224,15 @@ PHP_METHOD(HttpRequestPool, reset) /* {{{ proto bool HttpRequestPool::attach(HttpRequest request) * * Attach an HttpRequest object to this HttpRequestPool. - * NOTE: set all options prior attaching! + * WARNING: set all options prior attaching! + * + * Expects the parameter to be an HttpRequest object not alread attached to + * antother HttpRequestPool object. + * + * Returns TRUE on success, or FALSE on failure. + * + * Throws HttpInvalidParamException, HttpRequestException, + * HttpRequestPoolException, HttpEncodingException. */ PHP_METHOD(HttpRequestPool, attach) { @@ -237,6 +252,13 @@ PHP_METHOD(HttpRequestPool, attach) /* {{{ proto bool HttpRequestPool::detach(HttpRequest request) * * Detach an HttpRequest object from this HttpRequestPool. + * + * Expects the parameter to be an HttpRequest object attached to this + * HttpRequestPool object. + * + * Returns TRUE on success, or FALSE on failure. + * + * Throws HttpInvalidParamException, HttpRequestPoolException. */ PHP_METHOD(HttpRequestPool, detach) { @@ -256,6 +278,11 @@ PHP_METHOD(HttpRequestPool, detach) /* {{{ proto bool HttpRequestPool::send() * * Send all attached HttpRequest objects in parallel. + * + * Returns TRUE on success, or FALSE on failure. + * + * Throws HttpSocketException, HttpRequestException, + * HttpRequestPoolException, HttpMalformedHeaderException. */ PHP_METHOD(HttpRequestPool, send) { @@ -272,8 +299,10 @@ PHP_METHOD(HttpRequestPool, send) } /* }}} */ -/* {{{ proto protected bool HttpRequestPool::socketSend() +/* {{{ proto protected bool HttpRequestPool::socketPerform() * + * Returns TRUE until each request has finished its transaction. + * * Usage: **