]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - docs/module-doc/classInspSocket.html
Added new docs for class SocketEngine
[user/henk/code/inspircd.git] / docs / module-doc / classInspSocket.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3 <title>InspIRCd: InspSocket Class Reference</title>
4 <link href="inspircd.doxygen.css" rel="stylesheet" type="text/css">
5 </head><body>
6 <!-- Generated by Doxygen 1.4.4-20050815 -->
7 <div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
8 <h1>InspSocket Class Reference</h1><!-- doxytag: class="InspSocket" --><code>#include &lt;<a class="el" href="socket_8h-source.html">socket.h</a>&gt;</code>
9 <p>
10 Collaboration diagram for InspSocket:<p><center><img src="classInspSocket__coll__graph.gif" border="0" usemap="#InspSocket__coll__map" alt="Collaboration graph"></center>
11 <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classInspSocket-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
12 <tr><td></td></tr>
13 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
14 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#InspSocket_28_29">InspSocket</a> ()</td></tr>
15
16 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#InspSocket_28int_20newfd_2C_20char_20_2Aip_29">InspSocket</a> (int newfd, char *ip)</td></tr>
17
18 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#InspSocket_28std_3A_3Astring_20host_2C_20int_20port_2C_20bool_20listening_2C_20unsigned_20long_20maxtime_29">InspSocket</a> (<a class="el" href="namespaceirc.html#string">std::string</a> <a class="el" href="classInspSocket.html#host">host</a>, int <a class="el" href="classInspSocket.html#port">port</a>, bool listening, unsigned long maxtime)</td></tr>
19
20 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#OnConnected_28_29">OnConnected</a> ()</td></tr>
21
22 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#OnError_28InspSocketError_20e_29">OnError</a> (<a class="el" href="socket_8h.html#InspSocketError">InspSocketError</a> e)</td></tr>
23
24 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#OnDisconnect_28_29">OnDisconnect</a> ()</td></tr>
25
26 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#OnDataReady_28_29">OnDataReady</a> ()</td></tr>
27
28 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#OnTimeout_28_29">OnTimeout</a> ()</td></tr>
29
30 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#OnClose_28_29">OnClose</a> ()</td></tr>
31
32 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#Read_28_29">Read</a> ()</td></tr>
33
34 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#GetIP_28_29">GetIP</a> ()</td></tr>
35
36 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#Write_28std_3A_3Astring_20data_29">Write</a> (<a class="el" href="namespaceirc.html#string">std::string</a> data)</td></tr>
37
38 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#OnIncomingConnection_28int_20newfd_2C_20char_20_2Aip_29">OnIncomingConnection</a> (int newfd, char *ip)</td></tr>
39
40 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#SetState_28InspSocketState_20s_29">SetState</a> (<a class="el" href="socket_8h.html#InspSocketState">InspSocketState</a> s)</td></tr>
41
42 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="socket_8h.html#InspSocketState">InspSocketState</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#GetState_28_29">GetState</a> ()</td></tr>
43
44 <tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#Poll_28_29">Poll</a> ()</td></tr>
45
46 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#GetFd_28_29">GetFd</a> ()</td></tr>
47
48 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#Close_28_29">Close</a> ()</td></tr>
49
50 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#_7EInspSocket_28_29">~InspSocket</a> ()</td></tr>
51
52 <tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
53 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#fd">fd</a></td></tr>
54
55 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#host">host</a></td></tr>
56
57 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#port">port</a></td></tr>
58
59 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="socket_8h.html#InspSocketState">InspSocketState</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#state">state</a></td></tr>
60
61 <tr><td class="memItemLeft" nowrap align="right" valign="top">sockaddr_in&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#addr">addr</a></td></tr>
62
63 <tr><td class="memItemLeft" nowrap align="right" valign="top">in_addr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#addy">addy</a></td></tr>
64
65 <tr><td class="memItemLeft" nowrap align="right" valign="top">time_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#timeout_5Fend">timeout_end</a></td></tr>
66
67 <tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#timeout">timeout</a></td></tr>
68
69 <tr><td class="memItemLeft" nowrap align="right" valign="top">pollfd&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#polls">polls</a></td></tr>
70
71 <tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#ibuf_5B_31_36_33_38_34_5D">ibuf</a> [16384]</td></tr>
72
73 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#IP">IP</a></td></tr>
74
75 <tr><td class="memItemLeft" nowrap align="right" valign="top">sockaddr_in&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#client">client</a></td></tr>
76
77 <tr><td class="memItemLeft" nowrap align="right" valign="top">sockaddr_in&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#server">server</a></td></tr>
78
79 <tr><td class="memItemLeft" nowrap align="right" valign="top">socklen_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#length">length</a></td></tr>
80
81 </table>
82 <hr><a name="_details"></a><h2>Detailed Description</h2>
83
84 <p>
85
86 <p>
87 Definition at line <a class="el" href="socket_8h-source.html#l00030">30</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
88 <a class="anchor" name="InspSocket_28_29"></a><!-- doxytag: member="InspSocket::InspSocket" ref="InspSocket_28_29" args="()" --><p>
89 <table class="mdTable" cellpadding="2" cellspacing="0">
90   <tr>
91     <td class="mdRow">
92       <table cellpadding="0" cellspacing="0" border="0">
93         <tr>
94           <td class="md" nowrap valign="top">InspSocket::InspSocket           </td>
95           <td class="md" valign="top">(&nbsp;</td>
96           <td class="mdname1" valign="top" nowrap>          </td>
97           <td class="md" valign="top">&nbsp;)&nbsp;</td>
98           <td class="md" nowrap></td>
99         </tr>
100       </table>
101     </td>
102   </tr>
103 </table>
104 <table cellspacing="5" cellpadding="0" border="0">
105   <tr>
106     <td>
107       &nbsp;
108     </td>
109     <td>
110
111 <p>
112
113 <p>
114 Definition at line <a class="el" href="socket_8cpp-source.html#l00049">49</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
115 <p>
116 References <a class="el" href="socket_8h.html#InspSocketStateI_5FDISCONNECTED">I_DISCONNECTED</a>, and <a class="el" href="socket_8h-source.html#l00036">state</a>.<div class="fragment"><pre class="fragment"><a name="l00050"></a>00050 {
117 <a name="l00051"></a>00051         this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = <a class="code" href="socket_8h.html#InspSocketStateI_5FDISCONNECTED">I_DISCONNECTED</a>;
118 <a name="l00052"></a>00052 }
119 </pre></div>
120 <p>
121     </td>
122   </tr>
123 </table>
124 <a class="anchor" name="InspSocket_28int_20newfd_2C_20char_20_2Aip_29"></a><!-- doxytag: member="InspSocket::InspSocket" ref="InspSocket_28int_20newfd_2C_20char_20_2Aip_29" args="(int newfd, char *ip)" --><p>
125 <table class="mdTable" cellpadding="2" cellspacing="0">
126   <tr>
127     <td class="mdRow">
128       <table cellpadding="0" cellspacing="0" border="0">
129         <tr>
130           <td class="md" nowrap valign="top">InspSocket::InspSocket           </td>
131           <td class="md" valign="top">(&nbsp;</td>
132           <td class="md" nowrap valign="top">int&nbsp;</td>
133           <td class="mdname" nowrap> <em>newfd</em>, </td>
134         </tr>
135         <tr>
136           <td class="md" nowrap align="right"></td>
137           <td class="md"></td>
138           <td class="md" nowrap>char *&nbsp;</td>
139           <td class="mdname" nowrap> <em>ip</em></td>
140         </tr>
141         <tr>
142           <td class="md"></td>
143           <td class="md">)&nbsp;</td>
144           <td class="md" colspan="2"></td>
145         </tr>
146       </table>
147     </td>
148   </tr>
149 </table>
150 <table cellspacing="5" cellpadding="0" border="0">
151   <tr>
152     <td>
153       &nbsp;
154     </td>
155     <td>
156
157 <p>
158
159 <p>
160 Definition at line <a class="el" href="socket_8cpp-source.html#l00054">54</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
161 <p>
162 References <a class="el" href="socketengine_8cpp-source.html#l00065">SocketEngine::AddFd()</a>, <a class="el" href="socket_8h-source.html#l00033">fd</a>, <a class="el" href="socket_8h.html#InspSocketStateI_5FCONNECTED">I_CONNECTED</a>, <a class="el" href="socket_8h-source.html#l00043">IP</a>, <a class="el" href="socket_8h-source.html#l00036">state</a>, and <a class="el" href="socketengine_8h-source.html#l00044">X_ESTAB_MODULE</a>.<div class="fragment"><pre class="fragment"><a name="l00055"></a>00055 {
163 <a name="l00056"></a>00056         this-&gt;<a class="code" href="classInspSocket.html#fd">fd</a> = newfd;
164 <a name="l00057"></a>00057         this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = <a class="code" href="socket_8h.html#InspSocketStateI_5FCONNECTED">I_CONNECTED</a>;
165 <a name="l00058"></a>00058         this-&gt;<a class="code" href="classInspSocket.html#IP">IP</a> = ip;
166 <a name="l00059"></a>00059         <a class="code" href="modules_8cpp.html#SE">SE</a>-&gt;<a class="code" href="classSocketEngine.html#AddFd_28int_20fd_2C_20bool_20readable_2C_20char_20type_29">AddFd</a>(this-&gt;fd,<span class="keyword">true</span>,<a class="code" href="socketengine_8h.html#X_5FESTAB_5FMODULE">X_ESTAB_MODULE</a>);
167 <a name="l00060"></a>00060 }
168 </pre></div>
169 <p>
170     </td>
171   </tr>
172 </table>
173 <a class="anchor" name="InspSocket_28std_3A_3Astring_20host_2C_20int_20port_2C_20bool_20listening_2C_20unsigned_20long_20maxtime_29"></a><!-- doxytag: member="InspSocket::InspSocket" ref="InspSocket_28std_3A_3Astring_20host_2C_20int_20port_2C_20bool_20listening_2C_20unsigned_20long_20maxtime_29" args="(std::string host, int port, bool listening, unsigned long maxtime)" --><p>
174 <table class="mdTable" cellpadding="2" cellspacing="0">
175   <tr>
176     <td class="mdRow">
177       <table cellpadding="0" cellspacing="0" border="0">
178         <tr>
179           <td class="md" nowrap valign="top">InspSocket::InspSocket           </td>
180           <td class="md" valign="top">(&nbsp;</td>
181           <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
182           <td class="mdname" nowrap> <em>host</em>, </td>
183         </tr>
184         <tr>
185           <td class="md" nowrap align="right"></td>
186           <td class="md"></td>
187           <td class="md" nowrap>int&nbsp;</td>
188           <td class="mdname" nowrap> <em>port</em>, </td>
189         </tr>
190         <tr>
191           <td class="md" nowrap align="right"></td>
192           <td class="md"></td>
193           <td class="md" nowrap>bool&nbsp;</td>
194           <td class="mdname" nowrap> <em>listening</em>, </td>
195         </tr>
196         <tr>
197           <td class="md" nowrap align="right"></td>
198           <td class="md"></td>
199           <td class="md" nowrap>unsigned long&nbsp;</td>
200           <td class="mdname" nowrap> <em>maxtime</em></td>
201         </tr>
202         <tr>
203           <td class="md"></td>
204           <td class="md">)&nbsp;</td>
205           <td class="md" colspan="2"></td>
206         </tr>
207       </table>
208     </td>
209   </tr>
210 </table>
211 <table cellspacing="5" cellpadding="0" border="0">
212   <tr>
213     <td>
214       &nbsp;
215     </td>
216     <td>
217
218 <p>
219
220 <p>
221 Definition at line <a class="el" href="socket_8cpp-source.html#l00062">62</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
222 <p>
223 References <a class="el" href="socketengine_8cpp-source.html#l00065">SocketEngine::AddFd()</a>, <a class="el" href="socket_8h-source.html#l00037">addr</a>, <a class="el" href="socket_8h-source.html#l00038">addy</a>, <a class="el" href="socket_8cpp-source.html#l00139">Close()</a>, <a class="el" href="modules_8h-source.html#l00023">DEBUG</a>, <a class="el" href="socket_8h-source.html#l00033">fd</a>, <a class="el" href="socket_8h.html#InspSocketStateI_5FCONNECTING">I_CONNECTING</a>, <a class="el" href="socket_8h.html#InspSocketErrorI_5FERR_5FBIND">I_ERR_BIND</a>, <a class="el" href="socket_8h.html#InspSocketErrorI_5FERR_5FCONNECT">I_ERR_CONNECT</a>, <a class="el" href="socket_8h.html#InspSocketErrorI_5FERR_5FSOCKET">I_ERR_SOCKET</a>, <a class="el" href="socket_8h.html#InspSocketStateI_5FERROR">I_ERROR</a>, <a class="el" href="socket_8h.html#InspSocketStateI_5FLISTENING">I_LISTENING</a>, <a class="el" href="socket_8h-source.html#l00043">IP</a>, <a class="el" href="socket_8cpp-source.html#l00258">OnError()</a>, <a class="el" href="socket_8h-source.html#l00036">state</a>, <a class="el" href="socket_8h-source.html#l00040">timeout</a>, <a class="el" href="socket_8h-source.html#l00039">timeout_end</a>, and <a class="el" href="socketengine_8h-source.html#l00044">X_ESTAB_MODULE</a>.<div class="fragment"><pre class="fragment"><a name="l00063"></a>00063 {
224 <a name="l00064"></a>00064         <span class="keywordflow">if</span> (listening) {
225 <a name="l00065"></a>00065                 <span class="keywordflow">if</span> ((this-&gt;fd = OpenTCPSocket()) == ERROR)
226 <a name="l00066"></a>00066                 {
227 <a name="l00067"></a>00067                         this-&gt;<a class="code" href="classInspSocket.html#fd">fd</a> = -1;
228 <a name="l00068"></a>00068                         this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = <a class="code" href="socket_8h.html#InspSocketStateI_5FERROR">I_ERROR</a>;
229 <a name="l00069"></a>00069                         this-&gt;<a class="code" href="classInspSocket.html#OnError_28InspSocketError_20e_29">OnError</a>(<a class="code" href="socket_8h.html#InspSocketErrorI_5FERR_5FSOCKET">I_ERR_SOCKET</a>);
230 <a name="l00070"></a>00070                         log(<a class="code" href="modules_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"OpenTCPSocket() error"</span>);
231 <a name="l00071"></a>00071                         <span class="keywordflow">return</span>;
232 <a name="l00072"></a>00072                 }
233 <a name="l00073"></a>00073                 <span class="keywordflow">else</span>
234 <a name="l00074"></a>00074                 {
235 <a name="l00075"></a>00075                         <span class="keywordflow">if</span> (BindSocket(this-&gt;fd,this-&gt;client,this-&gt;server,<a class="code" href="classInspSocket.html#port">port</a>,(<span class="keywordtype">char</span>*)<a class="code" href="classInspSocket.html#host">host</a>.c_str()) == ERROR)
236 <a name="l00076"></a>00076                         {
237 <a name="l00077"></a>00077                                 this-&gt;<a class="code" href="classInspSocket.html#Close_28_29">Close</a>();
238 <a name="l00078"></a>00078                                 this-&gt;<a class="code" href="classInspSocket.html#fd">fd</a> = -1;
239 <a name="l00079"></a>00079                                 this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = <a class="code" href="socket_8h.html#InspSocketStateI_5FERROR">I_ERROR</a>;
240 <a name="l00080"></a>00080                                 this-&gt;<a class="code" href="classInspSocket.html#OnError_28InspSocketError_20e_29">OnError</a>(<a class="code" href="socket_8h.html#InspSocketErrorI_5FERR_5FBIND">I_ERR_BIND</a>);
241 <a name="l00081"></a>00081                                 log(<a class="code" href="modules_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"BindSocket() error %s"</span>,strerror(errno));
242 <a name="l00082"></a>00082                                 <span class="keywordflow">return</span>;
243 <a name="l00083"></a>00083                         }
244 <a name="l00084"></a>00084                         <span class="keywordflow">else</span>
245 <a name="l00085"></a>00085                         {
246 <a name="l00086"></a>00086                                 this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = <a class="code" href="socket_8h.html#InspSocketStateI_5FLISTENING">I_LISTENING</a>;
247 <a name="l00087"></a>00087                                 <a class="code" href="modules_8cpp.html#SE">SE</a>-&gt;<a class="code" href="classSocketEngine.html#AddFd_28int_20fd_2C_20bool_20readable_2C_20char_20type_29">AddFd</a>(this-&gt;fd,<span class="keyword">true</span>,<a class="code" href="socketengine_8h.html#X_5FESTAB_5FMODULE">X_ESTAB_MODULE</a>);
248 <a name="l00088"></a>00088                                 log(<a class="code" href="modules_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"New socket now in I_LISTENING state"</span>);
249 <a name="l00089"></a>00089                                 <span class="keywordflow">return</span>;
250 <a name="l00090"></a>00090                         }
251 <a name="l00091"></a>00091                 }                       
252 <a name="l00092"></a>00092         } <span class="keywordflow">else</span> {
253 <a name="l00093"></a>00093                 <span class="keywordtype">char</span>* ip;
254 <a name="l00094"></a>00094                 this-&gt;<a class="code" href="classInspSocket.html#host">host</a> = <a class="code" href="classInspSocket.html#host">host</a>;
255 <a name="l00095"></a>00095                 hostent* hoste = gethostbyname(<a class="code" href="classInspSocket.html#host">host</a>.c_str());
256 <a name="l00096"></a>00096                 <span class="keywordflow">if</span> (!hoste) {
257 <a name="l00097"></a>00097                         ip = (<span class="keywordtype">char</span>*)<a class="code" href="classInspSocket.html#host">host</a>.c_str();
258 <a name="l00098"></a>00098                 } <span class="keywordflow">else</span> {
259 <a name="l00099"></a>00099                         <span class="keyword">struct </span>in_addr* ia = (in_addr*)hoste-&gt;h_addr;
260 <a name="l00100"></a>00100                         ip = inet_ntoa(*ia);
261 <a name="l00101"></a>00101                 }
262 <a name="l00102"></a>00102 
263 <a name="l00103"></a>00103                 this-&gt;<a class="code" href="classInspSocket.html#IP">IP</a> = ip;
264 <a name="l00104"></a>00104 
265 <a name="l00105"></a>00105                 <a class="code" href="classInspSocket.html#timeout_5Fend">timeout_end</a> = time(NULL)+maxtime;
266 <a name="l00106"></a>00106                 <a class="code" href="classInspSocket.html#timeout">timeout</a> = <span class="keyword">false</span>;
267 <a name="l00107"></a>00107                 <span class="keywordflow">if</span> ((this-&gt;fd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
268 <a name="l00108"></a>00108                 {
269 <a name="l00109"></a>00109                         this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = <a class="code" href="socket_8h.html#InspSocketStateI_5FERROR">I_ERROR</a>;
270 <a name="l00110"></a>00110                         this-&gt;<a class="code" href="classInspSocket.html#OnError_28InspSocketError_20e_29">OnError</a>(<a class="code" href="socket_8h.html#InspSocketErrorI_5FERR_5FSOCKET">I_ERR_SOCKET</a>);
271 <a name="l00111"></a>00111                         <span class="keywordflow">return</span>;
272 <a name="l00112"></a>00112                 }
273 <a name="l00113"></a>00113                 this-&gt;<a class="code" href="classInspSocket.html#port">port</a> = <a class="code" href="classInspSocket.html#port">port</a>;
274 <a name="l00114"></a>00114                 inet_aton(ip,&amp;<a class="code" href="classInspSocket.html#addy">addy</a>);
275 <a name="l00115"></a>00115                 <a class="code" href="classInspSocket.html#addr">addr</a>.sin_family = AF_INET;
276 <a name="l00116"></a>00116                 <a class="code" href="classInspSocket.html#addr">addr</a>.sin_addr = <a class="code" href="classInspSocket.html#addy">addy</a>;
277 <a name="l00117"></a>00117                 <a class="code" href="classInspSocket.html#addr">addr</a>.sin_port = htons(this-&gt;port);
278 <a name="l00118"></a>00118 
279 <a name="l00119"></a>00119                 <span class="keywordtype">int</span> flags;
280 <a name="l00120"></a>00120                 flags = fcntl(this-&gt;fd, F_GETFL, 0);
281 <a name="l00121"></a>00121                 fcntl(this-&gt;fd, F_SETFL, flags | O_NONBLOCK);
282 <a name="l00122"></a>00122 
283 <a name="l00123"></a>00123                 <span class="keywordflow">if</span>(connect(this-&gt;fd, (sockaddr*)&amp;this-&gt;addr,<span class="keyword">sizeof</span>(this-&gt;addr)) == -1)
284 <a name="l00124"></a>00124                 {
285 <a name="l00125"></a>00125                         <span class="keywordflow">if</span> (errno != EINPROGRESS)
286 <a name="l00126"></a>00126                         {
287 <a name="l00127"></a>00127                                 this-&gt;<a class="code" href="classInspSocket.html#Close_28_29">Close</a>();
288 <a name="l00128"></a>00128                                 this-&gt;<a class="code" href="classInspSocket.html#OnError_28InspSocketError_20e_29">OnError</a>(<a class="code" href="socket_8h.html#InspSocketErrorI_5FERR_5FCONNECT">I_ERR_CONNECT</a>);
289 <a name="l00129"></a>00129                                 this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = <a class="code" href="socket_8h.html#InspSocketStateI_5FERROR">I_ERROR</a>;
290 <a name="l00130"></a>00130                                 <span class="keywordflow">return</span>;
291 <a name="l00131"></a>00131                         }
292 <a name="l00132"></a>00132                 }
293 <a name="l00133"></a>00133                 this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = <a class="code" href="socket_8h.html#InspSocketStateI_5FCONNECTING">I_CONNECTING</a>;
294 <a name="l00134"></a>00134                 <a class="code" href="modules_8cpp.html#SE">SE</a>-&gt;<a class="code" href="classSocketEngine.html#AddFd_28int_20fd_2C_20bool_20readable_2C_20char_20type_29">AddFd</a>(this-&gt;fd,<span class="keyword">false</span>,<a class="code" href="socketengine_8h.html#X_5FESTAB_5FMODULE">X_ESTAB_MODULE</a>);
295 <a name="l00135"></a>00135                 <span class="keywordflow">return</span>;
296 <a name="l00136"></a>00136         }
297 <a name="l00137"></a>00137 }
298 </pre></div>
299 <p>
300     </td>
301   </tr>
302 </table>
303 <a class="anchor" name="_7EInspSocket_28_29"></a><!-- doxytag: member="InspSocket::~InspSocket" ref="_7EInspSocket_28_29" args="()" --><p>
304 <table class="mdTable" cellpadding="2" cellspacing="0">
305   <tr>
306     <td class="mdRow">
307       <table cellpadding="0" cellspacing="0" border="0">
308         <tr>
309           <td class="md" nowrap valign="top">InspSocket::~InspSocket           </td>
310           <td class="md" valign="top">(&nbsp;</td>
311           <td class="mdname1" valign="top" nowrap>          </td>
312           <td class="md" valign="top">&nbsp;)&nbsp;</td>
313           <td class="md" nowrap><code> [virtual]</code></td>
314         </tr>
315       </table>
316     </td>
317   </tr>
318 </table>
319 <table cellspacing="5" cellpadding="0" border="0">
320   <tr>
321     <td>
322       &nbsp;
323     </td>
324     <td>
325
326 <p>
327
328 <p>
329 Definition at line <a class="el" href="socket_8cpp-source.html#l00265">265</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
330 <p>
331 References <a class="el" href="socket_8cpp-source.html#l00139">Close()</a>.<div class="fragment"><pre class="fragment"><a name="l00266"></a>00266 {
332 <a name="l00267"></a>00267         this-&gt;<a class="code" href="classInspSocket.html#Close_28_29">Close</a>();
333 <a name="l00268"></a>00268 }
334 </pre></div>
335 <p>
336     </td>
337   </tr>
338 </table>
339 <hr><h2>Member Function Documentation</h2>
340 <a class="anchor" name="Close_28_29"></a><!-- doxytag: member="InspSocket::Close" ref="Close_28_29" args="()" --><p>
341 <table class="mdTable" cellpadding="2" cellspacing="0">
342   <tr>
343     <td class="mdRow">
344       <table cellpadding="0" cellspacing="0" border="0">
345         <tr>
346           <td class="md" nowrap valign="top">void InspSocket::Close           </td>
347           <td class="md" valign="top">(&nbsp;</td>
348           <td class="mdname1" valign="top" nowrap>          </td>
349           <td class="md" valign="top">&nbsp;)&nbsp;</td>
350           <td class="md" nowrap><code> [virtual]</code></td>
351         </tr>
352       </table>
353     </td>
354   </tr>
355 </table>
356 <table cellspacing="5" cellpadding="0" border="0">
357   <tr>
358     <td>
359       &nbsp;
360     </td>
361     <td>
362
363 <p>
364
365 <p>
366 Definition at line <a class="el" href="socket_8cpp-source.html#l00139">139</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
367 <p>
368 References <a class="el" href="socket_8h-source.html#l00033">fd</a>, and <a class="el" href="socket_8cpp-source.html#l00263">OnClose()</a>.
369 <p>
370 Referenced by <a class="el" href="socket_8cpp-source.html#l00062">InspSocket()</a>, and <a class="el" href="socket_8cpp-source.html#l00265">~InspSocket()</a>.<div class="fragment"><pre class="fragment"><a name="l00140"></a>00140 {
371 <a name="l00141"></a>00141         <span class="keywordflow">if</span> (this-&gt;fd != -1)
372 <a name="l00142"></a>00142         {
373 <a name="l00143"></a>00143                 this-&gt;<a class="code" href="classInspSocket.html#OnClose_28_29">OnClose</a>();
374 <a name="l00144"></a>00144                 shutdown(this-&gt;fd,2);
375 <a name="l00145"></a>00145                 close(this-&gt;fd);
376 <a name="l00146"></a>00146                 this-&gt;<a class="code" href="classInspSocket.html#fd">fd</a> = -1;
377 <a name="l00147"></a>00147         }
378 <a name="l00148"></a>00148 }
379 </pre></div>
380 <p>
381     </td>
382   </tr>
383 </table>
384 <a class="anchor" name="GetFd_28_29"></a><!-- doxytag: member="InspSocket::GetFd" ref="GetFd_28_29" args="()" --><p>
385 <table class="mdTable" cellpadding="2" cellspacing="0">
386   <tr>
387     <td class="mdRow">
388       <table cellpadding="0" cellspacing="0" border="0">
389         <tr>
390           <td class="md" nowrap valign="top">int InspSocket::GetFd           </td>
391           <td class="md" valign="top">(&nbsp;</td>
392           <td class="mdname1" valign="top" nowrap>          </td>
393           <td class="md" valign="top">&nbsp;)&nbsp;</td>
394           <td class="md" nowrap></td>
395         </tr>
396       </table>
397     </td>
398   </tr>
399 </table>
400 <table cellspacing="5" cellpadding="0" border="0">
401   <tr>
402     <td>
403       &nbsp;
404     </td>
405     <td>
406
407 <p>
408
409 <p>
410 Definition at line <a class="el" href="socket_8cpp-source.html#l00252">252</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
411 <p>
412 References <a class="el" href="socket_8h-source.html#l00033">fd</a>.<div class="fragment"><pre class="fragment"><a name="l00253"></a>00253 {
413 <a name="l00254"></a>00254         <span class="keywordflow">return</span> this-&gt;<a class="code" href="classInspSocket.html#fd">fd</a>;
414 <a name="l00255"></a>00255 }
415 </pre></div>
416 <p>
417     </td>
418   </tr>
419 </table>
420 <a class="anchor" name="GetIP_28_29"></a><!-- doxytag: member="InspSocket::GetIP" ref="GetIP_28_29" args="()" --><p>
421 <table class="mdTable" cellpadding="2" cellspacing="0">
422   <tr>
423     <td class="mdRow">
424       <table cellpadding="0" cellspacing="0" border="0">
425         <tr>
426           <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a> InspSocket::GetIP           </td>
427           <td class="md" valign="top">(&nbsp;</td>
428           <td class="mdname1" valign="top" nowrap>          </td>
429           <td class="md" valign="top">&nbsp;)&nbsp;</td>
430           <td class="md" nowrap></td>
431         </tr>
432       </table>
433     </td>
434   </tr>
435 </table>
436 <table cellspacing="5" cellpadding="0" border="0">
437   <tr>
438     <td>
439       &nbsp;
440     </td>
441     <td>
442
443 <p>
444
445 <p>
446 Definition at line <a class="el" href="socket_8cpp-source.html#l00150">150</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
447 <p>
448 References <a class="el" href="socket_8h-source.html#l00043">IP</a>.<div class="fragment"><pre class="fragment"><a name="l00151"></a>00151 {
449 <a name="l00152"></a>00152         <span class="keywordflow">return</span> this-&gt;<a class="code" href="classInspSocket.html#IP">IP</a>;
450 <a name="l00153"></a>00153 }
451 </pre></div>
452 <p>
453     </td>
454   </tr>
455 </table>
456 <a class="anchor" name="GetState_28_29"></a><!-- doxytag: member="InspSocket::GetState" ref="GetState_28_29" args="()" --><p>
457 <table class="mdTable" cellpadding="2" cellspacing="0">
458   <tr>
459     <td class="mdRow">
460       <table cellpadding="0" cellspacing="0" border="0">
461         <tr>
462           <td class="md" nowrap valign="top"><a class="el" href="socket_8h.html#InspSocketState">InspSocketState</a> InspSocket::GetState           </td>
463           <td class="md" valign="top">(&nbsp;</td>
464           <td class="mdname1" valign="top" nowrap>          </td>
465           <td class="md" valign="top">&nbsp;)&nbsp;</td>
466           <td class="md" nowrap></td>
467         </tr>
468       </table>
469     </td>
470   </tr>
471 </table>
472 <table cellspacing="5" cellpadding="0" border="0">
473   <tr>
474     <td>
475       &nbsp;
476     </td>
477     <td>
478
479 <p>
480
481 <p>
482 Definition at line <a class="el" href="socket_8cpp-source.html#l00247">247</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
483 <p>
484 References <a class="el" href="socket_8h-source.html#l00036">state</a>.<div class="fragment"><pre class="fragment"><a name="l00248"></a>00248 {
485 <a name="l00249"></a>00249         <span class="keywordflow">return</span> this-&gt;<a class="code" href="classInspSocket.html#state">state</a>;
486 <a name="l00250"></a>00250 }
487 </pre></div>
488 <p>
489     </td>
490   </tr>
491 </table>
492 <a class="anchor" name="OnClose_28_29"></a><!-- doxytag: member="InspSocket::OnClose" ref="OnClose_28_29" args="()" --><p>
493 <table class="mdTable" cellpadding="2" cellspacing="0">
494   <tr>
495     <td class="mdRow">
496       <table cellpadding="0" cellspacing="0" border="0">
497         <tr>
498           <td class="md" nowrap valign="top">void InspSocket::OnClose           </td>
499           <td class="md" valign="top">(&nbsp;</td>
500           <td class="mdname1" valign="top" nowrap>          </td>
501           <td class="md" valign="top">&nbsp;)&nbsp;</td>
502           <td class="md" nowrap><code> [virtual]</code></td>
503         </tr>
504       </table>
505     </td>
506   </tr>
507 </table>
508 <table cellspacing="5" cellpadding="0" border="0">
509   <tr>
510     <td>
511       &nbsp;
512     </td>
513     <td>
514
515 <p>
516
517 <p>
518 Definition at line <a class="el" href="socket_8cpp-source.html#l00263">263</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
519 <p>
520 Referenced by <a class="el" href="socket_8cpp-source.html#l00139">Close()</a>.<div class="fragment"><pre class="fragment"><a name="l00263"></a>00263 { <span class="keywordflow">return</span>; }
521 </pre></div>
522 <p>
523     </td>
524   </tr>
525 </table>
526 <a class="anchor" name="OnConnected_28_29"></a><!-- doxytag: member="InspSocket::OnConnected" ref="OnConnected_28_29" args="()" --><p>
527 <table class="mdTable" cellpadding="2" cellspacing="0">
528   <tr>
529     <td class="mdRow">
530       <table cellpadding="0" cellspacing="0" border="0">
531         <tr>
532           <td class="md" nowrap valign="top">bool InspSocket::OnConnected           </td>
533           <td class="md" valign="top">(&nbsp;</td>
534           <td class="mdname1" valign="top" nowrap>          </td>
535           <td class="md" valign="top">&nbsp;)&nbsp;</td>
536           <td class="md" nowrap><code> [virtual]</code></td>
537         </tr>
538       </table>
539     </td>
540   </tr>
541 </table>
542 <table cellspacing="5" cellpadding="0" border="0">
543   <tr>
544     <td>
545       &nbsp;
546     </td>
547     <td>
548
549 <p>
550
551 <p>
552 Definition at line <a class="el" href="socket_8cpp-source.html#l00257">257</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
553 <p>
554 Referenced by <a class="el" href="socket_8cpp-source.html#l00197">Poll()</a>.<div class="fragment"><pre class="fragment"><a name="l00257"></a>00257 { <span class="keywordflow">return</span> <span class="keyword">true</span>; }
555 </pre></div>
556 <p>
557     </td>
558   </tr>
559 </table>
560 <a class="anchor" name="OnDataReady_28_29"></a><!-- doxytag: member="InspSocket::OnDataReady" ref="OnDataReady_28_29" args="()" --><p>
561 <table class="mdTable" cellpadding="2" cellspacing="0">
562   <tr>
563     <td class="mdRow">
564       <table cellpadding="0" cellspacing="0" border="0">
565         <tr>
566           <td class="md" nowrap valign="top">bool InspSocket::OnDataReady           </td>
567           <td class="md" valign="top">(&nbsp;</td>
568           <td class="mdname1" valign="top" nowrap>          </td>
569           <td class="md" valign="top">&nbsp;)&nbsp;</td>
570           <td class="md" nowrap><code> [virtual]</code></td>
571         </tr>
572       </table>
573     </td>
574   </tr>
575 </table>
576 <table cellspacing="5" cellpadding="0" border="0">
577   <tr>
578     <td>
579       &nbsp;
580     </td>
581     <td>
582
583 <p>
584
585 <p>
586 Definition at line <a class="el" href="socket_8cpp-source.html#l00261">261</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
587 <p>
588 Referenced by <a class="el" href="socket_8cpp-source.html#l00197">Poll()</a>.<div class="fragment"><pre class="fragment"><a name="l00261"></a>00261 { <span class="keywordflow">return</span> <span class="keyword">true</span>; }
589 </pre></div>
590 <p>
591     </td>
592   </tr>
593 </table>
594 <a class="anchor" name="OnDisconnect_28_29"></a><!-- doxytag: member="InspSocket::OnDisconnect" ref="OnDisconnect_28_29" args="()" --><p>
595 <table class="mdTable" cellpadding="2" cellspacing="0">
596   <tr>
597     <td class="mdRow">
598       <table cellpadding="0" cellspacing="0" border="0">
599         <tr>
600           <td class="md" nowrap valign="top">int InspSocket::OnDisconnect           </td>
601           <td class="md" valign="top">(&nbsp;</td>
602           <td class="mdname1" valign="top" nowrap>          </td>
603           <td class="md" valign="top">&nbsp;)&nbsp;</td>
604           <td class="md" nowrap><code> [virtual]</code></td>
605         </tr>
606       </table>
607     </td>
608   </tr>
609 </table>
610 <table cellspacing="5" cellpadding="0" border="0">
611   <tr>
612     <td>
613       &nbsp;
614     </td>
615     <td>
616
617 <p>
618
619 <p>
620 Definition at line <a class="el" href="socket_8cpp-source.html#l00259">259</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00259"></a>00259 { <span class="keywordflow">return</span> 0; }
621 </pre></div>
622 <p>
623     </td>
624   </tr>
625 </table>
626 <a class="anchor" name="OnError_28InspSocketError_20e_29"></a><!-- doxytag: member="InspSocket::OnError" ref="OnError_28InspSocketError_20e_29" args="(InspSocketError e)" --><p>
627 <table class="mdTable" cellpadding="2" cellspacing="0">
628   <tr>
629     <td class="mdRow">
630       <table cellpadding="0" cellspacing="0" border="0">
631         <tr>
632           <td class="md" nowrap valign="top">void InspSocket::OnError           </td>
633           <td class="md" valign="top">(&nbsp;</td>
634           <td class="md" nowrap valign="top"><a class="el" href="socket_8h.html#InspSocketError">InspSocketError</a>&nbsp;</td>
635           <td class="mdname1" valign="top" nowrap> <em>e</em>          </td>
636           <td class="md" valign="top">&nbsp;)&nbsp;</td>
637           <td class="md" nowrap><code> [virtual]</code></td>
638         </tr>
639       </table>
640     </td>
641   </tr>
642 </table>
643 <table cellspacing="5" cellpadding="0" border="0">
644   <tr>
645     <td>
646       &nbsp;
647     </td>
648     <td>
649
650 <p>
651
652 <p>
653 Definition at line <a class="el" href="socket_8cpp-source.html#l00258">258</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
654 <p>
655 Referenced by <a class="el" href="socket_8cpp-source.html#l00062">InspSocket()</a>, and <a class="el" href="socket_8cpp-source.html#l00197">Poll()</a>.<div class="fragment"><pre class="fragment"><a name="l00258"></a>00258 { <span class="keywordflow">return</span>; }
656 </pre></div>
657 <p>
658     </td>
659   </tr>
660 </table>
661 <a class="anchor" name="OnIncomingConnection_28int_20newfd_2C_20char_20_2Aip_29"></a><!-- doxytag: member="InspSocket::OnIncomingConnection" ref="OnIncomingConnection_28int_20newfd_2C_20char_20_2Aip_29" args="(int newfd, char *ip)" --><p>
662 <table class="mdTable" cellpadding="2" cellspacing="0">
663   <tr>
664     <td class="mdRow">
665       <table cellpadding="0" cellspacing="0" border="0">
666         <tr>
667           <td class="md" nowrap valign="top">int InspSocket::OnIncomingConnection           </td>
668           <td class="md" valign="top">(&nbsp;</td>
669           <td class="md" nowrap valign="top">int&nbsp;</td>
670           <td class="mdname" nowrap> <em>newfd</em>, </td>
671         </tr>
672         <tr>
673           <td class="md" nowrap align="right"></td>
674           <td class="md"></td>
675           <td class="md" nowrap>char *&nbsp;</td>
676           <td class="mdname" nowrap> <em>ip</em></td>
677         </tr>
678         <tr>
679           <td class="md"></td>
680           <td class="md">)&nbsp;</td>
681           <td class="md" colspan="2"><code> [virtual]</code></td>
682         </tr>
683       </table>
684     </td>
685   </tr>
686 </table>
687 <table cellspacing="5" cellpadding="0" border="0">
688   <tr>
689     <td>
690       &nbsp;
691     </td>
692     <td>
693
694 <p>
695
696 <p>
697 Definition at line <a class="el" href="socket_8cpp-source.html#l00260">260</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
698 <p>
699 Referenced by <a class="el" href="socket_8cpp-source.html#l00197">Poll()</a>.<div class="fragment"><pre class="fragment"><a name="l00260"></a>00260 { <span class="keywordflow">return</span> 0; }
700 </pre></div>
701 <p>
702     </td>
703   </tr>
704 </table>
705 <a class="anchor" name="OnTimeout_28_29"></a><!-- doxytag: member="InspSocket::OnTimeout" ref="OnTimeout_28_29" args="()" --><p>
706 <table class="mdTable" cellpadding="2" cellspacing="0">
707   <tr>
708     <td class="mdRow">
709       <table cellpadding="0" cellspacing="0" border="0">
710         <tr>
711           <td class="md" nowrap valign="top">void InspSocket::OnTimeout           </td>
712           <td class="md" valign="top">(&nbsp;</td>
713           <td class="mdname1" valign="top" nowrap>          </td>
714           <td class="md" valign="top">&nbsp;)&nbsp;</td>
715           <td class="md" nowrap><code> [virtual]</code></td>
716         </tr>
717       </table>
718     </td>
719   </tr>
720 </table>
721 <table cellspacing="5" cellpadding="0" border="0">
722   <tr>
723     <td>
724       &nbsp;
725     </td>
726     <td>
727
728 <p>
729
730 <p>
731 Definition at line <a class="el" href="socket_8cpp-source.html#l00262">262</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
732 <p>
733 Referenced by <a class="el" href="socket_8cpp-source.html#l00197">Poll()</a>.<div class="fragment"><pre class="fragment"><a name="l00262"></a>00262 { <span class="keywordflow">return</span>; }
734 </pre></div>
735 <p>
736     </td>
737   </tr>
738 </table>
739 <a class="anchor" name="Poll_28_29"></a><!-- doxytag: member="InspSocket::Poll" ref="Poll_28_29" args="()" --><p>
740 <table class="mdTable" cellpadding="2" cellspacing="0">
741   <tr>
742     <td class="mdRow">
743       <table cellpadding="0" cellspacing="0" border="0">
744         <tr>
745           <td class="md" nowrap valign="top">bool InspSocket::Poll           </td>
746           <td class="md" valign="top">(&nbsp;</td>
747           <td class="mdname1" valign="top" nowrap>          </td>
748           <td class="md" valign="top">&nbsp;)&nbsp;</td>
749           <td class="md" nowrap></td>
750         </tr>
751       </table>
752     </td>
753   </tr>
754 </table>
755 <table cellspacing="5" cellpadding="0" border="0">
756   <tr>
757     <td>
758       &nbsp;
759     </td>
760     <td>
761
762 <p>
763
764 <p>
765 Definition at line <a class="el" href="socket_8cpp-source.html#l00197">197</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
766 <p>
767 References <a class="el" href="socketengine_8cpp-source.html#l00065">SocketEngine::AddFd()</a>, <a class="el" href="socket_8h-source.html#l00044">client</a>, <a class="el" href="socketengine_8cpp-source.html#l00103">SocketEngine::DelFd()</a>, <a class="el" href="socket_8h.html#InspSocketStateI_5FCONNECTED">I_CONNECTED</a>, <a class="el" href="socket_8h.html#InspSocketStateI_5FCONNECTING">I_CONNECTING</a>, <a class="el" href="socket_8h.html#InspSocketErrorI_5FERR_5FTIMEOUT">I_ERR_TIMEOUT</a>, <a class="el" href="socket_8h.html#InspSocketStateI_5FERROR">I_ERROR</a>, <a class="el" href="socket_8h.html#InspSocketStateI_5FLISTENING">I_LISTENING</a>, <a class="el" href="socket_8h-source.html#l00046">length</a>, <a class="el" href="socket_8cpp-source.html#l00257">OnConnected()</a>, <a class="el" href="socket_8cpp-source.html#l00261">OnDataReady()</a>, <a class="el" href="socket_8cpp-source.html#l00258">OnError()</a>, <a class="el" href="socket_8cpp-source.html#l00260">OnIncomingConnection()</a>, <a class="el" href="socket_8cpp-source.html#l00262">OnTimeout()</a>, <a class="el" href="socket_8cpp-source.html#l00241">SetState()</a>, <a class="el" href="socket_8h-source.html#l00036">state</a>, <a class="el" href="socket_8h-source.html#l00040">timeout</a>, <a class="el" href="socket_8h-source.html#l00039">timeout_end</a>, and <a class="el" href="socketengine_8h-source.html#l00044">X_ESTAB_MODULE</a>.<div class="fragment"><pre class="fragment"><a name="l00198"></a>00198 {
768 <a name="l00199"></a>00199         <span class="keywordflow">if</span> ((time(NULL) &gt; <a class="code" href="classInspSocket.html#timeout_5Fend">timeout_end</a>) &amp;&amp; (this-&gt;state == <a class="code" href="socket_8h.html#InspSocketStateI_5FCONNECTING">I_CONNECTING</a>))
769 <a name="l00200"></a>00200         {
770 <a name="l00201"></a>00201                 <span class="comment">// for non-listening sockets, the timeout can occur</span>
771 <a name="l00202"></a>00202                 <span class="comment">// which causes termination of the connection after</span>
772 <a name="l00203"></a>00203                 <span class="comment">// the given number of seconds without a successful</span>
773 <a name="l00204"></a>00204                 <span class="comment">// connection.</span>
774 <a name="l00205"></a>00205                 this-&gt;<a class="code" href="classInspSocket.html#OnTimeout_28_29">OnTimeout</a>();
775 <a name="l00206"></a>00206                 this-&gt;<a class="code" href="classInspSocket.html#OnError_28InspSocketError_20e_29">OnError</a>(<a class="code" href="socket_8h.html#InspSocketErrorI_5FERR_5FTIMEOUT">I_ERR_TIMEOUT</a>);
776 <a name="l00207"></a>00207                 <a class="code" href="classInspSocket.html#timeout">timeout</a> = <span class="keyword">true</span>;
777 <a name="l00208"></a>00208                 this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = <a class="code" href="socket_8h.html#InspSocketStateI_5FERROR">I_ERROR</a>;
778 <a name="l00209"></a>00209                 <span class="keywordflow">return</span> <span class="keyword">false</span>;
779 <a name="l00210"></a>00210         }
780 <a name="l00211"></a>00211 
781 <a name="l00212"></a>00212         <span class="keywordtype">int</span> incoming = -1;
782 <a name="l00213"></a>00213         
783 <a name="l00214"></a>00214         <span class="keywordflow">switch</span> (this-&gt;state)
784 <a name="l00215"></a>00215         {
785 <a name="l00216"></a>00216                 <span class="keywordflow">case</span> <a class="code" href="socket_8h.html#InspSocketStateI_5FCONNECTING">I_CONNECTING</a>:
786 <a name="l00217"></a>00217                         this-&gt;<a class="code" href="classInspSocket.html#SetState_28InspSocketState_20s_29">SetState</a>(<a class="code" href="socket_8h.html#InspSocketStateI_5FCONNECTED">I_CONNECTED</a>);
787 <a name="l00218"></a>00218                         <span class="comment">/* Our socket was in write-state, so delete it and re-add it</span>
788 <a name="l00219"></a>00219 <span class="comment">                         * in read-state.</span>
789 <a name="l00220"></a>00220 <span class="comment">                         */</span>
790 <a name="l00221"></a>00221                         <a class="code" href="modules_8cpp.html#SE">SE</a>-&gt;<a class="code" href="classSocketEngine.html#DelFd_28int_20fd_29">DelFd</a>(this-&gt;fd);
791 <a name="l00222"></a>00222                         <a class="code" href="modules_8cpp.html#SE">SE</a>-&gt;<a class="code" href="classSocketEngine.html#AddFd_28int_20fd_2C_20bool_20readable_2C_20char_20type_29">AddFd</a>(this-&gt;fd,<span class="keyword">true</span>,<a class="code" href="socketengine_8h.html#X_5FESTAB_5FMODULE">X_ESTAB_MODULE</a>);
792 <a name="l00223"></a>00223                         <span class="keywordflow">return</span> this-&gt;<a class="code" href="classInspSocket.html#OnConnected_28_29">OnConnected</a>();
793 <a name="l00224"></a>00224                 <span class="keywordflow">break</span>;
794 <a name="l00225"></a>00225                 <span class="keywordflow">case</span> <a class="code" href="socket_8h.html#InspSocketStateI_5FLISTENING">I_LISTENING</a>:
795 <a name="l00226"></a>00226                         <a class="code" href="classInspSocket.html#length">length</a> = <span class="keyword">sizeof</span> (<a class="code" href="classInspSocket.html#client">client</a>);
796 <a name="l00227"></a>00227                         incoming = accept (this-&gt;fd, (sockaddr*)&amp;<a class="code" href="classInspSocket.html#client">client</a>,&amp;<a class="code" href="classInspSocket.html#length">length</a>);
797 <a name="l00228"></a>00228                         this-&gt;<a class="code" href="classInspSocket.html#OnIncomingConnection_28int_20newfd_2C_20char_20_2Aip_29">OnIncomingConnection</a>(incoming,inet_ntoa(<a class="code" href="classInspSocket.html#client">client</a>.sin_addr));
798 <a name="l00229"></a>00229                         <span class="keywordflow">return</span> <span class="keyword">true</span>;
799 <a name="l00230"></a>00230                 <span class="keywordflow">break</span>;
800 <a name="l00231"></a>00231                 <span class="keywordflow">case</span> <a class="code" href="socket_8h.html#InspSocketStateI_5FCONNECTED">I_CONNECTED</a>:
801 <a name="l00232"></a>00232                         <span class="keywordflow">return</span> this-&gt;<a class="code" href="classInspSocket.html#OnDataReady_28_29">OnDataReady</a>();
802 <a name="l00233"></a>00233                 <span class="keywordflow">break</span>;
803 <a name="l00234"></a>00234                 <span class="keywordflow">default</span>:
804 <a name="l00235"></a>00235                 <span class="keywordflow">break</span>;
805 <a name="l00236"></a>00236         }
806 <a name="l00237"></a>00237 
807 <a name="l00238"></a>00238         <span class="keywordflow">return</span> <span class="keyword">true</span>;
808 <a name="l00239"></a>00239 }
809 </pre></div>
810 <p>
811     </td>
812   </tr>
813 </table>
814 <a class="anchor" name="Read_28_29"></a><!-- doxytag: member="InspSocket::Read" ref="Read_28_29" args="()" --><p>
815 <table class="mdTable" cellpadding="2" cellspacing="0">
816   <tr>
817     <td class="mdRow">
818       <table cellpadding="0" cellspacing="0" border="0">
819         <tr>
820           <td class="md" nowrap valign="top">char * InspSocket::Read           </td>
821           <td class="md" valign="top">(&nbsp;</td>
822           <td class="mdname1" valign="top" nowrap>          </td>
823           <td class="md" valign="top">&nbsp;)&nbsp;</td>
824           <td class="md" nowrap><code> [virtual]</code></td>
825         </tr>
826       </table>
827     </td>
828   </tr>
829 </table>
830 <table cellspacing="5" cellpadding="0" border="0">
831   <tr>
832     <td>
833       &nbsp;
834     </td>
835     <td>
836
837 <p>
838
839 <p>
840 Definition at line <a class="el" href="socket_8cpp-source.html#l00155">155</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
841 <p>
842 References <a class="el" href="modules_8h-source.html#l00023">DEBUG</a>, and <a class="el" href="socket_8h-source.html#l00042">ibuf</a>.<div class="fragment"><pre class="fragment"><a name="l00156"></a>00156 {
843 <a name="l00157"></a>00157         <span class="keywordtype">int</span> n = recv(this-&gt;fd,this-&gt;ibuf,<span class="keyword">sizeof</span>(this-&gt;ibuf),0);
844 <a name="l00158"></a>00158         <span class="keywordflow">if</span> (n &gt; 0)
845 <a name="l00159"></a>00159         {
846 <a name="l00160"></a>00160                 <a class="code" href="classInspSocket.html#ibuf_5B_31_36_33_38_34_5D">ibuf</a>[n] = 0;
847 <a name="l00161"></a>00161                 <span class="keywordflow">return</span> <a class="code" href="classInspSocket.html#ibuf_5B_31_36_33_38_34_5D">ibuf</a>;
848 <a name="l00162"></a>00162         }
849 <a name="l00163"></a>00163         <span class="keywordflow">else</span>
850 <a name="l00164"></a>00164         {
851 <a name="l00165"></a>00165                 log(<a class="code" href="modules_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"EOF or error on socket"</span>);
852 <a name="l00166"></a>00166                 <span class="keywordflow">return</span> NULL;
853 <a name="l00167"></a>00167         }
854 <a name="l00168"></a>00168 }
855 </pre></div>
856 <p>
857     </td>
858   </tr>
859 </table>
860 <a class="anchor" name="SetState_28InspSocketState_20s_29"></a><!-- doxytag: member="InspSocket::SetState" ref="SetState_28InspSocketState_20s_29" args="(InspSocketState s)" --><p>
861 <table class="mdTable" cellpadding="2" cellspacing="0">
862   <tr>
863     <td class="mdRow">
864       <table cellpadding="0" cellspacing="0" border="0">
865         <tr>
866           <td class="md" nowrap valign="top">void InspSocket::SetState           </td>
867           <td class="md" valign="top">(&nbsp;</td>
868           <td class="md" nowrap valign="top"><a class="el" href="socket_8h.html#InspSocketState">InspSocketState</a>&nbsp;</td>
869           <td class="mdname1" valign="top" nowrap> <em>s</em>          </td>
870           <td class="md" valign="top">&nbsp;)&nbsp;</td>
871           <td class="md" nowrap></td>
872         </tr>
873       </table>
874     </td>
875   </tr>
876 </table>
877 <table cellspacing="5" cellpadding="0" border="0">
878   <tr>
879     <td>
880       &nbsp;
881     </td>
882     <td>
883
884 <p>
885
886 <p>
887 Definition at line <a class="el" href="socket_8cpp-source.html#l00241">241</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
888 <p>
889 References <a class="el" href="modules_8h-source.html#l00023">DEBUG</a>, and <a class="el" href="socket_8h-source.html#l00036">state</a>.
890 <p>
891 Referenced by <a class="el" href="socket_8cpp-source.html#l00197">Poll()</a>.<div class="fragment"><pre class="fragment"><a name="l00242"></a>00242 {
892 <a name="l00243"></a>00243         log(<a class="code" href="modules_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"Socket state change"</span>);
893 <a name="l00244"></a>00244         this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = s;
894 <a name="l00245"></a>00245 }
895 </pre></div>
896 <p>
897     </td>
898   </tr>
899 </table>
900 <a class="anchor" name="Write_28std_3A_3Astring_20data_29"></a><!-- doxytag: member="InspSocket::Write" ref="Write_28std_3A_3Astring_20data_29" args="(std::string data)" --><p>
901 <table class="mdTable" cellpadding="2" cellspacing="0">
902   <tr>
903     <td class="mdRow">
904       <table cellpadding="0" cellspacing="0" border="0">
905         <tr>
906           <td class="md" nowrap valign="top">int InspSocket::Write           </td>
907           <td class="md" valign="top">(&nbsp;</td>
908           <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
909           <td class="mdname1" valign="top" nowrap> <em>data</em>          </td>
910           <td class="md" valign="top">&nbsp;)&nbsp;</td>
911           <td class="md" nowrap><code> [virtual]</code></td>
912         </tr>
913       </table>
914     </td>
915   </tr>
916 </table>
917 <table cellspacing="5" cellpadding="0" border="0">
918   <tr>
919     <td>
920       &nbsp;
921     </td>
922     <td>
923
924 <p>
925
926 <p>
927 Definition at line <a class="el" href="socket_8cpp-source.html#l00174">174</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00175"></a>00175 {
928 <a name="l00176"></a>00176         <span class="keywordtype">char</span>* d = (<span class="keywordtype">char</span>*)data.c_str();
929 <a name="l00177"></a>00177         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> written = 0;
930 <a name="l00178"></a>00178         <span class="keywordtype">int</span> n = 0;
931 <a name="l00179"></a>00179         <span class="keywordtype">int</span> s = data.length();
932 <a name="l00180"></a>00180         <span class="keywordflow">while</span> ((written &lt; data.length()) &amp;&amp; (n &gt;= 0))
933 <a name="l00181"></a>00181         {
934 <a name="l00182"></a>00182                 n = send(this-&gt;fd,d,s,0);
935 <a name="l00183"></a>00183                 <span class="keywordflow">if</span> (n &gt; 0)
936 <a name="l00184"></a>00184                 {
937 <a name="l00185"></a>00185                         <span class="comment">// If we didnt write everything, advance</span>
938 <a name="l00186"></a>00186                         <span class="comment">// the pointers so that when we retry</span>
939 <a name="l00187"></a>00187                         <span class="comment">// the next time around the loop, we try</span>
940 <a name="l00188"></a>00188                         <span class="comment">// to write what we failed to write before.</span>
941 <a name="l00189"></a>00189                         written += n;
942 <a name="l00190"></a>00190                         s -= n;
943 <a name="l00191"></a>00191                         d += n;
944 <a name="l00192"></a>00192                 }
945 <a name="l00193"></a>00193         }
946 <a name="l00194"></a>00194         <span class="keywordflow">return</span> written;
947 <a name="l00195"></a>00195 }
948 </pre></div>
949 <p>
950     </td>
951   </tr>
952 </table>
953 <hr><h2>Member Data Documentation</h2>
954 <a class="anchor" name="addr"></a><!-- doxytag: member="InspSocket::addr" ref="addr" args="" --><p>
955 <table class="mdTable" cellpadding="2" cellspacing="0">
956   <tr>
957     <td class="mdRow">
958       <table cellpadding="0" cellspacing="0" border="0">
959         <tr>
960           <td class="md" nowrap valign="top">sockaddr_in <a class="el" href="classInspSocket.html#addr">InspSocket::addr</a><code> [private]</code>          </td>
961         </tr>
962       </table>
963     </td>
964   </tr>
965 </table>
966 <table cellspacing="5" cellpadding="0" border="0">
967   <tr>
968     <td>
969       &nbsp;
970     </td>
971     <td>
972
973 <p>
974
975 <p>
976 Definition at line <a class="el" href="socket_8h-source.html#l00037">37</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>.
977 <p>
978 Referenced by <a class="el" href="socket_8cpp-source.html#l00062">InspSocket()</a>.    </td>
979   </tr>
980 </table>
981 <a class="anchor" name="addy"></a><!-- doxytag: member="InspSocket::addy" ref="addy" args="" --><p>
982 <table class="mdTable" cellpadding="2" cellspacing="0">
983   <tr>
984     <td class="mdRow">
985       <table cellpadding="0" cellspacing="0" border="0">
986         <tr>
987           <td class="md" nowrap valign="top">in_addr <a class="el" href="classInspSocket.html#addy">InspSocket::addy</a><code> [private]</code>          </td>
988         </tr>
989       </table>
990     </td>
991   </tr>
992 </table>
993 <table cellspacing="5" cellpadding="0" border="0">
994   <tr>
995     <td>
996       &nbsp;
997     </td>
998     <td>
999
1000 <p>
1001
1002 <p>
1003 Definition at line <a class="el" href="socket_8h-source.html#l00038">38</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>.
1004 <p>
1005 Referenced by <a class="el" href="socket_8cpp-source.html#l00062">InspSocket()</a>.    </td>
1006   </tr>
1007 </table>
1008 <a class="anchor" name="client"></a><!-- doxytag: member="InspSocket::client" ref="client" args="" --><p>
1009 <table class="mdTable" cellpadding="2" cellspacing="0">
1010   <tr>
1011     <td class="mdRow">
1012       <table cellpadding="0" cellspacing="0" border="0">
1013         <tr>
1014           <td class="md" nowrap valign="top">sockaddr_in <a class="el" href="classInspSocket.html#client">InspSocket::client</a><code> [private]</code>          </td>
1015         </tr>
1016       </table>
1017     </td>
1018   </tr>
1019 </table>
1020 <table cellspacing="5" cellpadding="0" border="0">
1021   <tr>
1022     <td>
1023       &nbsp;
1024     </td>
1025     <td>
1026
1027 <p>
1028
1029 <p>
1030 Definition at line <a class="el" href="socket_8h-source.html#l00044">44</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>.
1031 <p>
1032 Referenced by <a class="el" href="socket_8cpp-source.html#l00197">Poll()</a>.    </td>
1033   </tr>
1034 </table>
1035 <a class="anchor" name="fd"></a><!-- doxytag: member="InspSocket::fd" ref="fd" args="" --><p>
1036 <table class="mdTable" cellpadding="2" cellspacing="0">
1037   <tr>
1038     <td class="mdRow">
1039       <table cellpadding="0" cellspacing="0" border="0">
1040         <tr>
1041           <td class="md" nowrap valign="top">int <a class="el" href="classInspSocket.html#fd">InspSocket::fd</a><code> [private]</code>          </td>
1042         </tr>
1043       </table>
1044     </td>
1045   </tr>
1046 </table>
1047 <table cellspacing="5" cellpadding="0" border="0">
1048   <tr>
1049     <td>
1050       &nbsp;
1051     </td>
1052     <td>
1053
1054 <p>
1055
1056 <p>
1057 Definition at line <a class="el" href="socket_8h-source.html#l00033">33</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>.
1058 <p>
1059 Referenced by <a class="el" href="socket_8cpp-source.html#l00139">Close()</a>, <a class="el" href="socket_8cpp-source.html#l00252">GetFd()</a>, and <a class="el" href="socket_8cpp-source.html#l00054">InspSocket()</a>.    </td>
1060   </tr>
1061 </table>
1062 <a class="anchor" name="host"></a><!-- doxytag: member="InspSocket::host" ref="host" args="" --><p>
1063 <table class="mdTable" cellpadding="2" cellspacing="0">
1064   <tr>
1065     <td class="mdRow">
1066       <table cellpadding="0" cellspacing="0" border="0">
1067         <tr>
1068           <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a> <a class="el" href="classInspSocket.html#host">InspSocket::host</a><code> [private]</code>          </td>
1069         </tr>
1070       </table>
1071     </td>
1072   </tr>
1073 </table>
1074 <table cellspacing="5" cellpadding="0" border="0">
1075   <tr>
1076     <td>
1077       &nbsp;
1078     </td>
1079     <td>
1080
1081 <p>
1082
1083 <p>
1084 Definition at line <a class="el" href="socket_8h-source.html#l00034">34</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>.    </td>
1085   </tr>
1086 </table>
1087 <a class="anchor" name="ibuf_5B_31_36_33_38_34_5D"></a><!-- doxytag: member="InspSocket::ibuf" ref="ibuf_5B_31_36_33_38_34_5D" args="[16384]" --><p>
1088 <table class="mdTable" cellpadding="2" cellspacing="0">
1089   <tr>
1090     <td class="mdRow">
1091       <table cellpadding="0" cellspacing="0" border="0">
1092         <tr>
1093           <td class="md" nowrap valign="top">char <a class="el" href="classInspSocket.html#ibuf_5B_31_36_33_38_34_5D">InspSocket::ibuf</a>[16384]<code> [private]</code>          </td>
1094         </tr>
1095       </table>
1096     </td>
1097   </tr>
1098 </table>
1099 <table cellspacing="5" cellpadding="0" border="0">
1100   <tr>
1101     <td>
1102       &nbsp;
1103     </td>
1104     <td>
1105
1106 <p>
1107
1108 <p>
1109 Definition at line <a class="el" href="socket_8h-source.html#l00042">42</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>.
1110 <p>
1111 Referenced by <a class="el" href="socket_8cpp-source.html#l00155">Read()</a>.    </td>
1112   </tr>
1113 </table>
1114 <a class="anchor" name="IP"></a><!-- doxytag: member="InspSocket::IP" ref="IP" args="" --><p>
1115 <table class="mdTable" cellpadding="2" cellspacing="0">
1116   <tr>
1117     <td class="mdRow">
1118       <table cellpadding="0" cellspacing="0" border="0">
1119         <tr>
1120           <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a> <a class="el" href="classInspSocket.html#IP">InspSocket::IP</a><code> [private]</code>          </td>
1121         </tr>
1122       </table>
1123     </td>
1124   </tr>
1125 </table>
1126 <table cellspacing="5" cellpadding="0" border="0">
1127   <tr>
1128     <td>
1129       &nbsp;
1130     </td>
1131     <td>
1132
1133 <p>
1134
1135 <p>
1136 Definition at line <a class="el" href="socket_8h-source.html#l00043">43</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>.
1137 <p>
1138 Referenced by <a class="el" href="socket_8cpp-source.html#l00150">GetIP()</a>, and <a class="el" href="socket_8cpp-source.html#l00054">InspSocket()</a>.    </td>
1139   </tr>
1140 </table>
1141 <a class="anchor" name="length"></a><!-- doxytag: member="InspSocket::length" ref="length" args="" --><p>
1142 <table class="mdTable" cellpadding="2" cellspacing="0">
1143   <tr>
1144     <td class="mdRow">
1145       <table cellpadding="0" cellspacing="0" border="0">
1146         <tr>
1147           <td class="md" nowrap valign="top">socklen_t <a class="el" href="classInspSocket.html#length">InspSocket::length</a><code> [private]</code>          </td>
1148         </tr>
1149       </table>
1150     </td>
1151   </tr>
1152 </table>
1153 <table cellspacing="5" cellpadding="0" border="0">
1154   <tr>
1155     <td>
1156       &nbsp;
1157     </td>
1158     <td>
1159
1160 <p>
1161
1162 <p>
1163 Definition at line <a class="el" href="socket_8h-source.html#l00046">46</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>.
1164 <p>
1165 Referenced by <a class="el" href="socket_8cpp-source.html#l00197">Poll()</a>.    </td>
1166   </tr>
1167 </table>
1168 <a class="anchor" name="polls"></a><!-- doxytag: member="InspSocket::polls" ref="polls" args="" --><p>
1169 <table class="mdTable" cellpadding="2" cellspacing="0">
1170   <tr>
1171     <td class="mdRow">
1172       <table cellpadding="0" cellspacing="0" border="0">
1173         <tr>
1174           <td class="md" nowrap valign="top">pollfd <a class="el" href="classInspSocket.html#polls">InspSocket::polls</a><code> [private]</code>          </td>
1175         </tr>
1176       </table>
1177     </td>
1178   </tr>
1179 </table>
1180 <table cellspacing="5" cellpadding="0" border="0">
1181   <tr>
1182     <td>
1183       &nbsp;
1184     </td>
1185     <td>
1186
1187 <p>
1188
1189 <p>
1190 Definition at line <a class="el" href="socket_8h-source.html#l00041">41</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>.    </td>
1191   </tr>
1192 </table>
1193 <a class="anchor" name="port"></a><!-- doxytag: member="InspSocket::port" ref="port" args="" --><p>
1194 <table class="mdTable" cellpadding="2" cellspacing="0">
1195   <tr>
1196     <td class="mdRow">
1197       <table cellpadding="0" cellspacing="0" border="0">
1198         <tr>
1199           <td class="md" nowrap valign="top">int <a class="el" href="classInspSocket.html#port">InspSocket::port</a><code> [private]</code>          </td>
1200         </tr>
1201       </table>
1202     </td>
1203   </tr>
1204 </table>
1205 <table cellspacing="5" cellpadding="0" border="0">
1206   <tr>
1207     <td>
1208       &nbsp;
1209     </td>
1210     <td>
1211
1212 <p>
1213
1214 <p>
1215 Definition at line <a class="el" href="socket_8h-source.html#l00035">35</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>.    </td>
1216   </tr>
1217 </table>
1218 <a class="anchor" name="server"></a><!-- doxytag: member="InspSocket::server" ref="server" args="" --><p>
1219 <table class="mdTable" cellpadding="2" cellspacing="0">
1220   <tr>
1221     <td class="mdRow">
1222       <table cellpadding="0" cellspacing="0" border="0">
1223         <tr>
1224           <td class="md" nowrap valign="top">sockaddr_in <a class="el" href="classInspSocket.html#server">InspSocket::server</a><code> [private]</code>          </td>
1225         </tr>
1226       </table>
1227     </td>
1228   </tr>
1229 </table>
1230 <table cellspacing="5" cellpadding="0" border="0">
1231   <tr>
1232     <td>
1233       &nbsp;
1234     </td>
1235     <td>
1236
1237 <p>
1238
1239 <p>
1240 Definition at line <a class="el" href="socket_8h-source.html#l00045">45</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>.    </td>
1241   </tr>
1242 </table>
1243 <a class="anchor" name="state"></a><!-- doxytag: member="InspSocket::state" ref="state" args="" --><p>
1244 <table class="mdTable" cellpadding="2" cellspacing="0">
1245   <tr>
1246     <td class="mdRow">
1247       <table cellpadding="0" cellspacing="0" border="0">
1248         <tr>
1249           <td class="md" nowrap valign="top"><a class="el" href="socket_8h.html#InspSocketState">InspSocketState</a> <a class="el" href="classInspSocket.html#state">InspSocket::state</a><code> [private]</code>          </td>
1250         </tr>
1251       </table>
1252     </td>
1253   </tr>
1254 </table>
1255 <table cellspacing="5" cellpadding="0" border="0">
1256   <tr>
1257     <td>
1258       &nbsp;
1259     </td>
1260     <td>
1261
1262 <p>
1263
1264 <p>
1265 Definition at line <a class="el" href="socket_8h-source.html#l00036">36</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>.
1266 <p>
1267 Referenced by <a class="el" href="socket_8cpp-source.html#l00247">GetState()</a>, <a class="el" href="socket_8cpp-source.html#l00049">InspSocket()</a>, <a class="el" href="socket_8cpp-source.html#l00197">Poll()</a>, and <a class="el" href="socket_8cpp-source.html#l00241">SetState()</a>.    </td>
1268   </tr>
1269 </table>
1270 <a class="anchor" name="timeout"></a><!-- doxytag: member="InspSocket::timeout" ref="timeout" args="" --><p>
1271 <table class="mdTable" cellpadding="2" cellspacing="0">
1272   <tr>
1273     <td class="mdRow">
1274       <table cellpadding="0" cellspacing="0" border="0">
1275         <tr>
1276           <td class="md" nowrap valign="top">bool <a class="el" href="classInspSocket.html#timeout">InspSocket::timeout</a><code> [private]</code>          </td>
1277         </tr>
1278       </table>
1279     </td>
1280   </tr>
1281 </table>
1282 <table cellspacing="5" cellpadding="0" border="0">
1283   <tr>
1284     <td>
1285       &nbsp;
1286     </td>
1287     <td>
1288
1289 <p>
1290
1291 <p>
1292 Definition at line <a class="el" href="socket_8h-source.html#l00040">40</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>.
1293 <p>
1294 Referenced by <a class="el" href="socket_8cpp-source.html#l00062">InspSocket()</a>, and <a class="el" href="socket_8cpp-source.html#l00197">Poll()</a>.    </td>
1295   </tr>
1296 </table>
1297 <a class="anchor" name="timeout_5Fend"></a><!-- doxytag: member="InspSocket::timeout_end" ref="timeout_5Fend" args="" --><p>
1298 <table class="mdTable" cellpadding="2" cellspacing="0">
1299   <tr>
1300     <td class="mdRow">
1301       <table cellpadding="0" cellspacing="0" border="0">
1302         <tr>
1303           <td class="md" nowrap valign="top">time_t <a class="el" href="classInspSocket.html#timeout_5Fend">InspSocket::timeout_end</a><code> [private]</code>          </td>
1304         </tr>
1305       </table>
1306     </td>
1307   </tr>
1308 </table>
1309 <table cellspacing="5" cellpadding="0" border="0">
1310   <tr>
1311     <td>
1312       &nbsp;
1313     </td>
1314     <td>
1315
1316 <p>
1317
1318 <p>
1319 Definition at line <a class="el" href="socket_8h-source.html#l00039">39</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>.
1320 <p>
1321 Referenced by <a class="el" href="socket_8cpp-source.html#l00062">InspSocket()</a>, and <a class="el" href="socket_8cpp-source.html#l00197">Poll()</a>.    </td>
1322   </tr>
1323 </table>
1324 <hr>The documentation for this class was generated from the following files:<ul>
1325 <li><a class="el" href="socket_8h-source.html">socket.h</a><li><a class="el" href="socket_8cpp-source.html">socket.cpp</a></ul>
1326 <hr size="1"><address style="align: right;"><small>Generated on Mon Dec 12 13:31:12 2005 for InspIRCd by&nbsp;
1327 <a href="http://www.doxygen.org/index.html">
1328 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
1329 </body>
1330 </html>