Mercurial > dovecot > core-2.2
changeset 16566:cf9024b01720
lib-http: Minor code cleanup.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Thu, 27 Jun 2013 20:24:45 +0300 |
parents | af23c7a899a9 |
children | 975fdf5a6987 |
files | src/lib-http/http-client-connection.c src/lib-http/http-client-peer.c src/lib-http/http-client-private.h |
diffstat | 3 files changed, 13 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-http/http-client-connection.c Thu Jun 27 18:04:04 2013 +0300 +++ b/src/lib-http/http-client-connection.c Thu Jun 27 20:24:45 2013 +0300 @@ -44,15 +44,22 @@ static void http_client_connection_input(struct connection *_conn); -bool http_client_connection_is_ready(struct http_client_connection *conn) +unsigned int +http_client_connection_count_pending(struct http_client_connection *conn) { unsigned int pending_count = array_count(&conn->request_wait_list); if (conn->pending_request != NULL) pending_count++; + return pending_count; +} + +bool http_client_connection_is_ready(struct http_client_connection *conn) +{ return (conn->connected && !conn->output_locked && !conn->close_indicated && - pending_count < conn->client->set.max_pipelined_requests); + http_client_connection_count_pending(conn) < + conn->client->set.max_pipelined_requests); } bool http_client_connection_is_idle(struct http_client_connection *conn)
--- a/src/lib-http/http-client-peer.c Thu Jun 27 18:04:04 2013 +0300 +++ b/src/lib-http/http-client-peer.c Thu Jun 27 20:24:45 2013 +0300 @@ -106,9 +106,8 @@ /* find the least busy connection */ array_foreach(&peer->conns, conn_idx) { if (http_client_connection_is_ready(*conn_idx)) { - unsigned int waiting = array_count(&(*conn_idx)->request_wait_list); - if ((*conn_idx)->pending_request != NULL) - waiting++; + unsigned int waiting = http_client_connection_count_pending(*conn_idx); + if (waiting < min_waiting) { min_waiting = waiting; conn = *conn_idx;
--- a/src/lib-http/http-client-private.h Thu Jun 27 18:04:04 2013 +0300 +++ b/src/lib-http/http-client-private.h Thu Jun 27 20:24:45 2013 +0300 @@ -218,6 +218,8 @@ http_client_connection_create(struct http_client_peer *peer); void http_client_connection_ref(struct http_client_connection *conn); void http_client_connection_unref(struct http_client_connection **_conn); +unsigned int +http_client_connection_count_pending(struct http_client_connection *conn); bool http_client_connection_is_ready(struct http_client_connection *conn); bool http_client_connection_is_idle(struct http_client_connection *conn); bool http_client_connection_next_request(struct http_client_connection *conn);