X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=utcp_priv.h;h=7d2d07396c7c6b097d39ea39bd23dfca98f43be1;hb=bbd35b9f705bc7684cf469d87248c8fb3f7c85c7;hp=fa706bcf84bcad5eed5e825bf3c7bc671cd51542;hpb=7d9236c1836ac3fd9ca137ed79b4261038ab5327;p=utcp diff --git a/utcp_priv.h b/utcp_priv.h index fa706bc..7d2d073 100644 --- a/utcp_priv.h +++ b/utcp_priv.h @@ -30,6 +30,11 @@ #define FIN 4 #define RST 8 +#define AUX_INIT 1 +#define AUX_FRAME 2 +#define AUX_SAK 3 +#define AUX_TIMESTAMP 4 + #define NSACKS 4 #define DEFAULT_SNDBUFSIZE 4096 #define DEFAULT_MAXSNDBUFSIZE 131072 @@ -84,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; @@ -120,11 +126,11 @@ struct utcp_connection { uint32_t last; uint32_t cwnd; + uint32_t ssthresh; } snd; struct { uint32_t nxt; - uint32_t wnd; uint32_t irs; } rcv; @@ -147,6 +153,7 @@ struct utcp_connection { bool nodelay; bool keepalive; + bool shut_wr; // Congestion avoidance state @@ -163,9 +170,14 @@ struct utcp { utcp_pre_accept_t pre_accept; utcp_send_t send; + // Packet buffer + + void *pkt; + // Global socket options - uint16_t mtu; + uint16_t mtu; // The maximum size of a UTCP packet, including headers. + uint16_t mss; // The maximum size of the payload of a UTCP packet. int timeout; // sec // RTT variables