diff options
-rw-r--r-- | include/heartbeat.h | 51 | ||||
-rw-r--r-- | modules/cluster/mod_heartmonitor.c | 12 | ||||
-rw-r--r-- | modules/proxy/balancers/mod_lbmethod_heartbeat.c | 11 |
3 files changed, 53 insertions, 21 deletions
diff --git a/include/heartbeat.h b/include/heartbeat.h new file mode 100644 index 0000000000..8d897bb767 --- /dev/null +++ b/include/heartbeat.h @@ -0,0 +1,51 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef HEARTBEAT_H +#define HEARTBEAT_H + +/** + * @file heartbeat.h + * @brief commun structures for mod_heartmonitor.c and mod_lbmethod_heartbeat.c + * + * @defgroup HEARTBEAT mem + * @ingroup APACHE_MODS + * @{ + */ + +#include "apr.h" +#include "apr_time.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MAXIPSIZE 64 +typedef struct hm_slot_server_t +{ + char ip[MAXIPSIZE]; + int busy; + int ready; + apr_time_t seen; + int id; +} hm_slot_server_t; + +#ifdef __cplusplus +} +#endif + +#endif +/** @} */ diff --git a/modules/cluster/mod_heartmonitor.c b/modules/cluster/mod_heartmonitor.c index 0b42baa33d..41137bf085 100644 --- a/modules/cluster/mod_heartmonitor.c +++ b/modules/cluster/mod_heartmonitor.c @@ -26,6 +26,7 @@ #include "scoreboard.h" #include "mod_watchdog.h" #include "ap_slotmem.h" +#include "heartbeat.h" #ifndef HM_UPDATE_SEC @@ -36,8 +37,6 @@ #define HM_WATHCHDOG_NAME ("_heartmonitor_") -#define MAXIPSIZE 64 - const ap_slotmem_provider_t *storage = NULL; static ap_slotmem_instance_t *slotmem = NULL; static int maxworkers = 0; @@ -52,15 +51,6 @@ typedef struct hm_server_t apr_time_t seen; } hm_server_t; -typedef struct hm_slot_server_t -{ - char ip[MAXIPSIZE]; - int busy; - int ready; - apr_time_t seen; - int id; -} hm_slot_server_t; - typedef struct hm_ctx_t { int active; diff --git a/modules/proxy/balancers/mod_lbmethod_heartbeat.c b/modules/proxy/balancers/mod_lbmethod_heartbeat.c index a04e5aaa71..dd2fbf8a5b 100644 --- a/modules/proxy/balancers/mod_lbmethod_heartbeat.c +++ b/modules/proxy/balancers/mod_lbmethod_heartbeat.c @@ -20,6 +20,7 @@ #include "apr_version.h" #include "apr_hooks.h" #include "ap_slotmem.h" +#include "heartbeat.h" #ifndef LBM_HEARTBEAT_MAX_LASTSEEN /* If we haven't seen a heartbeat in the last N seconds, don't count this IP @@ -51,16 +52,6 @@ typedef struct hb_server_t { proxy_worker *worker; } hb_server_t; -#define MAXIPSIZE 64 -typedef struct hm_slot_server_t -{ - char ip[MAXIPSIZE]; - int busy; - int ready; - apr_time_t seen; - int id; -} hm_slot_server_t; - static void argstr_to_table(apr_pool_t *p, char *str, apr_table_t *parms) { |