1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xml:lang="en-US" lang="en-US" xmlns="http://www.w3.org/1999/xhtml">
3  <head>
4    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5    <meta http-equiv="Content-Style-Type" content="text/css" />
6    <link rel="stylesheet" href="../../../../css/manpage.css" type="text/css" />
7    <style type="text/css"><!--
8      span.static_style
9      {
10        font-size			: 8pt;
11        color				: white;
12        font-weight			: bold;
13        background			: #44f;
14        border-left			: solid 1px #aaf;
15        border-top			: solid 1px #aaf;
16        border-right		: solid 1px #00c;
17        border-bottom		: solid 1px #00c;
18        padding-left		: 2px;
19        padding-right		: 2px;
20      }
21
22      span.virtual_style
23      {
24        font-size			 : 8pt;
25        color				 : white;
26        font-weight			: bold;
27        background			: #0a0;
28        border-left			: solid 1px #0f0;
29        border-top			: solid 1px #0f0;
30        border-right		: solid 1px #060;
31        border-bottom		: solid 1px #060;
32        padding-left		: 2px;
33        padding-right		: 2px;
34      }
35
36      span.protected_style
37      {
38        font-size			 : 8pt;
39        color				 : white;
40        font-weight			: bold;
41        background			: #444;
42        border-left			: solid 1px #ccc;
43        border-top			: solid 1px #ccc;
44        border-right		: solid 1px #222;
45        border-bottom		: solid 1px #222;
46        padding-left		: 2px;
47        padding-right		: 2px;
48      }
49        --></style>
50<title>nn::rdt::CTR::Sender</title>
51  </head>
52  <body>
53<h1><CODE>nn::rdt::CTR::Sender</CODE> Class</h1>
54<h2>Syntax</h2>
55    <div class="section">
56      <pre class="definition">class Sender</pre>
57    </div>
58<h2>Description</h2>
59    <div class="section">
60<p>Class that represents a device that sends data.</p><p>The process below shows how to use the <CODE>Sender</CODE> class. Although the description below leaves out calls to <a href="../../../../nn/rdt/CTR/Sender/Process.html"><CODE>Process</CODE></a>, in practice <a href="../../../../nn/rdt/CTR/Sender/Process.html"><CODE>Process</CODE></a> must be called periodically (at least once every game frame).</p><p>1. Create an instance of the <CODE>Sender</CODE> class.</p><p>2. Call <a href="../../../../nn/rdt/CTR/Sender/Initialize.html"><CODE>Initialize</CODE></a> to initialize the instance. (This assigns memory that the <CODE>Sender</CODE> instance will use as working memory and send buffer.)</p><p>3. Call <a href="../../../../nn/rdt/CTR/Sender/Open.html"><CODE>Open</CODE></a> to attempt a connection to the <CODE>Receiver</CODE> instance that is running remotely.</p><p>4. Once the state transitions to <CODE>SENDER_STATE_OPENED</CODE>, break the data you want to send into small chunks and call <a href="../../../../nn/rdt/CTR/Sender/Send.html"><CODE>Send</CODE></a> repeatedly.</p><p>5. Once all the data has been sent, call <a href="../../../../nn/rdt/CTR/Sender/Close.html"><CODE>Close</CODE></a> to notify the remote party that there is no more data to be sent.</p><p>6. Once the state transitions to <CODE>SENDER_STATE_CLOSED</CODE>, call <a href="../../../../nn/rdt/CTR/Sender/Finalize.html"><CODE>Finalize</CODE></a> to finalize the <CODE>Sender</CODE> class.</p><!-- write here --></div>
61    <a name="constant" id="constant">
62<h2>Member Constants</h2>
63      <div class="section">
64        <table class="members">
65          <tr>
66            <td width="100">
67<span class="static_style" title="static">S</span>
68            </td>
69            <th>
70<span class="argument"><a href="../../../../nn/rdt/CTR/Sender/SENDER_WORKBUF_SIZE.html"><CODE>SENDER_WORKBUF_SIZE</CODE></a></span>
71            </th>
72<td>Size of the working memory required by the <CODE>Sender</CODE> instance.</td>
73          </tr> </table>
74      </div>
75    </a> <a name="function" id="function">
76<h2>Member Functions</h2>
77      <div class="section">
78        <table class="members">
79          <tr>
80            <td width="100">  </td>
81            <th>
82<a href="../../../../nn/rdt/CTR/Sender/Sender.html"><CODE>Sender</CODE></a>
83            </th>
84<td>Constructor.</td>
85          </tr>
86          <tr>
87            <td width="100">  </td>
88            <th>
89<a href="../../../../nn/rdt/CTR/Sender/~Sender.html"><CODE>~Sender</CODE></a>
90            </th>
91<td>Destructor.</td>
92          </tr>
93          <tr>
94            <td width="100">  </td>
95            <th>
96<a href="../../../../nn/rdt/CTR/Sender/Initialize.html"><CODE>Initialize</CODE></a>
97            </th>
98<td>Initializes an instance.</td>
99          </tr>
100          <tr>
101            <td width="100">  </td>
102            <th>
103<a href="../../../../nn/rdt/CTR/Sender/Finalize.html"><CODE>Finalize</CODE></a>
104            </th>
105<td>Frees resources that were used by a <CODE>Sender</CODE> instance, including the send buffer and the endpoint descriptor(s).</td>
106          </tr>
107          <tr>
108            <td width="100">  </td>
109            <th>
110<a href="../../../../nn/rdt/CTR/Sender/Open.html"><CODE>Open</CODE></a>
111            </th>
112<td>Issues a connection request.</td>
113          </tr>
114          <tr>
115            <td width="100">  </td>
116            <th>
117<a href="../../../../nn/rdt/CTR/Sender/Close.html"><CODE>Close</CODE></a>
118            </th>
119<td>Issues a request to close a connection.</td>
120          </tr>
121          <tr>
122            <td width="100">  </td>
123            <th>
124<a href="../../../../nn/rdt/CTR/Sender/Send.html"><CODE>Send</CODE></a>
125            </th>
126<td>Writes data to the send buffer.</td>
127          </tr>
128          <tr>
129            <td width="100">  </td>
130            <th>
131<a href="../../../../nn/rdt/CTR/Sender/Process.html"><CODE>Process</CODE></a>
132            </th>
133<td>Proceeds with communication. The actual communication takes place within this function.</td>
134          </tr>
135          <tr>
136            <td width="100">  </td>
137            <th>
138<a href="../../../../nn/rdt/CTR/Sender/Cancel.html"><CODE>Cancel</CODE></a>
139            </th>
140<td>Cancels processing.</td>
141          </tr>
142          <tr>
143            <td width="100">  </td>
144            <th>
145<a href="../../../../nn/rdt/CTR/Sender/GetStatus.html"><CODE>GetStatus</CODE></a>
146            </th>
147<td>Gets the status of a <CODE>Sender</CODE> instance.</td>
148          </tr>
149          <tr>
150            <td width="100">  </td>
151            <th>
152<a href="../../../../nn/rdt/CTR/Sender/SetPacketLossRatio.html"><CODE>SetPacketLossRatio</CODE></a>
153            </th>
154<td>Virtually sets the packet loss ratio (for debugging). This function may be removed in a future release without notice.</td>
155          </tr>
156          <tr>
157            <td width="100">  </td>
158            <th>
159<a href="../../../../nn/rdt/CTR/Sender/PrintDebugInfo.html"><CODE>PrintDebugInfo</CODE></a>
160            </th>
161<td>Prints detailed information about the internal state of a <CODE>Sender</CODE> instance (for debugging). This function may be removed in a future release without notice.</td>
162          </tr> </table>
163      </div>
164    </a>
165<h2>Revision History</h2>
166    <div class="section">
167      <dl class="history">
168        <dt>2010/06/14</dt>
169<dd>Initial version.<br />
170        </dd>
171      </dl>
172    </div>
173  <hr><p>CONFIDENTIAL</p></body>
174</html>