]> git.meshlink.io Git - utcp/blobdiff - utcp_priv.h
Handle channel closure during a receive callback when the ringbuffer wraps.
[utcp] / utcp_priv.h
index fe3fa6d799c84502ad97c5212f868ccf01da9126..197fd2685a32416f46bc87652ddae5bb27664553 100644 (file)
@@ -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,6 +42,7 @@
 #define DEFAULT_RCVBUFSIZE 0
 #define DEFAULT_MAXRCVBUFSIZE 131072
 
+#define MAX_UNRELIABLE_SIZE 65536
 #define DEFAULT_MTU 1000
 
 #define USEC_PER_SEC 1000000L
@@ -144,6 +146,12 @@ struct utcp_connection {
        struct timespec rtt_start;
        uint32_t rtt_seq;
 
+       // RTT variables
+
+       uint32_t srtt; // usec
+       uint32_t rttvar; // usec
+       uint32_t rto; // usec
+
        // Buffers
 
        uint32_t prev_free;
@@ -170,6 +178,7 @@ struct utcp {
 
        utcp_accept_t accept;
        utcp_pre_accept_t pre_accept;
+       utcp_retransmit_t retransmit;
        utcp_send_t send;
 
        // Packet buffer
@@ -182,12 +191,6 @@ struct utcp {
        uint16_t mss; // The maximum size of the payload of a UTCP packet.
        int timeout; // sec
 
-       // RTT variables
-
-       uint32_t srtt; // usec
-       uint32_t rttvar; // usec
-       uint32_t rto; // usec
-
        // Connection management
 
        struct utcp_connection **connections;