1 This is a light-weight, user-space implementation of RFC 793 (TCP), without any
2 reliance on an IP layer. It can be used to provide multiple in-order, reliable
3 streams on top of any datagram layer.
5 UTCP does not rely on a specific event system. Instead, the application feeds
6 it with incoming packets using utcp_recv(), and outgoing data for the streams
7 using utcp_send(). Most of the rest is handled by callbacks. The application
8 must however call utcp_timeout() regularly to have UTCP handle packet loss.
10 The application should run utcp_init() for every peer it wants to communicate
13 DIFFERENCES FROM RFC 793:
15 * No checksum. UTCP requires the application to handle packet integrity.
16 * 32-bit window size. Big window sizes are the default.
21 * Implement send buffer
23 * Handle retransmission
29 * Congestion window scaling
41 SYN|FIN + request data ->
42 <- SYN|ACK|FIN + response data
45 Does this need special care or can we rely on higher level MACs?