1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
32 33 34 35 36
37
38 /*!
39 * ======== Tcp ========
40 * NDK Transmission Control Protocol (TCP) settings and configuration.
41 *
42 * The Tcp module is used to configure settings for TCP, including:
43 *
44 * @p(blist)
45 * - Buffer sizes
46 * - Maximum number of reassembly packets
47 * - Idle time
48 * - KEEP probe settings
49 * @p
50 */
51
52 @Template("./Tcp.xdt")
53
54 metaonly module Tcp {
55
56 57 58 59
60 const Int defaultMaxReasmPkts = 2;
61 const Int defaultTxBufSize = 8192;
62 const Int defaultRxBufSize = 8192;
63 const Int defaultRxBufLimit = 8192;
64 const Int defaultKeepIdleTime = 72000;
65 const Int defaultKpProbIntv = 750;
66 const Int defaultKpProbTimeout = 6000;
67
68 /*!
69 * Specifies the maximum number of reassembly packets allowed per
70 * TCP socket.
71 */
72 config Int maxNumReasmPkts = defaultMaxReasmPkts;
73
74 /*!
75 * Sets the size of the TCP send buffer.
76 */
77 config Int transmitBufSize = defaultTxBufSize;
78
79 /*!
80 * Sets the size of the TCP receive buffer (copy mode).
81 */
82 config Int receiveBufSize = defaultRxBufSize;
83
84 /*!
85 * Sets the max number of cumulative bytes in packet buffers that can be
86 * queued up at any given TCP based socket (non-copy mode).
87 */
88 config Int receiveBufLimit = defaultRxBufLimit;
89
90 /*!
91 * Amount of time to allow socket to idle. Only affects sockets
92 * specified with SO_KEEPALIVE value.
93 *
94 * Time units for this value are in 0.1 seconds.
95 */
96 config Int keepIdleTime = defaultKeepIdleTime;
97
98 /*!
99 * Time interval specifying the amount of time in between TCP KEEP probes
100 * Only affects sockets specified with SO_KEEPALIVE value.
101 *
102 * Used to determine if socket should be kept open. Time units for this
103 * value are in 0.1 seconds.
104 */
105 config Int keepProbeInterval = defaultKpProbIntv;
106
107 /*!
108 * Time TCP will continue to send unanswered KEEP probes before timing out
109 * the connection.
110 *
111 * Time units for this value are in 0.1 seconds.
112 */
113 config Int keepProbeTimeout = defaultKpProbTimeout;
114
115 }