35 lines
1.3 KiB
C
35 lines
1.3 KiB
C
/****************************************************************
|
|
* *
|
|
* Copyright 2001, 2003 Sanchez Computer Associates, Inc. *
|
|
* *
|
|
* This source code contains the intellectual property *
|
|
* of its copyright holder(s), and is made available *
|
|
* under a license. If you do not know the terms of *
|
|
* the license, please stop and do not read further. *
|
|
* *
|
|
****************************************************************/
|
|
|
|
#ifndef GTMSOURCE_HEARTBEAT_H
|
|
#define GTMSOURCE_HEARTBEAT_H
|
|
|
|
#define gtmsource_stall_heartbeat heartbeat_stalled = TRUE;
|
|
#define gtmsource_restart_heartbeat heartbeat_stalled = FALSE;
|
|
#define gtmsource_is_heartbeat_stalled (heartbeat_stalled)
|
|
#ifndef REPL_DISABLE_HEARTBEAT
|
|
#define gtmsource_is_heartbeat_due(now) \
|
|
(0 != last_sent_time \
|
|
&& difftime(*(now), last_sent_time) >= (double)jnlpool.gtmsource_local->connect_parms[GTMSOURCE_CONN_HEARTBEAT_PERIOD])
|
|
#else
|
|
#define gtmsource_is_heartbeat_due(now) FALSE
|
|
#endif
|
|
|
|
GBLREF boolean_t heartbeat_stalled;
|
|
GBLREF repl_heartbeat_que_entry_t *repl_heartbeat_que_head;
|
|
GBLREF repl_heartbeat_que_entry_t *repl_heartbeat_free_head;
|
|
GBLREF time_t last_sent_time;
|
|
GBLREF time_t earliest_sent_time;
|
|
|
|
void gtmsource_heartbeat_timer(TID tid, int4 interval_len, int *interval_ptr);
|
|
|
|
#endif /* GTMSOURCE_HEARTBEAT_H */
|