X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=http_requestpool_object.c;h=3e81a6a4c7d3d8f5d06eda67ff56cdb62277ec79;hp=ff8f75d4431e073faec37dffefa09a240998935a;hb=157f23df767f997fcb314ff2a46ef932842fab5a;hpb=2eeaaf92d18d81751c5a52dcc7c1dbdfbcdfc28c diff --git a/http_requestpool_object.c b/http_requestpool_object.c index ff8f75d..3e81a6a 100644 --- a/http_requestpool_object.c +++ b/http_requestpool_object.c @@ -6,7 +6,7 @@ | modification, are permitted provided that the conditions mentioned | | in the accompanying LICENSE file are met. | +--------------------------------------------------------------------+ - | Copyright (c) 2004-2006, Michael Wallner | + | Copyright (c) 2004-2007, Michael Wallner | +--------------------------------------------------------------------+ */ @@ -35,11 +35,7 @@ extern PHPAPI zend_class_entry *spl_ce_Countable; #define HTTP_EMPTY_ARGS(method) HTTP_EMPTY_ARGS_EX(HttpRequestPool, method, 0) #define HTTP_REQPOOL_ME(method, visibility) PHP_ME(HttpRequestPool, method, HTTP_ARGS(HttpRequestPool, method), visibility) -HTTP_BEGIN_ARGS(__construct, 0) - HTTP_ARG_OBJ(HttpRequest, request0, 0) - HTTP_ARG_OBJ(HttpRequest, request1, 0) - HTTP_ARG_OBJ(HttpRequest, requestN, 0) -HTTP_END_ARGS; +HTTP_EMPTY_ARGS(__construct); HTTP_EMPTY_ARGS(__destruct); HTTP_EMPTY_ARGS(reset); @@ -154,40 +150,7 @@ static void _http_requestpool_object_llist2array(zval **req, zval *array TSRMLS_ /* ### USERLAND ### */ /* {{{ proto void HttpRequestPool::__construct([HttpRequest request[, ...]]) - * - * 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 Iterator interface. - * - * Accepts virtual infinite optional parameters each referencing an - * HttpRequest object. - * - * Throws HttpRequestPoolException (HttpRequestException, HttpInvalidParamException). - * - * Example: - *
- * send();
- *     foreach($pool as $request) {
- *         printf("%s is %s (%d)\n",
- *             $request->getUrl(),
- *             $request->getResponseCode() ? 'alive' : 'not alive',
- *             $request->getResponseCode()
- *         );
- *     }
- * } catch (HttpException $e) {
- *     echo $e;
- * }
- * ?>
- * 
- */ + Creates a new HttpRequestPool object instance. */ PHP_METHOD(HttpRequestPool, __construct) { int argc = ZEND_NUM_ARGS(); @@ -211,9 +174,7 @@ PHP_METHOD(HttpRequestPool, __construct) /* }}} */ /* {{{ proto void HttpRequestPool::__destruct() - * - * Clean up HttpRequestPool object. - */ + Clean up HttpRequestPool object. */ PHP_METHOD(HttpRequestPool, __destruct) { getObject(http_requestpool_object, obj); @@ -225,9 +186,7 @@ PHP_METHOD(HttpRequestPool, __destruct) /* }}} */ /* {{{ proto void HttpRequestPool::reset() - * - * Detach all attached HttpRequest objects. - */ + Detach all attached HttpRequest objects. */ PHP_METHOD(HttpRequestPool, reset) { getObject(http_requestpool_object, obj); @@ -239,18 +198,7 @@ PHP_METHOD(HttpRequestPool, reset) } /* {{{ proto bool HttpRequestPool::attach(HttpRequest request) - * - * Attach an HttpRequest object to this HttpRequestPool. - * WARNING: set all options prior attaching! - * - * Expects the parameter to be an HttpRequest object not already attached to - * antother HttpRequestPool object. - * - * Returns TRUE on success, or FALSE on failure. - * - * Throws HttpInvalidParamException, HttpRequestException, - * HttpRequestPoolException, HttpEncodingException. - */ + Attach an HttpRequest object to this HttpRequestPool. WARNING: set all options prior attaching! */ PHP_METHOD(HttpRequestPool, attach) { zval *request; @@ -271,16 +219,7 @@ 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. - */ + Detach an HttpRequest object from this HttpRequestPool. */ PHP_METHOD(HttpRequestPool, detach) { zval *request; @@ -298,13 +237,7 @@ PHP_METHOD(HttpRequestPool, detach) /* }}} */ /* {{{ proto bool HttpRequestPool::send() - * - * Send all attached HttpRequest objects in parallel. - * - * Returns TRUE on success, or FALSE on failure. - * - * Throws HttpRequestPoolException (HttpSocketException, HttpRequestException, HttpMalformedHeaderException). - */ + Send all attached HttpRequest objects in parallel. */ PHP_METHOD(HttpRequestPool, send) { STATUS status; @@ -324,36 +257,7 @@ PHP_METHOD(HttpRequestPool, send) /* }}} */ /* {{{ proto protected bool HttpRequestPool::socketPerform() - * - * Returns TRUE until each request has finished its transaction. - * - * Usage: - *
- * socketPerform()) {
- *             if (!$this->socketSelect()) {
- *                 throw new HttpSocketExcpetion;
- *             }
- *         }
- *     }
- *     
- *     protected final function socketPerform()
- *     {
- *         $result = parent::socketPerform();
- *         foreach ($this->getFinishedRequests() as $r) {
- *             $this->detach($r);
- *             // handle response of finished request
- *         }
- *         return $result;
- *     }
- * } 
- * ?>
- * 
- */ + Returns TRUE until each request has finished its transaction. */ PHP_METHOD(HttpRequestPool, socketPerform) { getObject(http_requestpool_object, obj); @@ -368,12 +272,7 @@ PHP_METHOD(HttpRequestPool, socketPerform) } /* }}} */ -/* {{{ proto protected bool HttpRequestPool::socketSelect() - * - * See HttpRequestPool::socketPerform(). - * - * Returns TRUE on success, or FALSE on failure. - */ +/* {{{ proto protected bool HttpRequestPool::socketSelect() */ PHP_METHOD(HttpRequestPool, socketSelect) { getObject(http_requestpool_object, obj); @@ -384,12 +283,8 @@ PHP_METHOD(HttpRequestPool, socketSelect) } /* }}} */ -/* implements Iterator */ - /* {{{ proto bool HttpRequestPool::valid() - * - * Implements Iterator::valid(). - */ + Implements Iterator::valid(). */ PHP_METHOD(HttpRequestPool, valid) { NO_ARGS; @@ -402,9 +297,7 @@ PHP_METHOD(HttpRequestPool, valid) /* }}} */ /* {{{ proto HttpRequest HttpRequestPool::current() - * - * Implements Iterator::current(). - */ + Implements Iterator::current(). */ PHP_METHOD(HttpRequestPool, current) { NO_ARGS; @@ -429,9 +322,7 @@ PHP_METHOD(HttpRequestPool, current) /* }}} */ /* {{{ proto int HttpRequestPool::key() - * - * Implements Iterator::key(). - */ + Implements Iterator::key(). */ PHP_METHOD(HttpRequestPool, key) { NO_ARGS; @@ -444,9 +335,7 @@ PHP_METHOD(HttpRequestPool, key) /* }}} */ /* {{{ proto void HttpRequestPool::next() - * - * Implements Iterator::next(). - */ + Implements Iterator::next(). */ PHP_METHOD(HttpRequestPool, next) { NO_ARGS { @@ -457,9 +346,7 @@ PHP_METHOD(HttpRequestPool, next) /* }}} */ /* {{{ proto void HttpRequestPool::rewind() - * - * Implements Iterator::rewind(). - */ + Implements Iterator::rewind(). */ PHP_METHOD(HttpRequestPool, rewind) { NO_ARGS { @@ -470,11 +357,7 @@ PHP_METHOD(HttpRequestPool, rewind) /* }}} */ /* {{{ proto int HttpRequestPool::count() - * - * Implements Countable. - * - * Returns the number of attached HttpRequest objects. - */ + Implements Countable::count(). */ PHP_METHOD(HttpRequestPool, count) { NO_ARGS { @@ -485,11 +368,7 @@ PHP_METHOD(HttpRequestPool, count) /* }}} */ /* {{{ proto array HttpRequestPool::getAttachedRequests() - * - * Get attached HttpRequest objects. - * - * Returns an array containing all currently attached HttpRequest objects. - */ + Get attached HttpRequest objects. */ PHP_METHOD(HttpRequestPool, getAttachedRequests) { getObject(http_requestpool_object, obj); @@ -504,12 +383,7 @@ PHP_METHOD(HttpRequestPool, getAttachedRequests) /* }}} */ /* {{{ proto array HttpRequestPool::getFinishedRequests() - * - * Get attached HttpRequest objects that already have finished their work. - * - * Returns an array containing all attached HttpRequest objects that - * already have finished their work. - */ + Get attached HttpRequest objects that already have finished their work. */ PHP_METHOD(HttpRequestPool, getFinishedRequests) { getObject(http_requestpool_object, obj); @@ -524,11 +398,7 @@ PHP_METHOD(HttpRequestPool, getFinishedRequests) /* }}} */ /* {{{ proto bool HttpRequest::enablePiplelinig([bool enable = true]) - * - * Enables pipelining support for all attached requests if support in libcurl is given. - * - * Returns TRUE on success, or FALSE on failure. - */ + Enables pipelining support for all attached requests if support in libcurl is given. */ PHP_METHOD(HttpRequestPool, enablePipelining) { zend_bool enable = 1;