]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-http: Minor code cleanup.
authorTimo Sirainen <tss@iki.fi>
Thu, 27 Jun 2013 17:24:45 +0000 (20:24 +0300)
committerTimo Sirainen <tss@iki.fi>
Thu, 27 Jun 2013 17:24:45 +0000 (20:24 +0300)
src/lib-http/http-client-connection.c
src/lib-http/http-client-peer.c
src/lib-http/http-client-private.h

index 2fe26592541cdea2a0de6aaeed4482e4cf6b57bd..a341559322f1e6197419a5df512f8c1f80d8411e 100644 (file)
@@ -44,15 +44,22 @@ http_client_connection_debug(struct http_client_connection *conn,
 
 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)
index 1ce5839815720bea9596e74b2f34f5ea7db00762..8d33bee9701fe3e7de9b5e364fbb87eb3259eddd 100644 (file)
@@ -106,9 +106,8 @@ http_client_peer_next_request(struct http_client_peer *peer)
        /* 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;
index beab561b4cd3bc8ec7653577f94b96531930dc03..4d9f6f9f3f7e361e17030cf1af4b5235be3fd89e 100644 (file)
@@ -218,6 +218,8 @@ struct http_client_connection *
        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);