X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=http_requestpool_object.c;h=b255e25ee2b58f83c3d9fbf6f72a7f62bcd3b636;hp=e01e26d21db5f8066a0119572b48c69fd3628664;hb=a2a03258160b8dea5525a82c3251e0cbff4a3132;hpb=b46d0197c4402e76c2608ba972e1d05db22a321a diff --git a/http_requestpool_object.c b/http_requestpool_object.c index e01e26d..b255e25 100644 --- a/http_requestpool_object.c +++ b/http_requestpool_object.c @@ -58,9 +58,8 @@ HTTP_BEGIN_ARGS(detach, 1) HTTP_END_ARGS; HTTP_EMPTY_ARGS(send, 0); -HTTP_EMPTY_ARGS(socketSend, 0); +HTTP_EMPTY_ARGS(socketPerform, 0); HTTP_EMPTY_ARGS(socketSelect, 0); -HTTP_EMPTY_ARGS(socketRead, 0); HTTP_EMPTY_ARGS(valid, 0); HTTP_EMPTY_ARGS(current, 1); @@ -80,9 +79,8 @@ zend_function_entry http_requestpool_object_fe[] = { HTTP_REQPOOL_ME(send, ZEND_ACC_PUBLIC) HTTP_REQPOOL_ME(reset, ZEND_ACC_PUBLIC) - HTTP_REQPOOL_ME(socketSend, ZEND_ACC_PROTECTED) + HTTP_REQPOOL_ME(socketPerform, ZEND_ACC_PROTECTED) HTTP_REQPOOL_ME(socketSelect, ZEND_ACC_PROTECTED) - HTTP_REQPOOL_ME(socketRead, ZEND_ACC_PROTECTED) /* implements Interator */ HTTP_REQPOOL_ME(valid, ZEND_ACC_PUBLIC) @@ -279,29 +277,33 @@ PHP_METHOD(HttpRequestPool, send) * Usage: *
  * socketSend()) {
+ *     while ($pool->socketPerform()) {
  *         do_something_else();
  *         if (!$pool->socketSelect()) {
  *             die('Socket error');
  *         }
  *     }
- *     $pool->socketRead();
  * ?>
  * 
*/ -PHP_METHOD(HttpRequestPool, socketSend) +PHP_METHOD(HttpRequestPool, socketPerform) { getObject(http_requestpool_object, obj); NO_ARGS; - RETURN_BOOL(0 < http_request_pool_perform(&obj->pool)); + if (0 < http_request_pool_perform(&obj->pool)) { + RETURN_TRUE; + } else { + zend_llist_apply(&obj->pool.handles, (llist_apply_func_t) http_request_pool_responsehandler TSRMLS_CC); + RETURN_FALSE; + } } /* }}} */ /* {{{ proto protected bool HttpRequestPool::socketSelect() * - * See HttpRequestPool::socketSend(). + * See HttpRequestPool::socketPerform(). */ PHP_METHOD(HttpRequestPool, socketSelect) { @@ -313,20 +315,6 @@ PHP_METHOD(HttpRequestPool, socketSelect) } /* }}} */ -/* {{{ proto protected void HttpRequestPool::socketRead() - * - * See HttpRequestPool::socketSend(). - */ -PHP_METHOD(HttpRequestPool, socketRead) -{ - getObject(http_requestpool_object, obj); - - NO_ARGS; - - zend_llist_apply(&obj->pool.handles, (llist_apply_func_t) http_request_pool_responsehandler TSRMLS_CC); -} -/* }}} */ - /* implements Iterator */ /* {{{ proto bool HttpRequestPool::valid()