MINOR: server: make use of srv_is_usable() instead of checking eweight

srv_is_usable() is broader than srv_is_usable() as it not only considers
the weight but the server's state as well. Future changes will allow a
server to be in drain mode with a non-zero weight, so we should migrate
to use that function instead.
diff --git a/src/lb_map.c b/src/lb_map.c
index df7af7f..be61b77 100644
--- a/src/lb_map.c
+++ b/src/lb_map.c
@@ -99,9 +99,8 @@
 		int max = 0;
 		best = NULL;
 		for (cur = px->srv; cur; cur = cur->next) {
-			if (cur->eweight &&
-			    (cur->flags & SRV_F_BACKUP) == flag &&
-			    (cur->state == SRV_ST_STARTING || cur->state == SRV_ST_RUNNING)) {
+			if ((cur->flags & SRV_F_BACKUP) == flag &&
+			    srv_is_usable(cur)) {
 				int v;
 
 				/* If we are forced to return only one server, we don't want to
diff --git a/src/queue.c b/src/queue.c
index 8b4d9ed..74fa659 100644
--- a/src/queue.c
+++ b/src/queue.c
@@ -204,7 +204,7 @@
 {
 	int xferred;
 
-	if (!s->eweight)
+	if (!srv_is_usable(s))
 		return 0;
 
 	for (xferred = 0; !s->maxconn || xferred < srv_dynamic_maxconn(s); xferred++) {
diff --git a/src/server.c b/src/server.c
index 98ac2cd..857c8aa 100644
--- a/src/server.c
+++ b/src/server.c
@@ -637,7 +637,7 @@
 	/* now propagate the status change to any LB algorithms */
 	if (px->lbprm.update_server_eweight)
 		px->lbprm.update_server_eweight(sv);
-	else if (sv->eweight) {
+	else if (srv_is_usable(sv)) {
 		if (px->lbprm.set_server_status_up)
 			px->lbprm.set_server_status_up(sv);
 	}