]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - docs/module-doc/classircd__connector.html
New documentation!
[user/henk/code/inspircd.git] / docs / module-doc / classircd__connector.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3 <title>InspIRCd: ircd_connector class Reference</title>
4 <link href="inspircd.css" rel="stylesheet" type="text/css">
5 </head><body>
6 <!-- Generated by Doxygen 1.3.3 -->
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">Compound&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Compound&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
8 <h1>ircd_connector Class Reference</h1>Each connection has one or more of these each represents ONE outbound connection to another ircd so each inbound has multiple outbounds.  
9 <a href="#_details">More...</a>
10 <p>
11 <code>#include &lt;<a class="el" href="connection_8h-source.html">connection.h</a>&gt;</code>
12 <p>
13 Inherits <a class="el" href="classExtensible.html">Extensible</a>.
14 <p>
15 <a href="classircd__connector-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
16 <tr><td></td></tr>
17 <tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
18 <tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a0">MakeOutboundConnection</a> (char *newhost, int newport)</td></tr>
19
20 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create an outbound connection to a listening socket. </em> <a href="#a0"></a><em><br><br></td></tr>
21 <tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a1">GetServerName</a> ()</td></tr>
22
23 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the servername on this established connection. </em> <a href="#a1"></a><em><br><br></td></tr>
24 <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a2">SetServerName</a> (std::string serv)</td></tr>
25
26 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the server name of this connection. </em> <a href="#a2"></a><em><br><br></td></tr>
27 <tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a3">GetDescriptor</a> ()</td></tr>
28
29 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the file descriptor associated with this connection. </em> <a href="#a3"></a><em><br><br></td></tr>
30 <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a4">SetDescriptor</a> (int <a class="el" href="classircd__connector.html#r1">fd</a>)</td></tr>
31
32 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the file descriptor for this connection. </em> <a href="#a4"></a><em><br><br></td></tr>
33 <tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a5">GetState</a> ()</td></tr>
34
35 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the state flags for this connection. </em> <a href="#a5"></a><em><br><br></td></tr>
36 <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a6">SetState</a> (int <a class="el" href="classircd__connector.html#r4">state</a>)</td></tr>
37
38 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the state flags for this connection. </em> <a href="#a6"></a><em><br><br></td></tr>
39 <tr><td class="memItemLeft" nowrap align=right valign=top>char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a7">GetServerIP</a> ()</td></tr>
40
41 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the ip address (not servername) associated with this connection. </em> <a href="#a7"></a><em><br><br></td></tr>
42 <tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a8">GetDescription</a> ()</td></tr>
43
44 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the server description of this connection. </em> <a href="#a8"></a><em><br><br></td></tr>
45 <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a9">SetDescription</a> (std::string desc)</td></tr>
46
47 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the server description of this connection. </em> <a href="#a9"></a><em><br><br></td></tr>
48 <tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a10">GetServerPort</a> ()</td></tr>
49
50 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the port number being used for this connection If the connection is outbound this will be the remote port otherwise it will be the local port, so it can always be gautanteed as open at the address given in <a class="el" href="classircd__connector.html#a7">GetServerIP()</a>. </em> <a href="#a10"></a><em><br><br></td></tr>
51 <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a11">SetServerPort</a> (int p)</td></tr>
52
53 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the port used by this connection. </em> <a href="#a11"></a><em><br><br></td></tr>
54 <tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a12">SetHostAndPort</a> (char *newhost, int newport)</td></tr>
55
56 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set both the host and the port in one operation for this connection. </em> <a href="#a12"></a><em><br><br></td></tr>
57 <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a13">CloseConnection</a> ()</td></tr>
58
59 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Close the connection by calling close() on its file descriptor This function call updates no other data. </em> <a href="#a13"></a><em><br><br></td></tr>
60 <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a14">AddBuffer</a> (std::string a)</td></tr>
61
62 <tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a15">BufferIsComplete</a> ()</td></tr>
63
64 <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a16">ClearBuffer</a> ()</td></tr>
65
66 <tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a17">GetBuffer</a> ()</td></tr>
67
68 <tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
69 <tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#o0">ircdbuffer</a></td></tr>
70
71 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IRCD Buffer for input characters, holds one line. </em> <a href="#o0"></a><em><br><br></td></tr>
72 <tr><td class="memItemLeft" nowrap align=right valign=top>char&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#o1">host</a> [MAXBUF]</td></tr>
73
74 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">When MakeOutboundConnection is called, these public members are filled with the details passed to the function, for future reference. </em> <a href="#o1"></a><em><br><br></td></tr>
75 <tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#o2">port</a></td></tr>
76
77 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">When MakeOutboundConnection is called, these public members are filled with the details passed to the function, for future reference. </em> <a href="#o2"></a><em><br><br></td></tr>
78 <tr><td class="memItemLeft" nowrap align=right valign=top>std::vector&lt; std::string &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#o3">routes</a></td></tr>
79
80 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classServer.html">Server</a> names of servers that this server is linked to So for A-&gt;B-&gt;C, if this was the record for B it would contain A and C whilever both servers are connected to B. </em> <a href="#o3"></a><em><br><br></td></tr>
81 <tr><td colspan=2><br><h2>Private Member Functions</h2></td></tr>
82 <tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#d0">SetHostAddress</a> (char *<a class="el" href="classircd__connector.html#o1">host</a>, int <a class="el" href="classircd__connector.html#o2">port</a>)</td></tr>
83
84 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">PRIVATE function to set the host address and port to connect to. </em> <a href="#d0"></a><em><br><br></td></tr>
85 <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
86 <tr><td class="memItemLeft" nowrap align=right valign=top>sockaddr_in&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#r0">addr</a></td></tr>
87
88 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sockaddr of the outbound ip and port. </em> <a href="#r0"></a><em><br><br></td></tr>
89 <tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#r1">fd</a></td></tr>
90
91 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">File descriptor of the connection. </em> <a href="#r1"></a><em><br><br></td></tr>
92 <tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#r2">servername</a></td></tr>
93
94 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classServer.html">Server</a> name. </em> <a href="#r2"></a><em><br><br></td></tr>
95 <tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#r3">description</a></td></tr>
96
97 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classServer.html">Server</a> 'GECOS'. </em> <a href="#r3"></a><em><br><br></td></tr>
98 <tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#r4">state</a></td></tr>
99
100 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">State. </em> <a href="#r4"></a><em><br><br></td></tr>
101 </table>
102 <hr><a name="_details"></a><h2>Detailed Description</h2>
103 Each connection has one or more of these each represents ONE outbound connection to another ircd so each inbound has multiple outbounds. 
104 <p>
105 A listening socket that accepts server type connections is represented by one class serverrec. Class serverrec will instantiate several objects of type ircd_connector to represent each established connection, inbound or outbound. So, to determine all linked servers you must walk through all the serverrecs that the core defines, and in each one iterate through until you find connection(s) relating to the server you want information on. The core and module API provide functions for this. 
106 <p>
107
108 <p>
109 Definition at line <a class="el" href="connection_8h-source.html#l00054">54</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.<hr><h2>Member Function Documentation</h2>
110 <a name="a14" doxytag="ircd_connector::AddBuffer"></a><p>
111 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
112   <tr>
113     <td class="mdRow">
114       <table cellpadding="0" cellspacing="0" border="0">
115         <tr>
116           <td class="md" nowrap valign="top"> void ircd_connector::AddBuffer </td>
117           <td class="md" valign="top">(&nbsp;</td>
118           <td class="md" nowrap valign="top">std::string&nbsp;</td>
119           <td class="mdname1" valign="top" nowrap> <em>a</em>          </td>
120           <td class="md" valign="top">&nbsp;)&nbsp;</td>
121           <td class="md" nowrap></td>
122         </tr>
123
124       </table>
125     </td>
126   </tr>
127 </table>
128 <table cellspacing=5 cellpadding=0 border=0>
129   <tr>
130     <td>
131       &nbsp;
132     </td>
133     <td>
134
135 <p>
136     </td>
137   </tr>
138 </table>
139 <a name="a15" doxytag="ircd_connector::BufferIsComplete"></a><p>
140 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
141   <tr>
142     <td class="mdRow">
143       <table cellpadding="0" cellspacing="0" border="0">
144         <tr>
145           <td class="md" nowrap valign="top"> bool ircd_connector::BufferIsComplete </td>
146           <td class="md" valign="top">(&nbsp;</td>
147           <td class="mdname1" valign="top" nowrap>          </td>
148           <td class="md" valign="top">&nbsp;)&nbsp;</td>
149           <td class="md" nowrap></td>
150         </tr>
151
152       </table>
153     </td>
154   </tr>
155 </table>
156 <table cellspacing=5 cellpadding=0 border=0>
157   <tr>
158     <td>
159       &nbsp;
160     </td>
161     <td>
162
163 <p>
164     </td>
165   </tr>
166 </table>
167 <a name="a16" doxytag="ircd_connector::ClearBuffer"></a><p>
168 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
169   <tr>
170     <td class="mdRow">
171       <table cellpadding="0" cellspacing="0" border="0">
172         <tr>
173           <td class="md" nowrap valign="top"> void ircd_connector::ClearBuffer </td>
174           <td class="md" valign="top">(&nbsp;</td>
175           <td class="mdname1" valign="top" nowrap>          </td>
176           <td class="md" valign="top">&nbsp;)&nbsp;</td>
177           <td class="md" nowrap></td>
178         </tr>
179
180       </table>
181     </td>
182   </tr>
183 </table>
184 <table cellspacing=5 cellpadding=0 border=0>
185   <tr>
186     <td>
187       &nbsp;
188     </td>
189     <td>
190
191 <p>
192     </td>
193   </tr>
194 </table>
195 <a name="a13" doxytag="ircd_connector::CloseConnection"></a><p>
196 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
197   <tr>
198     <td class="mdRow">
199       <table cellpadding="0" cellspacing="0" border="0">
200         <tr>
201           <td class="md" nowrap valign="top"> void ircd_connector::CloseConnection </td>
202           <td class="md" valign="top">(&nbsp;</td>
203           <td class="mdname1" valign="top" nowrap>          </td>
204           <td class="md" valign="top">&nbsp;)&nbsp;</td>
205           <td class="md" nowrap></td>
206         </tr>
207
208       </table>
209     </td>
210   </tr>
211 </table>
212 <table cellspacing=5 cellpadding=0 border=0>
213   <tr>
214     <td>
215       &nbsp;
216     </td>
217     <td>
218
219 <p>
220 Close the connection by calling close() on its file descriptor This function call updates no other data. 
221 <p>
222     </td>
223   </tr>
224 </table>
225 <a name="a17" doxytag="ircd_connector::GetBuffer"></a><p>
226 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
227   <tr>
228     <td class="mdRow">
229       <table cellpadding="0" cellspacing="0" border="0">
230         <tr>
231           <td class="md" nowrap valign="top"> std::string ircd_connector::GetBuffer </td>
232           <td class="md" valign="top">(&nbsp;</td>
233           <td class="mdname1" valign="top" nowrap>          </td>
234           <td class="md" valign="top">&nbsp;)&nbsp;</td>
235           <td class="md" nowrap></td>
236         </tr>
237
238       </table>
239     </td>
240   </tr>
241 </table>
242 <table cellspacing=5 cellpadding=0 border=0>
243   <tr>
244     <td>
245       &nbsp;
246     </td>
247     <td>
248
249 <p>
250     </td>
251   </tr>
252 </table>
253 <a name="a8" doxytag="ircd_connector::GetDescription"></a><p>
254 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
255   <tr>
256     <td class="mdRow">
257       <table cellpadding="0" cellspacing="0" border="0">
258         <tr>
259           <td class="md" nowrap valign="top"> std::string ircd_connector::GetDescription </td>
260           <td class="md" valign="top">(&nbsp;</td>
261           <td class="mdname1" valign="top" nowrap>          </td>
262           <td class="md" valign="top">&nbsp;)&nbsp;</td>
263           <td class="md" nowrap></td>
264         </tr>
265
266       </table>
267     </td>
268   </tr>
269 </table>
270 <table cellspacing=5 cellpadding=0 border=0>
271   <tr>
272     <td>
273       &nbsp;
274     </td>
275     <td>
276
277 <p>
278 Get the server description of this connection. 
279 <p>
280     </td>
281   </tr>
282 </table>
283 <a name="a3" doxytag="ircd_connector::GetDescriptor"></a><p>
284 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
285   <tr>
286     <td class="mdRow">
287       <table cellpadding="0" cellspacing="0" border="0">
288         <tr>
289           <td class="md" nowrap valign="top"> int ircd_connector::GetDescriptor </td>
290           <td class="md" valign="top">(&nbsp;</td>
291           <td class="mdname1" valign="top" nowrap>          </td>
292           <td class="md" valign="top">&nbsp;)&nbsp;</td>
293           <td class="md" nowrap></td>
294         </tr>
295
296       </table>
297     </td>
298   </tr>
299 </table>
300 <table cellspacing=5 cellpadding=0 border=0>
301   <tr>
302     <td>
303       &nbsp;
304     </td>
305     <td>
306
307 <p>
308 Get the file descriptor associated with this connection. 
309 <p>
310     </td>
311   </tr>
312 </table>
313 <a name="a7" doxytag="ircd_connector::GetServerIP"></a><p>
314 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
315   <tr>
316     <td class="mdRow">
317       <table cellpadding="0" cellspacing="0" border="0">
318         <tr>
319           <td class="md" nowrap valign="top"> char* ircd_connector::GetServerIP </td>
320           <td class="md" valign="top">(&nbsp;</td>
321           <td class="mdname1" valign="top" nowrap>          </td>
322           <td class="md" valign="top">&nbsp;)&nbsp;</td>
323           <td class="md" nowrap></td>
324         </tr>
325
326       </table>
327     </td>
328   </tr>
329 </table>
330 <table cellspacing=5 cellpadding=0 border=0>
331   <tr>
332     <td>
333       &nbsp;
334     </td>
335     <td>
336
337 <p>
338 Get the ip address (not servername) associated with this connection. 
339 <p>
340     </td>
341   </tr>
342 </table>
343 <a name="a1" doxytag="ircd_connector::GetServerName"></a><p>
344 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
345   <tr>
346     <td class="mdRow">
347       <table cellpadding="0" cellspacing="0" border="0">
348         <tr>
349           <td class="md" nowrap valign="top"> std::string ircd_connector::GetServerName </td>
350           <td class="md" valign="top">(&nbsp;</td>
351           <td class="mdname1" valign="top" nowrap>          </td>
352           <td class="md" valign="top">&nbsp;)&nbsp;</td>
353           <td class="md" nowrap></td>
354         </tr>
355
356       </table>
357     </td>
358   </tr>
359 </table>
360 <table cellspacing=5 cellpadding=0 border=0>
361   <tr>
362     <td>
363       &nbsp;
364     </td>
365     <td>
366
367 <p>
368 Return the servername on this established connection. 
369 <p>
370     </td>
371   </tr>
372 </table>
373 <a name="a10" doxytag="ircd_connector::GetServerPort"></a><p>
374 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
375   <tr>
376     <td class="mdRow">
377       <table cellpadding="0" cellspacing="0" border="0">
378         <tr>
379           <td class="md" nowrap valign="top"> int ircd_connector::GetServerPort </td>
380           <td class="md" valign="top">(&nbsp;</td>
381           <td class="mdname1" valign="top" nowrap>          </td>
382           <td class="md" valign="top">&nbsp;)&nbsp;</td>
383           <td class="md" nowrap></td>
384         </tr>
385
386       </table>
387     </td>
388   </tr>
389 </table>
390 <table cellspacing=5 cellpadding=0 border=0>
391   <tr>
392     <td>
393       &nbsp;
394     </td>
395     <td>
396
397 <p>
398 Get the port number being used for this connection If the connection is outbound this will be the remote port otherwise it will be the local port, so it can always be gautanteed as open at the address given in <a class="el" href="classircd__connector.html#a7">GetServerIP()</a>. 
399 <p>
400     </td>
401   </tr>
402 </table>
403 <a name="a5" doxytag="ircd_connector::GetState"></a><p>
404 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
405   <tr>
406     <td class="mdRow">
407       <table cellpadding="0" cellspacing="0" border="0">
408         <tr>
409           <td class="md" nowrap valign="top"> int ircd_connector::GetState </td>
410           <td class="md" valign="top">(&nbsp;</td>
411           <td class="mdname1" valign="top" nowrap>          </td>
412           <td class="md" valign="top">&nbsp;)&nbsp;</td>
413           <td class="md" nowrap></td>
414         </tr>
415
416       </table>
417     </td>
418   </tr>
419 </table>
420 <table cellspacing=5 cellpadding=0 border=0>
421   <tr>
422     <td>
423       &nbsp;
424     </td>
425     <td>
426
427 <p>
428 Get the state flags for this connection. 
429 <p>
430     </td>
431   </tr>
432 </table>
433 <a name="a0" doxytag="ircd_connector::MakeOutboundConnection"></a><p>
434 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
435   <tr>
436     <td class="mdRow">
437       <table cellpadding="0" cellspacing="0" border="0">
438         <tr>
439           <td class="md" nowrap valign="top"> bool ircd_connector::MakeOutboundConnection </td>
440           <td class="md" valign="top">(&nbsp;</td>
441           <td class="md" nowrap valign="top">char *&nbsp;</td>
442           <td class="mdname" nowrap> <em>newhost</em>, </td>
443         </tr>
444         <tr>
445           <td></td>
446           <td></td>
447           <td class="md" nowrap>int&nbsp;</td>
448           <td class="mdname" nowrap> <em>newport</em></td>
449         </tr>
450         <tr>
451           <td></td>
452           <td class="md">)&nbsp;</td>
453           <td class="md" colspan="2"></td>
454         </tr>
455
456       </table>
457     </td>
458   </tr>
459 </table>
460 <table cellspacing=5 cellpadding=0 border=0>
461   <tr>
462     <td>
463       &nbsp;
464     </td>
465     <td>
466
467 <p>
468 Create an outbound connection to a listening socket. 
469 <p>
470     </td>
471   </tr>
472 </table>
473 <a name="a9" doxytag="ircd_connector::SetDescription"></a><p>
474 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
475   <tr>
476     <td class="mdRow">
477       <table cellpadding="0" cellspacing="0" border="0">
478         <tr>
479           <td class="md" nowrap valign="top"> void ircd_connector::SetDescription </td>
480           <td class="md" valign="top">(&nbsp;</td>
481           <td class="md" nowrap valign="top">std::string&nbsp;</td>
482           <td class="mdname1" valign="top" nowrap> <em>desc</em>          </td>
483           <td class="md" valign="top">&nbsp;)&nbsp;</td>
484           <td class="md" nowrap></td>
485         </tr>
486
487       </table>
488     </td>
489   </tr>
490 </table>
491 <table cellspacing=5 cellpadding=0 border=0>
492   <tr>
493     <td>
494       &nbsp;
495     </td>
496     <td>
497
498 <p>
499 Set the server description of this connection. 
500 <p>
501     </td>
502   </tr>
503 </table>
504 <a name="a4" doxytag="ircd_connector::SetDescriptor"></a><p>
505 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
506   <tr>
507     <td class="mdRow">
508       <table cellpadding="0" cellspacing="0" border="0">
509         <tr>
510           <td class="md" nowrap valign="top"> void ircd_connector::SetDescriptor </td>
511           <td class="md" valign="top">(&nbsp;</td>
512           <td class="md" nowrap valign="top">int&nbsp;</td>
513           <td class="mdname1" valign="top" nowrap> <em>fd</em>          </td>
514           <td class="md" valign="top">&nbsp;)&nbsp;</td>
515           <td class="md" nowrap></td>
516         </tr>
517
518       </table>
519     </td>
520   </tr>
521 </table>
522 <table cellspacing=5 cellpadding=0 border=0>
523   <tr>
524     <td>
525       &nbsp;
526     </td>
527     <td>
528
529 <p>
530 Set the file descriptor for this connection. 
531 <p>
532     </td>
533   </tr>
534 </table>
535 <a name="d0" doxytag="ircd_connector::SetHostAddress"></a><p>
536 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
537   <tr>
538     <td class="mdRow">
539       <table cellpadding="0" cellspacing="0" border="0">
540         <tr>
541           <td class="md" nowrap valign="top"> bool ircd_connector::SetHostAddress </td>
542           <td class="md" valign="top">(&nbsp;</td>
543           <td class="md" nowrap valign="top">char *&nbsp;</td>
544           <td class="mdname" nowrap> <em>host</em>, </td>
545         </tr>
546         <tr>
547           <td></td>
548           <td></td>
549           <td class="md" nowrap>int&nbsp;</td>
550           <td class="mdname" nowrap> <em>port</em></td>
551         </tr>
552         <tr>
553           <td></td>
554           <td class="md">)&nbsp;</td>
555           <td class="md" colspan="2"><code> [private]</code></td>
556         </tr>
557
558       </table>
559     </td>
560   </tr>
561 </table>
562 <table cellspacing=5 cellpadding=0 border=0>
563   <tr>
564     <td>
565       &nbsp;
566     </td>
567     <td>
568
569 <p>
570 PRIVATE function to set the host address and port to connect to. 
571 <p>
572     </td>
573   </tr>
574 </table>
575 <a name="a12" doxytag="ircd_connector::SetHostAndPort"></a><p>
576 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
577   <tr>
578     <td class="mdRow">
579       <table cellpadding="0" cellspacing="0" border="0">
580         <tr>
581           <td class="md" nowrap valign="top"> bool ircd_connector::SetHostAndPort </td>
582           <td class="md" valign="top">(&nbsp;</td>
583           <td class="md" nowrap valign="top">char *&nbsp;</td>
584           <td class="mdname" nowrap> <em>newhost</em>, </td>
585         </tr>
586         <tr>
587           <td></td>
588           <td></td>
589           <td class="md" nowrap>int&nbsp;</td>
590           <td class="mdname" nowrap> <em>newport</em></td>
591         </tr>
592         <tr>
593           <td></td>
594           <td class="md">)&nbsp;</td>
595           <td class="md" colspan="2"></td>
596         </tr>
597
598       </table>
599     </td>
600   </tr>
601 </table>
602 <table cellspacing=5 cellpadding=0 border=0>
603   <tr>
604     <td>
605       &nbsp;
606     </td>
607     <td>
608
609 <p>
610 Set both the host and the port in one operation for this connection. 
611 <p>
612     </td>
613   </tr>
614 </table>
615 <a name="a2" doxytag="ircd_connector::SetServerName"></a><p>
616 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
617   <tr>
618     <td class="mdRow">
619       <table cellpadding="0" cellspacing="0" border="0">
620         <tr>
621           <td class="md" nowrap valign="top"> void ircd_connector::SetServerName </td>
622           <td class="md" valign="top">(&nbsp;</td>
623           <td class="md" nowrap valign="top">std::string&nbsp;</td>
624           <td class="mdname1" valign="top" nowrap> <em>serv</em>          </td>
625           <td class="md" valign="top">&nbsp;)&nbsp;</td>
626           <td class="md" nowrap></td>
627         </tr>
628
629       </table>
630     </td>
631   </tr>
632 </table>
633 <table cellspacing=5 cellpadding=0 border=0>
634   <tr>
635     <td>
636       &nbsp;
637     </td>
638     <td>
639
640 <p>
641 Set the server name of this connection. 
642 <p>
643     </td>
644   </tr>
645 </table>
646 <a name="a11" doxytag="ircd_connector::SetServerPort"></a><p>
647 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
648   <tr>
649     <td class="mdRow">
650       <table cellpadding="0" cellspacing="0" border="0">
651         <tr>
652           <td class="md" nowrap valign="top"> void ircd_connector::SetServerPort </td>
653           <td class="md" valign="top">(&nbsp;</td>
654           <td class="md" nowrap valign="top">int&nbsp;</td>
655           <td class="mdname1" valign="top" nowrap> <em>p</em>          </td>
656           <td class="md" valign="top">&nbsp;)&nbsp;</td>
657           <td class="md" nowrap></td>
658         </tr>
659
660       </table>
661     </td>
662   </tr>
663 </table>
664 <table cellspacing=5 cellpadding=0 border=0>
665   <tr>
666     <td>
667       &nbsp;
668     </td>
669     <td>
670
671 <p>
672 Set the port used by this connection. 
673 <p>
674     </td>
675   </tr>
676 </table>
677 <a name="a6" doxytag="ircd_connector::SetState"></a><p>
678 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
679   <tr>
680     <td class="mdRow">
681       <table cellpadding="0" cellspacing="0" border="0">
682         <tr>
683           <td class="md" nowrap valign="top"> void ircd_connector::SetState </td>
684           <td class="md" valign="top">(&nbsp;</td>
685           <td class="md" nowrap valign="top">int&nbsp;</td>
686           <td class="mdname1" valign="top" nowrap> <em>state</em>          </td>
687           <td class="md" valign="top">&nbsp;)&nbsp;</td>
688           <td class="md" nowrap></td>
689         </tr>
690
691       </table>
692     </td>
693   </tr>
694 </table>
695 <table cellspacing=5 cellpadding=0 border=0>
696   <tr>
697     <td>
698       &nbsp;
699     </td>
700     <td>
701
702 <p>
703 Set the state flags for this connection. 
704 <p>
705     </td>
706   </tr>
707 </table>
708 <hr><h2>Member Data Documentation</h2>
709 <a name="r0" doxytag="ircd_connector::addr"></a><p>
710 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
711   <tr>
712     <td class="mdRow">
713       <table cellpadding="0" cellspacing="0" border="0">
714         <tr>
715           <td class="md" nowrap valign="top"> sockaddr_in <a class="el" href="classircd__connector.html#r0">ircd_connector::addr</a><code> [private]</code>
716       </table>
717     </td>
718   </tr>
719 </table>
720 <table cellspacing=5 cellpadding=0 border=0>
721   <tr>
722     <td>
723       &nbsp;
724     </td>
725     <td>
726
727 <p>
728 Sockaddr of the outbound ip and port. 
729 <p>
730
731 <p>
732 Definition at line <a class="el" href="connection_8h-source.html#l00059">59</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.    </td>
733   </tr>
734 </table>
735 <a name="r3" doxytag="ircd_connector::description"></a><p>
736 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
737   <tr>
738     <td class="mdRow">
739       <table cellpadding="0" cellspacing="0" border="0">
740         <tr>
741           <td class="md" nowrap valign="top"> std::string <a class="el" href="classircd__connector.html#r3">ircd_connector::description</a><code> [private]</code>
742       </table>
743     </td>
744   </tr>
745 </table>
746 <table cellspacing=5 cellpadding=0 border=0>
747   <tr>
748     <td>
749       &nbsp;
750     </td>
751     <td>
752
753 <p>
754 <a class="el" href="classServer.html">Server</a> 'GECOS'. 
755 <p>
756
757 <p>
758 Definition at line <a class="el" href="connection_8h-source.html#l00071">71</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.    </td>
759   </tr>
760 </table>
761 <a name="r1" doxytag="ircd_connector::fd"></a><p>
762 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
763   <tr>
764     <td class="mdRow">
765       <table cellpadding="0" cellspacing="0" border="0">
766         <tr>
767           <td class="md" nowrap valign="top"> int <a class="el" href="classircd__connector.html#r1">ircd_connector::fd</a><code> [private]</code>
768       </table>
769     </td>
770   </tr>
771 </table>
772 <table cellspacing=5 cellpadding=0 border=0>
773   <tr>
774     <td>
775       &nbsp;
776     </td>
777     <td>
778
779 <p>
780 File descriptor of the connection. 
781 <p>
782
783 <p>
784 Definition at line <a class="el" href="connection_8h-source.html#l00063">63</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.    </td>
785   </tr>
786 </table>
787 <a name="o1" doxytag="ircd_connector::host"></a><p>
788 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
789   <tr>
790     <td class="mdRow">
791       <table cellpadding="0" cellspacing="0" border="0">
792         <tr>
793           <td class="md" nowrap valign="top"> char <a class="el" href="classircd__connector.html#o1">ircd_connector::host</a>[MAXBUF]
794       </table>
795     </td>
796   </tr>
797 </table>
798 <table cellspacing=5 cellpadding=0 border=0>
799   <tr>
800     <td>
801       &nbsp;
802     </td>
803     <td>
804
805 <p>
806 When MakeOutboundConnection is called, these public members are filled with the details passed to the function, for future reference. 
807 <p>
808
809 <p>
810 Definition at line <a class="el" href="connection_8h-source.html#l00094">94</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.    </td>
811   </tr>
812 </table>
813 <a name="o0" doxytag="ircd_connector::ircdbuffer"></a><p>
814 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
815   <tr>
816     <td class="mdRow">
817       <table cellpadding="0" cellspacing="0" border="0">
818         <tr>
819           <td class="md" nowrap valign="top"> std::string <a class="el" href="classircd__connector.html#o0">ircd_connector::ircdbuffer</a>
820       </table>
821     </td>
822   </tr>
823 </table>
824 <table cellspacing=5 cellpadding=0 border=0>
825   <tr>
826     <td>
827       &nbsp;
828     </td>
829     <td>
830
831 <p>
832 IRCD Buffer for input characters, holds one line. 
833 <p>
834
835 <p>
836 Definition at line <a class="el" href="connection_8h-source.html#l00087">87</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.    </td>
837   </tr>
838 </table>
839 <a name="o2" doxytag="ircd_connector::port"></a><p>
840 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
841   <tr>
842     <td class="mdRow">
843       <table cellpadding="0" cellspacing="0" border="0">
844         <tr>
845           <td class="md" nowrap valign="top"> int <a class="el" href="classircd__connector.html#o2">ircd_connector::port</a>
846       </table>
847     </td>
848   </tr>
849 </table>
850 <table cellspacing=5 cellpadding=0 border=0>
851   <tr>
852     <td>
853       &nbsp;
854     </td>
855     <td>
856
857 <p>
858 When MakeOutboundConnection is called, these public members are filled with the details passed to the function, for future reference. 
859 <p>
860
861 <p>
862 Definition at line <a class="el" href="connection_8h-source.html#l00100">100</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.    </td>
863   </tr>
864 </table>
865 <a name="o3" doxytag="ircd_connector::routes"></a><p>
866 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
867   <tr>
868     <td class="mdRow">
869       <table cellpadding="0" cellspacing="0" border="0">
870         <tr>
871           <td class="md" nowrap valign="top"> std::vector&lt;std::string&gt; <a class="el" href="classircd__connector.html#o3">ircd_connector::routes</a>
872       </table>
873     </td>
874   </tr>
875 </table>
876 <table cellspacing=5 cellpadding=0 border=0>
877   <tr>
878     <td>
879       &nbsp;
880     </td>
881     <td>
882
883 <p>
884 <a class="el" href="classServer.html">Server</a> names of servers that this server is linked to So for A-&gt;B-&gt;C, if this was the record for B it would contain A and C whilever both servers are connected to B. 
885 <p>
886
887 <p>
888 Definition at line <a class="el" href="connection_8h-source.html#l00106">106</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.    </td>
889   </tr>
890 </table>
891 <a name="r2" doxytag="ircd_connector::servername"></a><p>
892 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
893   <tr>
894     <td class="mdRow">
895       <table cellpadding="0" cellspacing="0" border="0">
896         <tr>
897           <td class="md" nowrap valign="top"> std::string <a class="el" href="classircd__connector.html#r2">ircd_connector::servername</a><code> [private]</code>
898       </table>
899     </td>
900   </tr>
901 </table>
902 <table cellspacing=5 cellpadding=0 border=0>
903   <tr>
904     <td>
905       &nbsp;
906     </td>
907     <td>
908
909 <p>
910 <a class="el" href="classServer.html">Server</a> name. 
911 <p>
912
913 <p>
914 Definition at line <a class="el" href="connection_8h-source.html#l00067">67</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.    </td>
915   </tr>
916 </table>
917 <a name="r4" doxytag="ircd_connector::state"></a><p>
918 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
919   <tr>
920     <td class="mdRow">
921       <table cellpadding="0" cellspacing="0" border="0">
922         <tr>
923           <td class="md" nowrap valign="top"> int <a class="el" href="classircd__connector.html#r4">ircd_connector::state</a><code> [private]</code>
924       </table>
925     </td>
926   </tr>
927 </table>
928 <table cellspacing=5 cellpadding=0 border=0>
929   <tr>
930     <td>
931       &nbsp;
932     </td>
933     <td>
934
935 <p>
936 State. 
937 <p>
938 STATE_NOAUTH_INBOUND, STATE_NOAUTH_OUTBOUND STATE_SYNC, STATE_DISCONNECTED, STATE_CONNECTED
939 <p>
940 Definition at line <a class="el" href="connection_8h-source.html#l00076">76</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.    </td>
941   </tr>
942 </table>
943 <hr>The documentation for this class was generated from the following file:<ul>
944 <li><a class="el" href="connection_8h-source.html">connection.h</a></ul>
945 <hr size="1"><address style="align: right;"><small>Generated on Tue Apr 26 17:11:48 2005 for InspIRCd by
946 <a href="http://www.doxygen.org/index.html">
947 <img src="doxygen.png" alt="doxygen" align="middle" border=0 > 
948 </a>1.3.3 </small></address>
949 </body>
950 </html>