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);