]> git.meshlink.io Git - utcp/blobdiff - utcp_priv.h
Add UDP semantics.
[utcp] / utcp_priv.h
index 69f1b0da5347371649da4dbaa92973cfed0617eb..fa706bcf84bcad5eed5e825bf3c7bc671cd51542 100644 (file)
 #define DEFAULT_RCVBUFSIZE 0
 #define DEFAULT_MAXRCVBUFSIZE 131072
 
+#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
+
 struct hdr {
        uint16_t src; // Source port
        uint16_t dst; // Destination port
@@ -89,6 +97,7 @@ struct sack {
 struct utcp_connection {
        void *priv;
        struct utcp *utcp;
+       uint32_t flags;
 
        bool reapable;
 
@@ -125,6 +134,8 @@ struct utcp_connection {
 
        struct timeval conn_timeout;
        struct timeval rtrx_timeout;
+       struct timeval rtt_start;
+       uint32_t rtt_seq;
 
        // Buffers
 
@@ -155,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