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">
6 <!-- Generated by Doxygen 1.3.3 -->
7 <div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Compound List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Compound Members</a> | <a class="qindex" href="globals.html">File 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>
11 <code>#include <<a class="el" href="connection_8h-source.html">connection.h</a>></code>
13 Inherits <a class="el" href="classExtensible.html">Extensible</a>.
15 <a href="classircd__connector-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
17 <tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
18 <tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a0">MakeOutboundConnection</a> (char *newhost, int newport)</td></tr>
20 <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a1">GetServerName</a> ()</td></tr>
23 <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a2">SetServerName</a> (std::string serv)</td></tr>
26 <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a3">GetDescriptor</a> ()</td></tr>
29 <tr><td class="mdescLeft"> </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 </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>
32 <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a5">GetState</a> ()</td></tr>
35 <tr><td class="mdescLeft"> </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 </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>
38 <tr><td class="mdescLeft"> </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 * </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a7">GetServerIP</a> ()</td></tr>
41 <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a8">GetDescription</a> ()</td></tr>
44 <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a9">SetDescription</a> (std::string desc)</td></tr>
47 <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a10">GetServerPort</a> ()</td></tr>
50 <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a11">SetServerPort</a> (int p)</td></tr>
53 <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a12">SetHostAndPort</a> (char *newhost, int newport)</td></tr>
56 <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a13">CloseConnection</a> ()</td></tr>
59 <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a14">AddBuffer</a> (std::string a)</td></tr>
62 <tr><td class="mdescLeft"> </td><td class="mdescRight">This method adds text to the ircd connection's buffer There is no limitation on how much text of what line width may be added to this buffer. </em> <a href="#a14"></a><em><br><br></td></tr>
63 <tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a15">BufferIsComplete</a> ()</td></tr>
65 <tr><td class="mdescLeft"> </td><td class="mdescRight">This method returns true if the buffer contains at least one carriage return character, e.g. </em> <a href="#a15"></a><em><br><br></td></tr>
66 <tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a16">ClearBuffer</a> ()</td></tr>
68 <tr><td class="mdescLeft"> </td><td class="mdescRight">This method clears the server's buffer by setting it to an empty string. </em> <a href="#a16"></a><em><br><br></td></tr>
69 <tr><td class="memItemLeft" nowrap align=right valign=top>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a17">GetBuffer</a> ()</td></tr>
71 <tr><td class="mdescLeft"> </td><td class="mdescRight">This method retrieves the first string from the tail end of the buffer and advances the tail end of the buffer past the returned string, in a similar manner to strtok(). </em> <a href="#a17"></a><em><br><br></td></tr>
72 <tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a18">SetVersionString</a> (std::string newversion)</td></tr>
74 <tr><td class="mdescLeft"> </td><td class="mdescRight">This method sets the version string of the remote server. </em> <a href="#a18"></a><em><br><br></td></tr>
75 <tr><td class="memItemLeft" nowrap align=right valign=top>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a19">GetVersionString</a> ()</td></tr>
77 <tr><td class="mdescLeft"> </td><td class="mdescRight">This method returns the version string of the remote server. </em> <a href="#a19"></a><em><br><br></td></tr>
78 <tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
79 <tr><td class="memItemLeft" nowrap align=right valign=top>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#o0">ircdbuffer</a></td></tr>
81 <tr><td class="mdescLeft"> </td><td class="mdescRight">IRCD Buffer for input characters, holds as many lines as are pending - Note that the final line may not be complete and should only be read when there is a <br>
82 seperator. </em> <a href="#o0"></a><em><br><br></td></tr>
83 <tr><td class="memItemLeft" nowrap align=right valign=top>char </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#o1">host</a> [MAXBUF]</td></tr>
85 <tr><td class="mdescLeft"> </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>
86 <tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#o2">port</a></td></tr>
88 <tr><td class="mdescLeft"> </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>
89 <tr><td class="memItemLeft" nowrap align=right valign=top>std::vector< std::string > </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#o3">routes</a></td></tr>
91 <tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classServer.html">Server</a> names of servers that this server is linked to So for A->B->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>
92 <tr><td colspan=2><br><h2>Private Member Functions</h2></td></tr>
93 <tr><td class="memItemLeft" nowrap align=right valign=top>bool </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>
95 <tr><td class="mdescLeft"> </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>
96 <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
97 <tr><td class="memItemLeft" nowrap align=right valign=top>sockaddr_in </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#r0">addr</a></td></tr>
99 <tr><td class="mdescLeft"> </td><td class="mdescRight">Sockaddr of the outbound ip and port. </em> <a href="#r0"></a><em><br><br></td></tr>
100 <tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#r1">fd</a></td></tr>
102 <tr><td class="mdescLeft"> </td><td class="mdescRight">File descriptor of the connection. </em> <a href="#r1"></a><em><br><br></td></tr>
103 <tr><td class="memItemLeft" nowrap align=right valign=top>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#r2">servername</a></td></tr>
105 <tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classServer.html">Server</a> name. </em> <a href="#r2"></a><em><br><br></td></tr>
106 <tr><td class="memItemLeft" nowrap align=right valign=top>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#r3">description</a></td></tr>
108 <tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classServer.html">Server</a> 'GECOS'. </em> <a href="#r3"></a><em><br><br></td></tr>
109 <tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#r4">state</a></td></tr>
111 <tr><td class="mdescLeft"> </td><td class="mdescRight">State. </em> <a href="#r4"></a><em><br><br></td></tr>
112 <tr><td class="memItemLeft" nowrap align=right valign=top>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#r5">version</a></td></tr>
114 <tr><td class="mdescLeft"> </td><td class="mdescRight">This string holds the ircd's version response. </em> <a href="#r5"></a><em><br><br></td></tr>
116 <hr><a name="_details"></a><h2>Detailed Description</h2>
117 Each connection has one or more of these each represents ONE outbound connection to another ircd so each inbound has multiple outbounds.
119 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.
123 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>
124 <a name="a14" doxytag="ircd_connector::AddBuffer"></a><p>
125 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
128 <table cellpadding="0" cellspacing="0" border="0">
130 <td class="md" nowrap valign="top"> void ircd_connector::AddBuffer </td>
131 <td class="md" valign="top">( </td>
132 <td class="md" nowrap valign="top">std::string </td>
133 <td class="mdname1" valign="top" nowrap> <em>a</em> </td>
134 <td class="md" valign="top"> ) </td>
135 <td class="md" nowrap></td>
142 <table cellspacing=5 cellpadding=0 border=0>
150 This method adds text to the ircd connection's buffer There is no limitation on how much text of what line width may be added to this buffer.
152 It is the sending server's responsibility to ensure sent data is kept within reasonable quanities. </td>
155 <a name="a15" doxytag="ircd_connector::BufferIsComplete"></a><p>
156 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
159 <table cellpadding="0" cellspacing="0" border="0">
161 <td class="md" nowrap valign="top"> bool ircd_connector::BufferIsComplete </td>
162 <td class="md" valign="top">( </td>
163 <td class="mdname1" valign="top" nowrap> </td>
164 <td class="md" valign="top"> ) </td>
165 <td class="md" nowrap></td>
172 <table cellspacing=5 cellpadding=0 border=0>
180 This method returns true if the buffer contains at least one carriage return character, e.g.
182 one line can be read from the buffer successfully. </td>
185 <a name="a16" doxytag="ircd_connector::ClearBuffer"></a><p>
186 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
189 <table cellpadding="0" cellspacing="0" border="0">
191 <td class="md" nowrap valign="top"> void ircd_connector::ClearBuffer </td>
192 <td class="md" valign="top">( </td>
193 <td class="mdname1" valign="top" nowrap> </td>
194 <td class="md" valign="top"> ) </td>
195 <td class="md" nowrap></td>
202 <table cellspacing=5 cellpadding=0 border=0>
210 This method clears the server's buffer by setting it to an empty string.
215 <a name="a13" doxytag="ircd_connector::CloseConnection"></a><p>
216 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
219 <table cellpadding="0" cellspacing="0" border="0">
221 <td class="md" nowrap valign="top"> void ircd_connector::CloseConnection </td>
222 <td class="md" valign="top">( </td>
223 <td class="mdname1" valign="top" nowrap> </td>
224 <td class="md" valign="top"> ) </td>
225 <td class="md" nowrap></td>
232 <table cellspacing=5 cellpadding=0 border=0>
240 Close the connection by calling close() on its file descriptor This function call updates no other data.
245 <a name="a17" doxytag="ircd_connector::GetBuffer"></a><p>
246 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
249 <table cellpadding="0" cellspacing="0" border="0">
251 <td class="md" nowrap valign="top"> std::string ircd_connector::GetBuffer </td>
252 <td class="md" valign="top">( </td>
253 <td class="mdname1" valign="top" nowrap> </td>
254 <td class="md" valign="top"> ) </td>
255 <td class="md" nowrap></td>
262 <table cellspacing=5 cellpadding=0 border=0>
270 This method retrieves the first string from the tail end of the buffer and advances the tail end of the buffer past the returned string, in a similar manner to strtok().
275 <a name="a8" doxytag="ircd_connector::GetDescription"></a><p>
276 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
279 <table cellpadding="0" cellspacing="0" border="0">
281 <td class="md" nowrap valign="top"> std::string ircd_connector::GetDescription </td>
282 <td class="md" valign="top">( </td>
283 <td class="mdname1" valign="top" nowrap> </td>
284 <td class="md" valign="top"> ) </td>
285 <td class="md" nowrap></td>
292 <table cellspacing=5 cellpadding=0 border=0>
300 Get the server description of this connection.
305 <a name="a3" doxytag="ircd_connector::GetDescriptor"></a><p>
306 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
309 <table cellpadding="0" cellspacing="0" border="0">
311 <td class="md" nowrap valign="top"> int ircd_connector::GetDescriptor </td>
312 <td class="md" valign="top">( </td>
313 <td class="mdname1" valign="top" nowrap> </td>
314 <td class="md" valign="top"> ) </td>
315 <td class="md" nowrap></td>
322 <table cellspacing=5 cellpadding=0 border=0>
330 Get the file descriptor associated with this connection.
335 <a name="a7" doxytag="ircd_connector::GetServerIP"></a><p>
336 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
339 <table cellpadding="0" cellspacing="0" border="0">
341 <td class="md" nowrap valign="top"> char* ircd_connector::GetServerIP </td>
342 <td class="md" valign="top">( </td>
343 <td class="mdname1" valign="top" nowrap> </td>
344 <td class="md" valign="top"> ) </td>
345 <td class="md" nowrap></td>
352 <table cellspacing=5 cellpadding=0 border=0>
360 Get the ip address (not servername) associated with this connection.
365 <a name="a1" doxytag="ircd_connector::GetServerName"></a><p>
366 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
369 <table cellpadding="0" cellspacing="0" border="0">
371 <td class="md" nowrap valign="top"> std::string ircd_connector::GetServerName </td>
372 <td class="md" valign="top">( </td>
373 <td class="mdname1" valign="top" nowrap> </td>
374 <td class="md" valign="top"> ) </td>
375 <td class="md" nowrap></td>
382 <table cellspacing=5 cellpadding=0 border=0>
390 Return the servername on this established connection.
395 <a name="a10" doxytag="ircd_connector::GetServerPort"></a><p>
396 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
399 <table cellpadding="0" cellspacing="0" border="0">
401 <td class="md" nowrap valign="top"> int ircd_connector::GetServerPort </td>
402 <td class="md" valign="top">( </td>
403 <td class="mdname1" valign="top" nowrap> </td>
404 <td class="md" valign="top"> ) </td>
405 <td class="md" nowrap></td>
412 <table cellspacing=5 cellpadding=0 border=0>
420 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>.
425 <a name="a5" doxytag="ircd_connector::GetState"></a><p>
426 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
429 <table cellpadding="0" cellspacing="0" border="0">
431 <td class="md" nowrap valign="top"> int ircd_connector::GetState </td>
432 <td class="md" valign="top">( </td>
433 <td class="mdname1" valign="top" nowrap> </td>
434 <td class="md" valign="top"> ) </td>
435 <td class="md" nowrap></td>
442 <table cellspacing=5 cellpadding=0 border=0>
450 Get the state flags for this connection.
455 <a name="a19" doxytag="ircd_connector::GetVersionString"></a><p>
456 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
459 <table cellpadding="0" cellspacing="0" border="0">
461 <td class="md" nowrap valign="top"> std::string ircd_connector::GetVersionString </td>
462 <td class="md" valign="top">( </td>
463 <td class="mdname1" valign="top" nowrap> </td>
464 <td class="md" valign="top"> ) </td>
465 <td class="md" nowrap></td>
472 <table cellspacing=5 cellpadding=0 border=0>
480 This method returns the version string of the remote server.
482 If the server has no version string an empty string is returned. </td>
485 <a name="a0" doxytag="ircd_connector::MakeOutboundConnection"></a><p>
486 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
489 <table cellpadding="0" cellspacing="0" border="0">
491 <td class="md" nowrap valign="top"> bool ircd_connector::MakeOutboundConnection </td>
492 <td class="md" valign="top">( </td>
493 <td class="md" nowrap valign="top">char * </td>
494 <td class="mdname" nowrap> <em>newhost</em>, </td>
499 <td class="md" nowrap>int </td>
500 <td class="mdname" nowrap> <em>newport</em></td>
504 <td class="md">) </td>
505 <td class="md" colspan="2"></td>
512 <table cellspacing=5 cellpadding=0 border=0>
520 Create an outbound connection to a listening socket.
525 <a name="a9" doxytag="ircd_connector::SetDescription"></a><p>
526 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
529 <table cellpadding="0" cellspacing="0" border="0">
531 <td class="md" nowrap valign="top"> void ircd_connector::SetDescription </td>
532 <td class="md" valign="top">( </td>
533 <td class="md" nowrap valign="top">std::string </td>
534 <td class="mdname1" valign="top" nowrap> <em>desc</em> </td>
535 <td class="md" valign="top"> ) </td>
536 <td class="md" nowrap></td>
543 <table cellspacing=5 cellpadding=0 border=0>
551 Set the server description of this connection.
556 <a name="a4" doxytag="ircd_connector::SetDescriptor"></a><p>
557 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
560 <table cellpadding="0" cellspacing="0" border="0">
562 <td class="md" nowrap valign="top"> void ircd_connector::SetDescriptor </td>
563 <td class="md" valign="top">( </td>
564 <td class="md" nowrap valign="top">int </td>
565 <td class="mdname1" valign="top" nowrap> <em>fd</em> </td>
566 <td class="md" valign="top"> ) </td>
567 <td class="md" nowrap></td>
574 <table cellspacing=5 cellpadding=0 border=0>
582 Set the file descriptor for this connection.
587 <a name="d0" doxytag="ircd_connector::SetHostAddress"></a><p>
588 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
591 <table cellpadding="0" cellspacing="0" border="0">
593 <td class="md" nowrap valign="top"> bool ircd_connector::SetHostAddress </td>
594 <td class="md" valign="top">( </td>
595 <td class="md" nowrap valign="top">char * </td>
596 <td class="mdname" nowrap> <em>host</em>, </td>
601 <td class="md" nowrap>int </td>
602 <td class="mdname" nowrap> <em>port</em></td>
606 <td class="md">) </td>
607 <td class="md" colspan="2"><code> [private]</code></td>
614 <table cellspacing=5 cellpadding=0 border=0>
622 PRIVATE function to set the host address and port to connect to.
627 <a name="a12" doxytag="ircd_connector::SetHostAndPort"></a><p>
628 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
631 <table cellpadding="0" cellspacing="0" border="0">
633 <td class="md" nowrap valign="top"> bool ircd_connector::SetHostAndPort </td>
634 <td class="md" valign="top">( </td>
635 <td class="md" nowrap valign="top">char * </td>
636 <td class="mdname" nowrap> <em>newhost</em>, </td>
641 <td class="md" nowrap>int </td>
642 <td class="mdname" nowrap> <em>newport</em></td>
646 <td class="md">) </td>
647 <td class="md" colspan="2"></td>
654 <table cellspacing=5 cellpadding=0 border=0>
662 Set both the host and the port in one operation for this connection.
667 <a name="a2" doxytag="ircd_connector::SetServerName"></a><p>
668 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
671 <table cellpadding="0" cellspacing="0" border="0">
673 <td class="md" nowrap valign="top"> void ircd_connector::SetServerName </td>
674 <td class="md" valign="top">( </td>
675 <td class="md" nowrap valign="top">std::string </td>
676 <td class="mdname1" valign="top" nowrap> <em>serv</em> </td>
677 <td class="md" valign="top"> ) </td>
678 <td class="md" nowrap></td>
685 <table cellspacing=5 cellpadding=0 border=0>
693 Set the server name of this connection.
698 <a name="a11" doxytag="ircd_connector::SetServerPort"></a><p>
699 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
702 <table cellpadding="0" cellspacing="0" border="0">
704 <td class="md" nowrap valign="top"> void ircd_connector::SetServerPort </td>
705 <td class="md" valign="top">( </td>
706 <td class="md" nowrap valign="top">int </td>
707 <td class="mdname1" valign="top" nowrap> <em>p</em> </td>
708 <td class="md" valign="top"> ) </td>
709 <td class="md" nowrap></td>
716 <table cellspacing=5 cellpadding=0 border=0>
724 Set the port used by this connection.
729 <a name="a6" doxytag="ircd_connector::SetState"></a><p>
730 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
733 <table cellpadding="0" cellspacing="0" border="0">
735 <td class="md" nowrap valign="top"> void ircd_connector::SetState </td>
736 <td class="md" valign="top">( </td>
737 <td class="md" nowrap valign="top">int </td>
738 <td class="mdname1" valign="top" nowrap> <em>state</em> </td>
739 <td class="md" valign="top"> ) </td>
740 <td class="md" nowrap></td>
747 <table cellspacing=5 cellpadding=0 border=0>
755 Set the state flags for this connection.
760 <a name="a18" doxytag="ircd_connector::SetVersionString"></a><p>
761 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
764 <table cellpadding="0" cellspacing="0" border="0">
766 <td class="md" nowrap valign="top"> void ircd_connector::SetVersionString </td>
767 <td class="md" valign="top">( </td>
768 <td class="md" nowrap valign="top">std::string </td>
769 <td class="mdname1" valign="top" nowrap> <em>newversion</em> </td>
770 <td class="md" valign="top"> ) </td>
771 <td class="md" nowrap></td>
778 <table cellspacing=5 cellpadding=0 border=0>
786 This method sets the version string of the remote server.
791 <hr><h2>Member Data Documentation</h2>
792 <a name="r0" doxytag="ircd_connector::addr"></a><p>
793 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
796 <table cellpadding="0" cellspacing="0" border="0">
798 <td class="md" nowrap valign="top"> sockaddr_in <a class="el" href="classircd__connector.html#r0">ircd_connector::addr</a><code> [private]</code>
803 <table cellspacing=5 cellpadding=0 border=0>
811 Sockaddr of the outbound ip and port.
815 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>
818 <a name="r3" doxytag="ircd_connector::description"></a><p>
819 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
822 <table cellpadding="0" cellspacing="0" border="0">
824 <td class="md" nowrap valign="top"> std::string <a class="el" href="classircd__connector.html#r3">ircd_connector::description</a><code> [private]</code>
829 <table cellspacing=5 cellpadding=0 border=0>
837 <a class="el" href="classServer.html">Server</a> 'GECOS'.
841 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>
844 <a name="r1" doxytag="ircd_connector::fd"></a><p>
845 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
848 <table cellpadding="0" cellspacing="0" border="0">
850 <td class="md" nowrap valign="top"> int <a class="el" href="classircd__connector.html#r1">ircd_connector::fd</a><code> [private]</code>
855 <table cellspacing=5 cellpadding=0 border=0>
863 File descriptor of the connection.
867 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>
870 <a name="o1" doxytag="ircd_connector::host"></a><p>
871 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
874 <table cellpadding="0" cellspacing="0" border="0">
876 <td class="md" nowrap valign="top"> char <a class="el" href="classircd__connector.html#o1">ircd_connector::host</a>[MAXBUF]
881 <table cellspacing=5 cellpadding=0 border=0>
889 When MakeOutboundConnection is called, these public members are filled with the details passed to the function, for future reference.
893 Definition at line <a class="el" href="connection_8h-source.html#l00099">99</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
896 <a name="o0" doxytag="ircd_connector::ircdbuffer"></a><p>
897 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
900 <table cellpadding="0" cellspacing="0" border="0">
902 <td class="md" nowrap valign="top"> std::string <a class="el" href="classircd__connector.html#o0">ircd_connector::ircdbuffer</a>
907 <table cellspacing=5 cellpadding=0 border=0>
915 IRCD Buffer for input characters, holds as many lines as are pending - Note that the final line may not be complete and should only be read when there is a <br>
920 Definition at line <a class="el" href="connection_8h-source.html#l00092">92</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
923 <a name="o2" doxytag="ircd_connector::port"></a><p>
924 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
927 <table cellpadding="0" cellspacing="0" border="0">
929 <td class="md" nowrap valign="top"> int <a class="el" href="classircd__connector.html#o2">ircd_connector::port</a>
934 <table cellspacing=5 cellpadding=0 border=0>
942 When MakeOutboundConnection is called, these public members are filled with the details passed to the function, for future reference.
946 Definition at line <a class="el" href="connection_8h-source.html#l00105">105</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
949 <a name="o3" doxytag="ircd_connector::routes"></a><p>
950 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
953 <table cellpadding="0" cellspacing="0" border="0">
955 <td class="md" nowrap valign="top"> std::vector<std::string> <a class="el" href="classircd__connector.html#o3">ircd_connector::routes</a>
960 <table cellspacing=5 cellpadding=0 border=0>
968 <a class="el" href="classServer.html">Server</a> names of servers that this server is linked to So for A->B->C, if this was the record for B it would contain A and C whilever both servers are connected to B.
972 Definition at line <a class="el" href="connection_8h-source.html#l00111">111</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
975 <a name="r2" doxytag="ircd_connector::servername"></a><p>
976 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
979 <table cellpadding="0" cellspacing="0" border="0">
981 <td class="md" nowrap valign="top"> std::string <a class="el" href="classircd__connector.html#r2">ircd_connector::servername</a><code> [private]</code>
986 <table cellspacing=5 cellpadding=0 border=0>
994 <a class="el" href="classServer.html">Server</a> name.
998 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>
1001 <a name="r4" doxytag="ircd_connector::state"></a><p>
1002 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1005 <table cellpadding="0" cellspacing="0" border="0">
1007 <td class="md" nowrap valign="top"> int <a class="el" href="classircd__connector.html#r4">ircd_connector::state</a><code> [private]</code>
1012 <table cellspacing=5 cellpadding=0 border=0>
1022 STATE_NOAUTH_INBOUND, STATE_NOAUTH_OUTBOUND STATE_SYNC, STATE_DISCONNECTED, STATE_CONNECTED
1024 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>
1027 <a name="r5" doxytag="ircd_connector::version"></a><p>
1028 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1031 <table cellpadding="0" cellspacing="0" border="0">
1033 <td class="md" nowrap valign="top"> std::string <a class="el" href="classircd__connector.html#r5">ircd_connector::version</a><code> [private]</code>
1038 <table cellspacing=5 cellpadding=0 border=0>
1046 This string holds the ircd's version response.
1050 Definition at line <a class="el" href="connection_8h-source.html#l00084">84</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
1053 <hr>The documentation for this class was generated from the following file:<ul>
1054 <li><a class="el" href="connection_8h-source.html">connection.h</a></ul>
1055 <hr size="1"><address style="align: right;"><small>Generated on Sat May 7 15:34:25 2005 for InspIRCd by
1056 <a href="http://www.doxygen.org/index.html">
1057 <img src="doxygen.png" alt="doxygen" align="middle" border=0 >
1058 </a>1.3.3 </small></address>