summaryrefslogtreecommitdiff
path: root/modules/proxy/mod_proxy.h
diff options
context:
space:
mode:
Diffstat (limited to 'modules/proxy/mod_proxy.h')
-rw-r--r--modules/proxy/mod_proxy.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/modules/proxy/mod_proxy.h b/modules/proxy/mod_proxy.h
index 0bce5065..5074aa16 100644
--- a/modules/proxy/mod_proxy.h
+++ b/modules/proxy/mod_proxy.h
@@ -178,6 +178,7 @@ typedef struct {
unsigned int proxy_status_set:1;
unsigned int source_address_set:1;
unsigned int bgrowth_set:1;
+ unsigned int bal_persist:1;
} proxy_server_conf;
@@ -425,6 +426,7 @@ typedef struct {
unsigned int vhosted:1;
unsigned int inactive:1;
unsigned int forcerecovery:1;
+ char sticky_separator; /* separator for sessionid/route */
} proxy_balancer_shared;
#define ALIGNED_PROXY_BALANCER_SHARED_SIZE (APR_ALIGN_DEFAULT(sizeof(proxy_balancer_shared)))
@@ -702,6 +704,32 @@ PROXY_DECLARE(apr_status_t) ap_proxy_initialize_balancer(proxy_balancer *balance
apr_pool_t *p);
/**
+ * Find the shm of the worker as needed
+ * @param storage slotmem provider
+ * @param slot slotmem instance
+ * @param worker worker to find
+ * @param index pointer to index within slotmem of worker
+ * @return pointer to shm of worker, or NULL
+ */
+PROXY_DECLARE(proxy_worker_shared *) ap_proxy_find_workershm(ap_slotmem_provider_t *storage,
+ ap_slotmem_instance_t *slot,
+ proxy_worker *worker,
+ unsigned int *index);
+
+/**
+ * Find the shm of the balancer as needed
+ * @param storage slotmem provider
+ * @param slot slotmem instance
+ * @param worker worker to find
+ * @param index pointer to index within slotmem of balancer
+ * @return pointer to shm of balancer, or NULL
+ */
+PROXY_DECLARE(proxy_balancer_shared *) ap_proxy_find_balancershm(ap_slotmem_provider_t *storage,
+ ap_slotmem_instance_t *slot,
+ proxy_balancer *balancer,
+ unsigned int *index);
+
+/**
* Get the most suitable worker and/or balancer for the request
* @param worker worker used for processing request
* @param balancer balancer used for processing request