--- /dev/null
+/* 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
+/** @} */
#include "scoreboard.h"
#include "mod_watchdog.h"
#include "ap_slotmem.h"
+#include "heartbeat.h"
#ifndef HM_UPDATE_SEC
#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;
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;
#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
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)
{