OLD | NEW |
| (Empty) |
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or
g/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | |
2 <html xmlns="http://www.w3.org/1999/xhtml"> | |
3 <head> | |
4 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> | |
5 <title> UDT Reference</title> | |
6 <link rel="stylesheet" href="udtdoc.css" type="text/css" /> | |
7 <style type="text/css"> | |
8 <!-- | |
9 .style1 { | |
10 color: #0000FF; | |
11 font-style: italic; | |
12 } | |
13 --> | |
14 </style> | |
15 </head> | |
16 | |
17 <body> | |
18 <div class="ref_head"> UDT Reference: Structures</div> | |
19 | |
20 <h3><font color="#000080">UDT Socket Structures</font></h3> | |
21 | |
22 <p>The structures used in UDT API are listed in the table below:</p> | |
23 | |
24 <table width="100%" border="1" cellpadding="1" cellspacing="0" bordercolor="#CCC
CCC"> | |
25 <tr> | |
26 <td width="17%" class="table_headline"><strong>Structures</strong></td> | |
27 <td width="83%" class="table_headline"><strong>Comments</strong></td> | |
28 </tr> | |
29 <tr> | |
30 <td><a href="#1">UDTSOCKET</a></td> | |
31 <td>UDT socket descriptor</td> | |
32 </tr> | |
33 <tr> | |
34 <td><a href="#2">ERRORINFO</a></td> | |
35 <td>Description of UDT system errors</td> | |
36 </tr> | |
37 <tr> | |
38 <td><a href="#3">UDSET</a></td> | |
39 <td>Set of UDT sockets</td> | |
40 </tr> | |
41 <tr> | |
42 <td><a href="#4">TRACEINFO</a></td> | |
43 <td>UDT performance statistics and protocol parameters</td> | |
44 </tr> | |
45 </table> | |
46 | |
47 <h5><a name="1" id="1"></a>UDTSOCKET</h5> | |
48 <p>This is used as the descriptor of a UDT socket. Its internal is not exposed t
o application and subject to future changes.</p> | |
49 | |
50 <h5><a name="2" id="2"></a>ERRORINFO</h5> | |
51 <p>The ERRORINFO structure contains the specific information of a UDT error. It
has two helper functions to let applications know an integral error code and a p
iece of text information.</p> | |
52 <table width="100%" border="1" cellpadding="1" cellspacing="0" bordercolor="#CCC
CCC"> | |
53 <tr> | |
54 <td width="30%" class="table_headline"><strong>Functions</strong></td> | |
55 <td width="70%" class="table_headline"><strong>Comments</strong></td> | |
56 </tr> | |
57 <tr> | |
58 <td>int getErrorCode()</td> | |
59 <td>read the UDT error code</td> | |
60 </tr> | |
61 <tr> | |
62 <td>const char* getErrorMessage()</td> | |
63 <td>read the text information about the error.</td> | |
64 </tr> | |
65 <tr> | |
66 <td>void clear()</td> | |
67 <td>clear the error information (set to SUCCESS).</td> | |
68 </tr> | |
69 </table> | |
70 | |
71 <h5><a name="3" id="3"></a>UDSET</h5> | |
72 <p>The UDSET structure is used with <a href="select.htm"><strong>select</strong>
</a> call to access multiple UDT descriptors.</p> | |
73 <p>Four macros are defined on the UDSET structure to processing a UDT socket set
. They are very similar to the fd_set structure and macros in traditional standa
rd socket API.</p> | |
74 | |
75 <table width="100%" border="1" cellpadding="1" cellspacing="0" bordercolor="#CCC
CCC"> | |
76 <tr> | |
77 <td width="30%" class="table_headline"><strong>Macros</strong></td> | |
78 <td width="70%" class="table_headline"><strong>Comments</strong></td> | |
79 </tr> | |
80 <tr> | |
81 <td>UD_CLR(<em>u</em>, *<em>set</em>)</td> | |
82 <td>remove socket <em>u</em> from <em>set</em>.</td> | |
83 </tr> | |
84 <tr> | |
85 <td>UD_ISSET(u, *set)</td> | |
86 <td>check if <em>u</em> is in <em>set</em>.</td> | |
87 </tr> | |
88 <tr> | |
89 <td>UD_SET(<em>u</em>, *<em>set</em>)</td> | |
90 <td>add <em>u</em> into the <em>set.</em></td> | |
91 </tr> | |
92 <tr> | |
93 <td>UD_ZERO(*<em>set</em>)</td> | |
94 <td>initialize <em>set</em> to empty.</td> | |
95 </tr> | |
96 </table> | |
97 | |
98 <h5><a name="4" id="4"></a>TRACEINFO</h5> | |
99 <p>The TRACEINFO structure stores the performance trace information. Its member
attributes can be read directly by applications.</p> | |
100 | |
101 <table width="100%" border="1" cellpadding="1" cellspacing="0" bordercolor="#CCC
CCC"> | |
102 <tr> | |
103 <td width="17%" class="table_headline"><strong>Members</strong></td> | |
104 <td width="83%" class="table_headline"><strong>Comments</strong></td> | |
105 </tr> | |
106 <tr> | |
107 <td colspan="2"><span class="style1">The following attributes are aggregate
values since the UDT socket is created.</span></td> | |
108 </tr> | |
109 <tr> | |
110 <td>int64_t msTimeStamp</td> | |
111 <td>time elapsed since the UDT socket is created, in milliseconds</td> | |
112 </tr> | |
113 <tr> | |
114 <td>int64_t pktSentTotal</td> | |
115 <td>total number of sent packets, including retransmissions</td> | |
116 </tr> | |
117 <tr> | |
118 <td>int64_t pktRecvTotal</td> | |
119 <td>total number of received packets</td> | |
120 </tr> | |
121 <tr> | |
122 <td>int pktSndLossTotal</td> | |
123 <td>total number of lost packets, measured in the sending side</td> | |
124 </tr> | |
125 <tr> | |
126 <td>int pktRcvLossTotal</td> | |
127 <td>total number of lost packets, measured in the receiving side</td> | |
128 </tr> | |
129 <tr> | |
130 <td>int pktRetransTotal</td> | |
131 <td>total number of retransmitted packets, measured in the sending side</td> | |
132 </tr> | |
133 <tr> | |
134 <td>int pktSentACKTotal</td> | |
135 <td>total number of sent ACK packets</td> | |
136 </tr> | |
137 <tr> | |
138 <td>int pktRecvACKTotal</td> | |
139 <td>total number of received ACK packets</td> | |
140 </tr> | |
141 <tr> | |
142 <td>int pktSentNAKTotal</td> | |
143 <td>total number of sent NAK packets</td> | |
144 </tr> | |
145 <tr> | |
146 <td>int pktRecvNAKTotal</td> | |
147 <td>total number of received NAK packets</td> | |
148 </tr> | |
149 <tr> | |
150 <td colspan="2"><span class="style1">The following attributes are local valu
es since the last time they are recorded.</span></td> | |
151 </tr> | |
152 <tr> | |
153 <td>int64 pktSent</td> | |
154 <td>number of sent packets, including retransmissions</td> | |
155 </tr> | |
156 <tr> | |
157 <td>int64 pktRecv</td> | |
158 <td>number of received packets</td> | |
159 </tr> | |
160 <tr> | |
161 <td>int pktSndLoss</td> | |
162 <td>number of lost packets, measured in the sending side</td> | |
163 </tr> | |
164 <tr> | |
165 <td>int pktRcvLoss</td> | |
166 <td>number of lost packets, measured in the receiving side</td> | |
167 </tr> | |
168 <tr> | |
169 <td>int pktRetrans</td> | |
170 <td>number of retransmitted packets, measured in the sending side</td> | |
171 </tr> | |
172 <tr> | |
173 <td>int pktSentACK</td> | |
174 <td>number of sent ACK packets</td> | |
175 </tr> | |
176 <tr> | |
177 <td>int pktRecvACK</td> | |
178 <td>number of received ACK packets</td> | |
179 </tr> | |
180 <tr> | |
181 <td>int pktSentNAK</td> | |
182 <td>number of sent NAK packets</td> | |
183 </tr> | |
184 <tr> | |
185 <td>int pktRecvNAK</td> | |
186 <td>number of received NAK packets</td> | |
187 </tr> | |
188 <tr> | |
189 <td>double mbpsSendRate</td> | |
190 <td>sending rate in Mbps</td> | |
191 </tr> | |
192 <tr> | |
193 <td>double mbpsRecvRate</td> | |
194 <td>receiving rate in Mbps</td> | |
195 </tr> | |
196 <tr> | |
197 <td colspan="2"><span class="style1">The following attributes are instant va
lues at the time they are observed.</span></td> | |
198 </tr> | |
199 <tr> | |
200 <td>double usPktSndPeriod</td> | |
201 <td>packet sending period, in microseconds</td> | |
202 </tr> | |
203 <tr> | |
204 <td>int pktFlowWindow</td> | |
205 <td>flow window size, in number of packets</td> | |
206 </tr> | |
207 <tr> | |
208 <td>int pktCongestionWindow</td> | |
209 <td>congestion window size, in number of packets</td> | |
210 </tr> | |
211 <tr> | |
212 <td>int pktFlightSize</td> | |
213 <td>number packets on the flight</td> | |
214 </tr> | |
215 <tr> | |
216 <td>double msRTT</td> | |
217 <td>round trip time, in milliseconds</td> | |
218 </tr> | |
219 <tr> | |
220 <td>double mbpsBandwidth</td> | |
221 <td>estimated bandwidth, in Mbps</td> | |
222 </tr> | |
223 <tr> | |
224 <td>int byteAvailSndBuf</td> | |
225 <td>available sending buffer size, in bytes</td> | |
226 </tr> | |
227 <tr> | |
228 <td>int byteAvailRcvBuf</td> | |
229 <td>available receiving buffer size, in bytes</td> | |
230 </tr> | |
231 </table> | |
232 | |
233 <h5>See Also</h5> | |
234 <p><strong><a href="structure.htm">UDT Socket Structures</a></strong></p> | |
235 | |
236 <p> </p> | |
237 | |
238 </body> | |
239 </html> | |
OLD | NEW |