projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added graph dumping ability based on Markus Goetz's patch.
[tinc]
/
src
/
net.c
diff --git
a/src/net.c
b/src/net.c
index
055d08b
..
81a0d89
100644
(file)
--- a/
src/net.c
+++ b/
src/net.c
@@
-1,7
+1,7
@@
/*
net.c -- most of the network code
/*
net.c -- most of the network code
- Copyright (C) 1998-2005 Ivo Timmermans
<ivo@tinc-vpn.org>
,
- 2000-200
5
Guus Sliepen <guus@tinc-vpn.org>
+ Copyright (C) 1998-2005 Ivo Timmermans,
+ 2000-200
6
Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@
-241,7
+241,7
@@
static void check_dead_connections(void)
if(c->last_ping_time + pingtimeout < now) {
if(c->status.active) {
if(c->status.pinged) {
if(c->last_ping_time + pingtimeout < now) {
if(c->status.active) {
if(c->status.pinged) {
- ifdebug(CONNECTIONS) logger(LOG_INFO, _("%s (%s) didn't respond to PING in %d seconds"),
+ ifdebug(CONNECTIONS) logger(LOG_INFO, _("%s (%s) didn't respond to PING in %
l
d seconds"),
c->name, c->hostname, now - c->last_ping_time);
c->status.timeout = true;
terminate_connection(c, true);
c->name, c->hostname, now - c->last_ping_time);
c->status.timeout = true;
terminate_connection(c, true);
@@
-251,7
+251,7
@@
static void check_dead_connections(void)
} else {
if(c->status.remove) {
logger(LOG_WARNING, _("Old connection_t for %s (%s) status %04x still lingering, deleting..."),
} else {
if(c->status.remove) {
logger(LOG_WARNING, _("Old connection_t for %s (%s) status %04x still lingering, deleting..."),
- c->name, c->hostname,
*(uint32_t *)&c->status
);
+ c->name, c->hostname,
c->status.value
);
connection_del(c);
continue;
}
connection_del(c);
continue;
}
@@
-270,7
+270,7
@@
static void check_dead_connections(void)
if(c->outbuflen > 0 && c->last_flushed_time + pingtimeout < now) {
if(c->status.active) {
ifdebug(CONNECTIONS) logger(LOG_INFO,
if(c->outbuflen > 0 && c->last_flushed_time + pingtimeout < now) {
if(c->status.active) {
ifdebug(CONNECTIONS) logger(LOG_INFO,
- _("%s (%s) could not flush for %d seconds (%d bytes remaining)"),
+ _("%s (%s) could not flush for %
l
d seconds (%d bytes remaining)"),
c->name, c->hostname, now - c->last_flushed_time, c->outbuflen);
c->status.timeout = true;
terminate_connection(c, true);
c->name, c->hostname, now - c->last_flushed_time, c->outbuflen);
c->status.timeout = true;
terminate_connection(c, true);
@@
-354,13
+354,15
@@
int main_loop(void)
fd_set readset, writeset;
struct timeval tv;
int r, maxfd;
fd_set readset, writeset;
struct timeval tv;
int r, maxfd;
- time_t last_ping_check, last_config_check;
+ time_t last_ping_check, last_config_check
, last_graph_dump
;
event_t *event;
cp();
last_ping_check = now;
last_config_check = now;
event_t *event;
cp();
last_ping_check = now;
last_config_check = now;
+ last_graph_dump = now;
+
srand(now);
running = true;
srand(now);
running = true;
@@
-478,6
+480,13
@@
int main_loop(void)
try_outgoing_connections();
}
try_outgoing_connections();
}
+
+ /* Dump graph if wanted every 60 seconds*/
+
+ if(last_graph_dump + 60 < now) {
+ dump_graph();
+ last_graph_dump = now;
+ }
}
return 0;
}
return 0;