From 3dcda423a8c3bfeacdb11cf164a717ce7ca78572 Mon Sep 17 00:00:00 2001 From: Frederic Robra Date: Tue, 13 Aug 2019 15:13:04 +0200 Subject: changed strategy to connect to diffrent sockets --- src/kernel/dnbd3.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/kernel/dnbd3.h') diff --git a/src/kernel/dnbd3.h b/src/kernel/dnbd3.h index 2c3ec39..8fabc35 100644 --- a/src/kernel/dnbd3.h +++ b/src/kernel/dnbd3.h @@ -39,6 +39,9 @@ + +#define RTT_FACTOR(rtt) (((rtt) * 3) / 2) + /** * limit to which the other connected servers are only allowed to be that worser * then the best rtt @@ -72,6 +75,7 @@ extern struct workqueue_struct *dnbd3_wq; struct dnbd3_server { dnbd3_host_t host; uint64_t rtts[4]; + uint64_t avg_rtt; uint16_t protocol_version; uint16_t failures; // TODO failures runterzaehlen wenn wieder verbindung moeglich, seltener messen bei hohem failure count @@ -208,7 +212,14 @@ struct dnbd3_cmd { #define dnbd3_set_rtt_unreachable(server) \ (server)->rtts[0] = (server)->rtts[1] = (server)->rtts[2] \ - = (server)->rtts[3] = RTT_UNREACHABLE; + = (server)->rtts[3] = (server)->avg_rtt = \ + RTT_UNREACHABLE; + + +#define dnbd3_set_rtt_unknown(server) \ + (server)->rtts[0] = (server)->rtts[1] = (server)->rtts[2] \ + = (server)->rtts[3] = (server)->avg_rtt = \ + RTT_UNREACHABLE / 2; /** -- cgit v1.2.3-55-g7522