X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=utcp_priv.h;h=1cf9e8743da561020be4165e533b553778798639;hb=723d8c8b2d96834135f00c0ac4147282e1f0cc2c;hp=de942a8968ae61ef27592126244ad935dcfe5475;hpb=1cd490633b3975e51163a96eadfa9b7490dc93a0;p=utcp diff --git a/utcp_priv.h b/utcp_priv.h index de942a8..1cf9e87 100644 --- a/utcp_priv.h +++ b/utcp_priv.h @@ -43,11 +43,11 @@ #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 +static const long USEC_PER_SEC = 1000000; +static const long NSEC_PER_SEC = 1000000000; +static const int DEFAULT_USER_TIMEOUT = 60; // sec +static const long START_RTO = 1 * USEC_PER_SEC; // usec +static const long MAX_RTO = 3 * USEC_PER_SEC; // usec struct hdr { uint16_t src; // Source port @@ -89,6 +89,7 @@ static const char *strstate[] __attribute__((unused)) = { struct buffer { char *data; + uint32_t offset; uint32_t used; uint32_t size; uint32_t maxsize; @@ -137,9 +138,9 @@ 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 @@ -156,7 +157,7 @@ struct utcp_connection { // Congestion avoidance state - struct timeval tlast; + struct timespec tlast; uint64_t bandwidth; }; @@ -169,6 +170,10 @@ struct utcp { utcp_pre_accept_t pre_accept; utcp_send_t send; + // Packet buffer + + void *pkt; + // Global socket options uint16_t mtu; // The maximum size of a UTCP packet, including headers.