diff options
author | Frederic Robra | 2019-08-13 15:13:04 +0200 |
---|---|---|
committer | Frederic Robra | 2019-08-13 15:13:04 +0200 |
commit | 3dcda423a8c3bfeacdb11cf164a717ce7ca78572 (patch) | |
tree | 1e87d6703df443352f80747c9fff77727f73641a /src/kernel/dnbd3.h | |
parent | added todos (diff) | |
download | dnbd3-ng-3dcda423a8c3bfeacdb11cf164a717ce7ca78572.tar.gz dnbd3-ng-3dcda423a8c3bfeacdb11cf164a717ce7ca78572.tar.xz dnbd3-ng-3dcda423a8c3bfeacdb11cf164a717ce7ca78572.zip |
changed strategy to connect to diffrent sockets
Diffstat (limited to 'src/kernel/dnbd3.h')
-rw-r--r-- | src/kernel/dnbd3.h | 13 |
1 files changed, 12 insertions, 1 deletions
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; /** |