X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=utcp_priv.h;h=fa706bcf84bcad5eed5e825bf3c7bc671cd51542;hb=b2e5de6b537188f77e1889853f6ba919bf35c77c;hp=3a119f16cf60a878e327e0b9ebe49efe3aff2f62;hpb=1c136554d0e3c3fb89106c349e7613869d63ca2c;p=utcp diff --git a/utcp_priv.h b/utcp_priv.h index 3a119f1..fa706bc 100644 --- a/utcp_priv.h +++ b/utcp_priv.h @@ -38,7 +38,11 @@ #define DEFAULT_MTU 1000 -#define DEFAULT_USER_TIMEOUT 60 // s +#define USEC_PER_SEC 1000000 +#define DEFAULT_USER_TIMEOUT 60 // sec +#define CLOCK_GRANULARITY 1000 // usec +#define START_RTO 1000000 // usec +#define MAX_RTO 3000000 // usec struct hdr { uint16_t src; // Source port @@ -93,6 +97,7 @@ struct sack { struct utcp_connection { void *priv; struct utcp *utcp; + uint32_t flags; bool reapable; @@ -129,6 +134,8 @@ struct utcp_connection { struct timeval conn_timeout; struct timeval rtrx_timeout; + struct timeval rtt_start; + uint32_t rtt_seq; // Buffers @@ -159,7 +166,13 @@ struct utcp { // Global socket options uint16_t mtu; - int timeout; + int timeout; // sec + + // RTT variables + + uint32_t srtt; // usec + uint32_t rttvar; // usec + uint32_t rto; // usec // Connection management