#define DEFAULT_SCOREBOARD "logs/apache_runtime_status"
#endif
+/* for proxy_worker_stat */
+#include "../modules/proxy/mod_proxy.h"
+
/* Scoreboard info on a process is, for now, kept very brief ---
* just status value and pid (the latter so that the caretaker process
* can properly update the scoreboard when a process dies). We may want
};
/* stuff which is lb specific */
-typedef struct lb_score lb_score;
-struct lb_score {
- /* TODO: sync this with proxy_worker_stat */
- unsigned char data[256];
-};
+typedef proxy_worker_stat lb_score;
/* Scoreboard is now in 'local' memory, since it isn't updated once created,
* even in forked architectures. Child created-processes (non-fork) will
#define MAX(x,y) ((x) >= (y) ? (x) : (y))
#endif
+/* Global balancer counter */
+extern int PROXY_DECLARE_DATA proxy_lb_workers;
+static int lb_workers_limit = 0;
+
+/**
+ * Calculate number of maximum number of workers in scoreboard.
+ * @return number of workers to allocate in the scoreboard
+ */
+static int ap_proxy_lb_workers(void)
+{
+ /*
+ * Since we can't resize the scoreboard when reconfiguring, we
+ * have to impose a limit on the number of workers, we are
+ * able to reconfigure to.
+ */
+ if (!lb_workers_limit)
+ lb_workers_limit = proxy_lb_workers + PROXY_DYNAMIC_BALANCER_LIMIT;
+ return lb_workers_limit;
+}
+
+
/*
* A Web proxy module. Stages:
*
* If this limit is reached you must stop and restart the server.
*/
#define PROXY_DYNAMIC_BALANCER_LIMIT 16
-/**
- * Calculate number of maximum number of workers in scoreboard.
- * @return number of workers to allocate in the scoreboard
- */
-int ap_proxy_lb_workers(void);
/* For proxy_util */
extern module PROXY_DECLARE_DATA proxy_module;
-extern int PROXY_DECLARE_DATA proxy_lb_workers;
-
#endif /*MOD_PROXY_H*/
/** @} */
/* Global balancer counter */
int PROXY_DECLARE_DATA proxy_lb_workers = 0;
-static int lb_workers_limit = 0;
static int proxy_match_ipaddr(struct dirconn_entry *This, request_rec *r);
static int proxy_match_domainname(struct dirconn_entry *This, request_rec *r);
return OK;
}
-int ap_proxy_lb_workers(void)
-{
- /*
- * Since we can't resize the scoreboard when reconfiguring, we
- * have to impose a limit on the number of workers, we are
- * able to reconfigure to.
- */
- if (!lb_workers_limit)
- lb_workers_limit = proxy_lb_workers + PROXY_DYNAMIC_BALANCER_LIMIT;
- return lb_workers_limit;
-}
-
PROXY_DECLARE(void) ap_proxy_backend_broke(request_rec *r,
apr_bucket_brigade *brigade)
{