heartbeat.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /* Licensed to the Apache Software Foundation (ASF) under one or more
  2. * contributor license agreements. See the NOTICE file distributed with
  3. * this work for additional information regarding copyright ownership.
  4. * The ASF licenses this file to You under the Apache License, Version 2.0
  5. * (the "License"); you may not use this file except in compliance with
  6. * the License. You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. /**
  17. * @file heartbeat.h
  18. * @brief commun structures for mod_heartmonitor.c and mod_lbmethod_heartbeat.c
  19. *
  20. * @defgroup HEARTBEAT heartbeat
  21. * @ingroup APACHE_MODS
  22. * @{
  23. */
  24. #ifndef HEARTBEAT_H
  25. #define HEARTBEAT_H
  26. #include "apr.h"
  27. #include "apr_time.h"
  28. #ifdef __cplusplus
  29. extern "C" {
  30. #endif
  31. /*
  32. * Worse Case: IPv4-Mapped IPv6 Address
  33. * 0000:0000:0000:0000:0000:FFFF:255.255.255.255
  34. */
  35. #define MAXIPSIZE 46
  36. typedef struct hm_slot_server_t
  37. {
  38. char ip[MAXIPSIZE];
  39. int busy;
  40. int ready;
  41. apr_time_t seen;
  42. int id;
  43. } hm_slot_server_t;
  44. /* default name of heartbeat data file, created in the configured
  45. * runtime directory when mod_slotmem_shm is not available
  46. */
  47. #define DEFAULT_HEARTBEAT_STORAGE "hb.dat"
  48. #ifdef __cplusplus
  49. }
  50. #endif
  51. #endif /* HEARTBEAT_H */
  52. /** @} */