diff options
Diffstat (limited to 'inc/dnbd3/config/client.h')
-rw-r--r-- | inc/dnbd3/config/client.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/inc/dnbd3/config/client.h b/inc/dnbd3/config/client.h new file mode 100644 index 0000000..55cf8b3 --- /dev/null +++ b/inc/dnbd3/config/client.h @@ -0,0 +1,52 @@ +#ifndef _CLIENTCONFIG_H_ +#define _CLIENTCONFIG_H_ + +// Which is the minimum protocol version the client expects from the server +#define MIN_SUPPORTED_SERVER 2 + +// Send keepalive every X seconds +#define KEEPALIVE_INTERVAL 10 + +// in seconds if not stated otherwise +#define SOCKET_TIMEOUT_SEND 2 + +// Socker receive timeout. Must be higher than keepalive interval, otherwise +// the connection might be aborted when idle +#define SOCKET_TIMEOUT_RECV 13 + +// During discovery, we use very short minimum timeouts (unless in panic mode) +#define SOCKET_TIMEOUT_DISCOVERY 1 + +// IO timeout for block layer +#define BLOCK_LAYER_TIMEOUT 10 + +#define RTT_THRESHOLD_FACTOR(us) (((us) * 3) / 4) // 3/4 = current to best must be 25% worse +#define RTT_ABSOLUTE_THRESHOLD (80000) // Or 80ms worse +#define RTT_UNREACHABLE 0x7FFFFFFul // Use this value for timeout/unreachable as RTT. Don't set too high or you might get overflows. 0x7FFFFFF = 134 seconds +// This must be a power of two: +#define RTT_BLOCK_SIZE 4096 + +// Interval of several repeating tasks (in seconds) +#define TIMER_INTERVAL_PROBE_STARTUP 2 +#define TIMER_INTERVAL_PROBE_SWITCH 10 +#define TIMER_INTERVAL_PROBE_PANIC 2 +#define TIMER_INTERVAL_PROBE_MAX 45 +// How many discover runs after setting up a device should be considered the startup phase +// during that phase, check all servers, before we start doing it selectively +// and also don't increase the discover interval during this period +#define DISCOVER_STARTUP_PHASE_COUNT 6 +// How many servers should be tested at maximum after above +#define DISCOVER_REDUCED_SERVER_COUNT 3 +// Number of RTT probes to keep in history and average the value over +#define DISCOVER_HISTORY_SIZE 4 + +// Number of unsuccessful alt_server probes before read errors are reported to the block layer +// (ALL servers will be probed this many times) +// Set to 0 to disable +#define PROBE_COUNT_TIMEOUT 0 + +// ++ Kernel module ++ +#define DEFAULT_READ_AHEAD_KB 512 +#define NUMBER_DEVICES 8 + +#endif |