X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=utcp_priv.h;h=5672f06847bac45d3af4b0369730fe5ea8d3c032;hb=9470c449236afef22210803b359fe44d74e32636;hp=7d2d07396c7c6b097d39ea39bd23dfca98f43be1;hpb=bbd35b9f705bc7684cf469d87248c8fb3f7c85c7;p=utcp diff --git a/utcp_priv.h b/utcp_priv.h index 7d2d073..5672f06 100644 --- a/utcp_priv.h +++ b/utcp_priv.h @@ -29,6 +29,7 @@ #define ACK 2 #define FIN 4 #define RST 8 +#define MF 16 #define AUX_INIT 1 #define AUX_FRAME 2 @@ -41,13 +42,14 @@ #define DEFAULT_RCVBUFSIZE 0 #define DEFAULT_MAXRCVBUFSIZE 131072 +#define MAX_UNRELIABLE_SIZE 65536 #define DEFAULT_MTU 1000 -#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 +#define USEC_PER_SEC 1000000L +#define NSEC_PER_SEC 1000000000L +#define DEFAULT_USER_TIMEOUT 60 +#define START_RTO (1 * USEC_PER_SEC) +#define MAX_RTO (3 * USEC_PER_SEC) struct hdr { uint16_t src; // Source port @@ -106,6 +108,7 @@ struct utcp_connection { uint32_t flags; bool reapable; + bool do_poll; // Callbacks @@ -138,13 +141,14 @@ struct utcp_connection { // Timers - struct timeval conn_timeout; - struct timeval rtrx_timeout; - struct timeval rtt_start; + struct timespec conn_timeout; + struct timespec rtrx_timeout; + struct timespec rtt_start; uint32_t rtt_seq; // Buffers + uint32_t prev_free; struct buffer sndbuf; struct buffer rcvbuf; struct sack sacks[NSACKS]; @@ -157,7 +161,7 @@ struct utcp_connection { // Congestion avoidance state - struct timeval tlast; + struct timespec tlast; uint64_t bandwidth; };