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.doxygen.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="namespacemembers.html">Namespace Members</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 Inheritance diagram for ircd_connector:<p><center><img src="classircd__connector__inherit__graph.gif" border="0" usemap="#ircd__connector__inherit__map" alt="Inheritance graph"></center>
14 <map name="ircd__connector__inherit__map">
15 <area href="classExtensible.html" shape="rect" coords="21,82,103,109" alt="">
16 <area href="classclassbase.html" shape="rect" coords="22,8,102,34" alt="">
18 <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for ircd_connector:<p><center><img src="classircd__connector__coll__graph.gif" border="0" usemap="#ircd__connector__coll__map" alt="Collaboration graph"></center>
19 <map name="ircd__connector__coll__map">
20 <area href="classExtensible.html" shape="rect" coords="37,8,120,34" alt="">
22 <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classircd__connector-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
24 <tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
25 <tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a0">ircd_connector</a> ()</td></tr>
27 <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor clears the sendq and initialises the fd to -1. </em> <a href="#a0"></a><em><br><br></td></tr>
28 <tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a1">MakeOutboundConnection</a> (char *newhost, int newport)</td></tr>
30 <tr><td class="mdescLeft"> </td><td class="mdescRight">Create an outbound connection to a listening socket. </em> <a href="#a1"></a><em><br><br></td></tr>
31 <tr><td class="memItemLeft" nowrap align=right valign=top>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a2">GetServerName</a> ()</td></tr>
33 <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the servername on this established connection. </em> <a href="#a2"></a><em><br><br></td></tr>
34 <tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a3">SetServerName</a> (std::string serv)</td></tr>
36 <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the server name of this connection. </em> <a href="#a3"></a><em><br><br></td></tr>
37 <tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a4">GetDescriptor</a> ()</td></tr>
39 <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the file descriptor associated with this connection. </em> <a href="#a4"></a><em><br><br></td></tr>
40 <tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a5">SetDescriptor</a> (int <a class="el" href="classircd__connector.html#r1">fd</a>)</td></tr>
42 <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the file descriptor for this connection. </em> <a href="#a5"></a><em><br><br></td></tr>
43 <tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a6">GetState</a> ()</td></tr>
45 <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the state flags for this connection. </em> <a href="#a6"></a><em><br><br></td></tr>
46 <tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a7">SetState</a> (int <a class="el" href="classircd__connector.html#r4">state</a>)</td></tr>
48 <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the state flags for this connection. </em> <a href="#a7"></a><em><br><br></td></tr>
49 <tr><td class="memItemLeft" nowrap align=right valign=top>char * </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a8">GetServerIP</a> ()</td></tr>
51 <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the ip address (not servername) associated with this connection. </em> <a href="#a8"></a><em><br><br></td></tr>
52 <tr><td class="memItemLeft" nowrap align=right valign=top>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a9">GetDescription</a> ()</td></tr>
54 <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the server description of this connection. </em> <a href="#a9"></a><em><br><br></td></tr>
55 <tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a10">SetDescription</a> (std::string desc)</td></tr>
57 <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the server description of this connection. </em> <a href="#a10"></a><em><br><br></td></tr>
58 <tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a11">GetServerPort</a> ()</td></tr>
60 <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#a8">GetServerIP()</a>. </em> <a href="#a11"></a><em><br><br></td></tr>
61 <tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a12">SetServerPort</a> (int p)</td></tr>
63 <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the port used by this connection. </em> <a href="#a12"></a><em><br><br></td></tr>
64 <tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a13">SetHostAndPort</a> (char *newhost, int newport)</td></tr>
66 <tr><td class="mdescLeft"> </td><td class="mdescRight">Set both the host and the port in one operation for this connection. </em> <a href="#a13"></a><em><br><br></td></tr>
67 <tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a14">CloseConnection</a> ()</td></tr>
69 <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="#a14"></a><em><br><br></td></tr>
70 <tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a15">AddBuffer</a> (std::string a)</td></tr>
72 <tr><td class="mdescLeft"> </td><td class="mdescRight">This method adds text to the ircd connection's buffer. </em> <a href="#a15"></a><em><br><br></td></tr>
73 <tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a16">BufferIsComplete</a> ()</td></tr>
75 <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="#a16"></a><em><br><br></td></tr>
76 <tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a17">ClearBuffer</a> ()</td></tr>
78 <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="#a17"></a><em><br><br></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#a18">GetBuffer</a> ()</td></tr>
81 <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="#a18"></a><em><br><br></td></tr>
82 <tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a19">SetVersionString</a> (std::string newversion)</td></tr>
84 <tr><td class="mdescLeft"> </td><td class="mdescRight">This method sets the version string of the remote server. </em> <a href="#a19"></a><em><br><br></td></tr>
85 <tr><td class="memItemLeft" nowrap align=right valign=top>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a20">GetVersionString</a> ()</td></tr>
87 <tr><td class="mdescLeft"> </td><td class="mdescRight">This method returns the version string of the remote server. </em> <a href="#a20"></a><em><br><br></td></tr>
88 <tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a21">AddWriteBuf</a> (std::string data)</td></tr>
90 <tr><td class="mdescLeft"> </td><td class="mdescRight">Adds data to the connection's sendQ to be flushed later. </em> <a href="#a21"></a><em><br><br></td></tr>
91 <tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a22">FlushWriteBuf</a> ()</td></tr>
93 <tr><td class="mdescLeft"> </td><td class="mdescRight">Flushes as much of the data from the buffer as possible, and advances the queue pointer to what is left. </em> <a href="#a22"></a><em><br><br></td></tr>
94 <tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a23">SetWriteError</a> (std::string error)</td></tr>
96 <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the error string for this connection. </em> <a href="#a23"></a><em><br><br></td></tr>
97 <tr><td class="memItemLeft" nowrap align=right valign=top>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a24">GetWriteError</a> ()</td></tr>
99 <tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the error string for this connection. </em> <a href="#a24"></a><em><br><br></td></tr>
100 <tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a25">HasBufferedOutput</a> ()</td></tr>
102 <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns true if there is data to be written that hasn't been sent yet. </em> <a href="#a25"></a><em><br><br></td></tr>
103 <tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a26">CheckPing</a> ()</td></tr>
105 <tr><td class="mdescLeft"> </td><td class="mdescRight">Checks if the connection replied to its last ping, and if it did sends another and returns true, if not, returns false. </em> <a href="#a26"></a><em><br><br></td></tr>
106 <tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#a27">ResetPing</a> ()</td></tr>
108 <tr><td class="mdescLeft"> </td><td class="mdescRight">Resets the ping counter. </em> <a href="#a27"></a><em><br><br></td></tr>
109 <tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
110 <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>
112 <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>
113 seperator. </em> <a href="#o0"></a><em><br><br></td></tr>
114 <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>
116 <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>
117 <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>
119 <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>
120 <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>
122 <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>
123 <tr><td colspan=2><br><h2>Private Member Functions</h2></td></tr>
124 <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>
126 <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>
127 <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
128 <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>
130 <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>
131 <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>
133 <tr><td class="mdescLeft"> </td><td class="mdescRight">File descriptor of the connection. </em> <a href="#r1"></a><em><br><br></td></tr>
134 <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>
136 <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>
137 <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>
139 <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>
140 <tr><td class="memItemLeft" nowrap align=right valign=top>char </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#r4">state</a></td></tr>
142 <tr><td class="mdescLeft"> </td><td class="mdescRight">State. </em> <a href="#r4"></a><em><br><br></td></tr>
143 <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>
145 <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>
146 <tr><td class="memItemLeft" nowrap align=right valign=top>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#r6">sendq</a></td></tr>
148 <tr><td class="mdescLeft"> </td><td class="mdescRight">SendQ of the outbound connector, does not have a limit. </em> <a href="#r6"></a><em><br><br></td></tr>
149 <tr><td class="memItemLeft" nowrap align=right valign=top>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#r7">WriteError</a></td></tr>
151 <tr><td class="mdescLeft"> </td><td class="mdescRight">Write error of connection. </em> <a href="#r7"></a><em><br><br></td></tr>
152 <tr><td class="memItemLeft" nowrap align=right valign=top>time_t </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#r8">nextping</a></td></tr>
154 <tr><td class="mdescLeft"> </td><td class="mdescRight">Time this connection was last pinged. </em> <a href="#r8"></a><em><br><br></td></tr>
155 <tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="classircd__connector.html#r9">replied</a></td></tr>
157 <tr><td class="mdescLeft"> </td><td class="mdescRight">Did this connection reply to its last ping? </em> <a href="#r9"></a><em><br><br></td></tr>
159 <hr><a name="_details"></a><h2>Detailed Description</h2>
160 Each connection has one or more of these each represents ONE outbound connection to another ircd so each inbound has multiple outbounds.
162 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.
166 Definition at line <a class="el" href="connection_8h-source.html#l00056">56</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
167 <a name="a0" doxytag="ircd_connector::ircd_connector"></a><p>
168 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
171 <table cellpadding="0" cellspacing="0" border="0">
173 <td class="md" nowrap valign="top"> ircd_connector::ircd_connector </td>
174 <td class="md" valign="top">( </td>
175 <td class="mdname1" valign="top" nowrap> </td>
176 <td class="md" valign="top"> ) </td>
177 <td class="md" nowrap></td>
184 <table cellspacing=5 cellpadding=0 border=0>
192 Constructor clears the sendq and initialises the fd to -1.
197 <hr><h2>Member Function Documentation</h2>
198 <a name="a15" doxytag="ircd_connector::AddBuffer"></a><p>
199 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
202 <table cellpadding="0" cellspacing="0" border="0">
204 <td class="md" nowrap valign="top"> bool ircd_connector::AddBuffer </td>
205 <td class="md" valign="top">( </td>
206 <td class="md" nowrap valign="top">std::string </td>
207 <td class="mdname1" valign="top" nowrap> <em>a</em> </td>
208 <td class="md" valign="top"> ) </td>
209 <td class="md" nowrap></td>
216 <table cellspacing=5 cellpadding=0 border=0>
224 This method adds text to the ircd connection's buffer.
226 <dl compact><dt><b>Parameters:</b></dt><dd>
227 <table border="0" cellspacing="2" cellpadding="0">
228 <tr><td valign=top><em>a</em> </td><td>The text to add to the buffer up to a maximum size of 1MB</td></tr>
231 This buffer's maximum size is one megabyte, the method returning false if the buffer is full.<p>
232 <dl compact><dt><b>Returns:</b></dt><dd>True on success, false if the buffer is full or the connection is down</dd></dl>
236 <a name="a21" doxytag="ircd_connector::AddWriteBuf"></a><p>
237 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
240 <table cellpadding="0" cellspacing="0" border="0">
242 <td class="md" nowrap valign="top"> bool ircd_connector::AddWriteBuf </td>
243 <td class="md" valign="top">( </td>
244 <td class="md" nowrap valign="top">std::string </td>
245 <td class="mdname1" valign="top" nowrap> <em>data</em> </td>
246 <td class="md" valign="top"> ) </td>
247 <td class="md" nowrap></td>
254 <table cellspacing=5 cellpadding=0 border=0>
262 Adds data to the connection's sendQ to be flushed later.
264 <dl compact><dt><b>Parameters:</b></dt><dd>
265 <table border="0" cellspacing="2" cellpadding="0">
266 <tr><td valign=top><em>data</em> </td><td>The data to add to the write buffer</td></tr>
269 Fails if there is an error pending on the connection.<p>
270 <dl compact><dt><b>Returns:</b></dt><dd>True on success, false if the connection is down or the buffer is full</dd></dl>
273 Referenced by <a class="el" href="servers_8cpp-source.html#l00350">serverrec::SendPacket()</a>. </td>
276 <a name="a16" doxytag="ircd_connector::BufferIsComplete"></a><p>
277 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
280 <table cellpadding="0" cellspacing="0" border="0">
282 <td class="md" nowrap valign="top"> bool ircd_connector::BufferIsComplete </td>
283 <td class="md" valign="top">( </td>
284 <td class="mdname1" valign="top" nowrap> </td>
285 <td class="md" valign="top"> ) </td>
286 <td class="md" nowrap></td>
293 <table cellspacing=5 cellpadding=0 border=0>
301 This method returns true if the buffer contains at least one carriage return character, e.g.
303 one line can be read from the buffer successfully.<p>
304 <dl compact><dt><b>Returns:</b></dt><dd>True if there is at least one complete line waiting to be processed</dd></dl>
308 <a name="a26" doxytag="ircd_connector::CheckPing"></a><p>
309 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
312 <table cellpadding="0" cellspacing="0" border="0">
314 <td class="md" nowrap valign="top"> bool ircd_connector::CheckPing </td>
315 <td class="md" valign="top">( </td>
316 <td class="mdname1" valign="top" nowrap> </td>
317 <td class="md" valign="top"> ) </td>
318 <td class="md" nowrap></td>
325 <table cellspacing=5 cellpadding=0 border=0>
333 Checks if the connection replied to its last ping, and if it did sends another and returns true, if not, returns false.
335 <dl compact><dt><b>Returns:</b></dt><dd>True if the server is still replying to pings</dd></dl>
339 <a name="a17" doxytag="ircd_connector::ClearBuffer"></a><p>
340 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
343 <table cellpadding="0" cellspacing="0" border="0">
345 <td class="md" nowrap valign="top"> void ircd_connector::ClearBuffer </td>
346 <td class="md" valign="top">( </td>
347 <td class="mdname1" valign="top" nowrap> </td>
348 <td class="md" valign="top"> ) </td>
349 <td class="md" nowrap></td>
356 <table cellspacing=5 cellpadding=0 border=0>
364 This method clears the server's buffer by setting it to an empty string.
369 <a name="a14" doxytag="ircd_connector::CloseConnection"></a><p>
370 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
373 <table cellpadding="0" cellspacing="0" border="0">
375 <td class="md" nowrap valign="top"> void ircd_connector::CloseConnection </td>
376 <td class="md" valign="top">( </td>
377 <td class="mdname1" valign="top" nowrap> </td>
378 <td class="md" valign="top"> ) </td>
379 <td class="md" nowrap></td>
386 <table cellspacing=5 cellpadding=0 border=0>
394 Close the connection by calling close() on its file descriptor This function call updates no other data.
398 Referenced by <a class="el" href="servers_8cpp-source.html#l00350">serverrec::SendPacket()</a>. </td>
401 <a name="a22" doxytag="ircd_connector::FlushWriteBuf"></a><p>
402 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
405 <table cellpadding="0" cellspacing="0" border="0">
407 <td class="md" nowrap valign="top"> bool ircd_connector::FlushWriteBuf </td>
408 <td class="md" valign="top">( </td>
409 <td class="mdname1" valign="top" nowrap> </td>
410 <td class="md" valign="top"> ) </td>
411 <td class="md" nowrap></td>
418 <table cellspacing=5 cellpadding=0 border=0>
426 Flushes as much of the data from the buffer as possible, and advances the queue pointer to what is left.
428 <dl compact><dt><b>Returns:</b></dt><dd>True if the flush succeeded, false if the connection is down</dd></dl>
431 Referenced by <a class="el" href="servers_8cpp-source.html#l00350">serverrec::SendPacket()</a>. </td>
434 <a name="a18" doxytag="ircd_connector::GetBuffer"></a><p>
435 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
438 <table cellpadding="0" cellspacing="0" border="0">
440 <td class="md" nowrap valign="top"> std::string ircd_connector::GetBuffer </td>
441 <td class="md" valign="top">( </td>
442 <td class="mdname1" valign="top" nowrap> </td>
443 <td class="md" valign="top"> ) </td>
444 <td class="md" nowrap></td>
451 <table cellspacing=5 cellpadding=0 border=0>
459 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().
461 <dl compact><dt><b>Returns:</b></dt><dd>The first line of the buffer up to a carriage return</dd></dl>
465 <a name="a9" doxytag="ircd_connector::GetDescription"></a><p>
466 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
469 <table cellpadding="0" cellspacing="0" border="0">
471 <td class="md" nowrap valign="top"> std::string ircd_connector::GetDescription </td>
472 <td class="md" valign="top">( </td>
473 <td class="mdname1" valign="top" nowrap> </td>
474 <td class="md" valign="top"> ) </td>
475 <td class="md" nowrap></td>
482 <table cellspacing=5 cellpadding=0 border=0>
490 Get the server description of this connection.
492 <dl compact><dt><b>Returns:</b></dt><dd>The description (GECOS) of this connection</dd></dl>
496 <a name="a4" doxytag="ircd_connector::GetDescriptor"></a><p>
497 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
500 <table cellpadding="0" cellspacing="0" border="0">
502 <td class="md" nowrap valign="top"> int ircd_connector::GetDescriptor </td>
503 <td class="md" valign="top">( </td>
504 <td class="mdname1" valign="top" nowrap> </td>
505 <td class="md" valign="top"> ) </td>
506 <td class="md" nowrap></td>
513 <table cellspacing=5 cellpadding=0 border=0>
521 Get the file descriptor associated with this connection.
523 <dl compact><dt><b>Returns:</b></dt><dd>The file descriptor associated with this connection</dd></dl>
527 <a name="a8" doxytag="ircd_connector::GetServerIP"></a><p>
528 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
531 <table cellpadding="0" cellspacing="0" border="0">
533 <td class="md" nowrap valign="top"> char* ircd_connector::GetServerIP </td>
534 <td class="md" valign="top">( </td>
535 <td class="mdname1" valign="top" nowrap> </td>
536 <td class="md" valign="top"> ) </td>
537 <td class="md" nowrap></td>
544 <table cellspacing=5 cellpadding=0 border=0>
552 Get the ip address (not servername) associated with this connection.
554 <dl compact><dt><b>Returns:</b></dt><dd>The connections IP address in dotted decimal form</dd></dl>
558 <a name="a2" doxytag="ircd_connector::GetServerName"></a><p>
559 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
562 <table cellpadding="0" cellspacing="0" border="0">
564 <td class="md" nowrap valign="top"> std::string ircd_connector::GetServerName </td>
565 <td class="md" valign="top">( </td>
566 <td class="mdname1" valign="top" nowrap> </td>
567 <td class="md" valign="top"> ) </td>
568 <td class="md" nowrap></td>
575 <table cellspacing=5 cellpadding=0 border=0>
583 Return the servername on this established connection.
587 Referenced by <a class="el" href="servers_8cpp-source.html#l00350">serverrec::SendPacket()</a>. </td>
590 <a name="a11" doxytag="ircd_connector::GetServerPort"></a><p>
591 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
594 <table cellpadding="0" cellspacing="0" border="0">
596 <td class="md" nowrap valign="top"> int ircd_connector::GetServerPort </td>
597 <td class="md" valign="top">( </td>
598 <td class="mdname1" valign="top" nowrap> </td>
599 <td class="md" valign="top"> ) </td>
600 <td class="md" nowrap></td>
607 <table cellspacing=5 cellpadding=0 border=0>
615 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#a8">GetServerIP()</a>.
617 <dl compact><dt><b>Returns:</b></dt><dd>The port number of this connection</dd></dl>
621 <a name="a6" doxytag="ircd_connector::GetState"></a><p>
622 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
625 <table cellpadding="0" cellspacing="0" border="0">
627 <td class="md" nowrap valign="top"> int ircd_connector::GetState </td>
628 <td class="md" valign="top">( </td>
629 <td class="mdname1" valign="top" nowrap> </td>
630 <td class="md" valign="top"> ) </td>
631 <td class="md" nowrap></td>
638 <table cellspacing=5 cellpadding=0 border=0>
646 Get the state flags for this connection.
648 <dl compact><dt><b>Returns:</b></dt><dd>The state flags associated with this connection</dd></dl>
651 Referenced by <a class="el" href="servers_8cpp-source.html#l00350">serverrec::SendPacket()</a>. </td>
654 <a name="a20" doxytag="ircd_connector::GetVersionString"></a><p>
655 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
658 <table cellpadding="0" cellspacing="0" border="0">
660 <td class="md" nowrap valign="top"> std::string ircd_connector::GetVersionString </td>
661 <td class="md" valign="top">( </td>
662 <td class="mdname1" valign="top" nowrap> </td>
663 <td class="md" valign="top"> ) </td>
664 <td class="md" nowrap></td>
671 <table cellspacing=5 cellpadding=0 border=0>
679 This method returns the version string of the remote server.
681 If the server has no version string an empty string is returned.<p>
682 <dl compact><dt><b>Returns:</b></dt><dd>The version text of this connection</dd></dl>
686 <a name="a24" doxytag="ircd_connector::GetWriteError"></a><p>
687 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
690 <table cellpadding="0" cellspacing="0" border="0">
692 <td class="md" nowrap valign="top"> std::string ircd_connector::GetWriteError </td>
693 <td class="md" valign="top">( </td>
694 <td class="mdname1" valign="top" nowrap> </td>
695 <td class="md" valign="top"> ) </td>
696 <td class="md" nowrap></td>
703 <table cellspacing=5 cellpadding=0 border=0>
711 Gets the error string for this connection.
713 <dl compact><dt><b>Returns:</b></dt><dd>The last error to occur or an empty string</dd></dl>
716 Referenced by <a class="el" href="servers_8cpp-source.html#l00350">serverrec::SendPacket()</a>. </td>
719 <a name="a25" doxytag="ircd_connector::HasBufferedOutput"></a><p>
720 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
723 <table cellpadding="0" cellspacing="0" border="0">
725 <td class="md" nowrap valign="top"> bool ircd_connector::HasBufferedOutput </td>
726 <td class="md" valign="top">( </td>
727 <td class="mdname1" valign="top" nowrap> </td>
728 <td class="md" valign="top"> ) </td>
729 <td class="md" nowrap></td>
736 <table cellspacing=5 cellpadding=0 border=0>
744 Returns true if there is data to be written that hasn't been sent yet.
746 <dl compact><dt><b>Returns:</b></dt><dd>True if the buffer is not empty</dd></dl>
750 <a name="a1" doxytag="ircd_connector::MakeOutboundConnection"></a><p>
751 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
754 <table cellpadding="0" cellspacing="0" border="0">
756 <td class="md" nowrap valign="top"> bool ircd_connector::MakeOutboundConnection </td>
757 <td class="md" valign="top">( </td>
758 <td class="md" nowrap valign="top">char * </td>
759 <td class="mdname" nowrap> <em>newhost</em>, </td>
764 <td class="md" nowrap>int </td>
765 <td class="mdname" nowrap> <em>newport</em></td>
769 <td class="md">) </td>
770 <td class="md" colspan="2"></td>
777 <table cellspacing=5 cellpadding=0 border=0>
785 Create an outbound connection to a listening socket.
789 Referenced by <a class="el" href="servers_8cpp-source.html#l00142">serverrec::BeginLink()</a>, and <a class="el" href="servers_8cpp-source.html#l00182">serverrec::MeshCookie()</a>. </td>
792 <a name="a27" doxytag="ircd_connector::ResetPing"></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"> void ircd_connector::ResetPing </td>
799 <td class="md" valign="top">( </td>
800 <td class="mdname1" valign="top" nowrap> </td>
801 <td class="md" valign="top"> ) </td>
802 <td class="md" nowrap></td>
809 <table cellspacing=5 cellpadding=0 border=0>
817 Resets the ping counter.
822 <a name="a10" doxytag="ircd_connector::SetDescription"></a><p>
823 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
826 <table cellpadding="0" cellspacing="0" border="0">
828 <td class="md" nowrap valign="top"> void ircd_connector::SetDescription </td>
829 <td class="md" valign="top">( </td>
830 <td class="md" nowrap valign="top">std::string </td>
831 <td class="mdname1" valign="top" nowrap> <em>desc</em> </td>
832 <td class="md" valign="top"> ) </td>
833 <td class="md" nowrap></td>
840 <table cellspacing=5 cellpadding=0 border=0>
848 Set the server description of this connection.
850 <dl compact><dt><b>Parameters:</b></dt><dd>
851 <table border="0" cellspacing="2" cellpadding="0">
852 <tr><td valign=top><em>desc</em> </td><td>The description (GECOS) of this connection to be set</td></tr>
858 <a name="a5" doxytag="ircd_connector::SetDescriptor"></a><p>
859 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
862 <table cellpadding="0" cellspacing="0" border="0">
864 <td class="md" nowrap valign="top"> void ircd_connector::SetDescriptor </td>
865 <td class="md" valign="top">( </td>
866 <td class="md" nowrap valign="top">int </td>
867 <td class="mdname1" valign="top" nowrap> <em>fd</em> </td>
868 <td class="md" valign="top"> ) </td>
869 <td class="md" nowrap></td>
876 <table cellspacing=5 cellpadding=0 border=0>
884 Set the file descriptor for this connection.
886 <dl compact><dt><b>Parameters:</b></dt><dd>
887 <table border="0" cellspacing="2" cellpadding="0">
888 <tr><td valign=top><em>fd</em> </td><td>The file descriptor to associate with the connection</td></tr>
893 Referenced by <a class="el" href="servers_8cpp-source.html#l00212">serverrec::AddIncoming()</a>. </td>
896 <a name="d0" doxytag="ircd_connector::SetHostAddress"></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"> bool ircd_connector::SetHostAddress </td>
903 <td class="md" valign="top">( </td>
904 <td class="md" nowrap valign="top">char * </td>
905 <td class="mdname" nowrap> <em>host</em>, </td>
910 <td class="md" nowrap>int </td>
911 <td class="mdname" nowrap> <em>port</em></td>
915 <td class="md">) </td>
916 <td class="md" colspan="2"><code> [private]</code></td>
923 <table cellspacing=5 cellpadding=0 border=0>
931 PRIVATE function to set the host address and port to connect to.
936 <a name="a13" doxytag="ircd_connector::SetHostAndPort"></a><p>
937 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
940 <table cellpadding="0" cellspacing="0" border="0">
942 <td class="md" nowrap valign="top"> bool ircd_connector::SetHostAndPort </td>
943 <td class="md" valign="top">( </td>
944 <td class="md" nowrap valign="top">char * </td>
945 <td class="mdname" nowrap> <em>newhost</em>, </td>
950 <td class="md" nowrap>int </td>
951 <td class="mdname" nowrap> <em>newport</em></td>
955 <td class="md">) </td>
956 <td class="md" colspan="2"></td>
963 <table cellspacing=5 cellpadding=0 border=0>
971 Set both the host and the port in one operation for this connection.
973 <dl compact><dt><b>Parameters:</b></dt><dd>
974 <table border="0" cellspacing="2" cellpadding="0">
975 <tr><td valign=top><em>newhost</em> </td><td>The hostname to set for this connection </td></tr>
976 <tr><td valign=top><em>newport</em> </td><td>The port number to set for this connection </td></tr>
979 <dl compact><dt><b>Returns:</b></dt><dd>True on success, false on failure</dd></dl>
982 Referenced by <a class="el" href="servers_8cpp-source.html#l00212">serverrec::AddIncoming()</a>, <a class="el" href="servers_8cpp-source.html#l00142">serverrec::BeginLink()</a>, and <a class="el" href="servers_8cpp-source.html#l00182">serverrec::MeshCookie()</a>. </td>
985 <a name="a3" doxytag="ircd_connector::SetServerName"></a><p>
986 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
989 <table cellpadding="0" cellspacing="0" border="0">
991 <td class="md" nowrap valign="top"> void ircd_connector::SetServerName </td>
992 <td class="md" valign="top">( </td>
993 <td class="md" nowrap valign="top">std::string </td>
994 <td class="mdname1" valign="top" nowrap> <em>serv</em> </td>
995 <td class="md" valign="top"> ) </td>
996 <td class="md" nowrap></td>
1003 <table cellspacing=5 cellpadding=0 border=0>
1011 Set the server name of this connection.
1013 <dl compact><dt><b>Parameters:</b></dt><dd>
1014 <table border="0" cellspacing="2" cellpadding="0">
1015 <tr><td valign=top><em>serv</em> </td><td>The server name to set</td></tr>
1020 Referenced by <a class="el" href="servers_8cpp-source.html#l00212">serverrec::AddIncoming()</a>, <a class="el" href="servers_8cpp-source.html#l00142">serverrec::BeginLink()</a>, and <a class="el" href="servers_8cpp-source.html#l00182">serverrec::MeshCookie()</a>. </td>
1023 <a name="a12" doxytag="ircd_connector::SetServerPort"></a><p>
1024 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1027 <table cellpadding="0" cellspacing="0" border="0">
1029 <td class="md" nowrap valign="top"> void ircd_connector::SetServerPort </td>
1030 <td class="md" valign="top">( </td>
1031 <td class="md" nowrap valign="top">int </td>
1032 <td class="mdname1" valign="top" nowrap> <em>p</em> </td>
1033 <td class="md" valign="top"> ) </td>
1034 <td class="md" nowrap></td>
1041 <table cellspacing=5 cellpadding=0 border=0>
1049 Set the port used by this connection.
1051 <dl compact><dt><b>Parameters:</b></dt><dd>
1052 <table border="0" cellspacing="2" cellpadding="0">
1053 <tr><td valign=top><em>p</em> </td><td>The port number to set for this connection</td></tr>
1059 <a name="a7" doxytag="ircd_connector::SetState"></a><p>
1060 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1063 <table cellpadding="0" cellspacing="0" border="0">
1065 <td class="md" nowrap valign="top"> void ircd_connector::SetState </td>
1066 <td class="md" valign="top">( </td>
1067 <td class="md" nowrap valign="top">int </td>
1068 <td class="mdname1" valign="top" nowrap> <em>state</em> </td>
1069 <td class="md" valign="top"> ) </td>
1070 <td class="md" nowrap></td>
1077 <table cellspacing=5 cellpadding=0 border=0>
1085 Set the state flags for this connection.
1087 <dl compact><dt><b>Parameters:</b></dt><dd>
1088 <table border="0" cellspacing="2" cellpadding="0">
1089 <tr><td valign=top><em>state</em> </td><td>The state flags to set for this connection</td></tr>
1094 Referenced by <a class="el" href="servers_8cpp-source.html#l00212">serverrec::AddIncoming()</a>, <a class="el" href="servers_8cpp-source.html#l00142">serverrec::BeginLink()</a>, <a class="el" href="servers_8cpp-source.html#l00182">serverrec::MeshCookie()</a>, and <a class="el" href="servers_8cpp-source.html#l00350">serverrec::SendPacket()</a>. </td>
1097 <a name="a19" doxytag="ircd_connector::SetVersionString"></a><p>
1098 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1101 <table cellpadding="0" cellspacing="0" border="0">
1103 <td class="md" nowrap valign="top"> void ircd_connector::SetVersionString </td>
1104 <td class="md" valign="top">( </td>
1105 <td class="md" nowrap valign="top">std::string </td>
1106 <td class="mdname1" valign="top" nowrap> <em>newversion</em> </td>
1107 <td class="md" valign="top"> ) </td>
1108 <td class="md" nowrap></td>
1115 <table cellspacing=5 cellpadding=0 border=0>
1123 This method sets the version string of the remote server.
1125 <dl compact><dt><b>Parameters:</b></dt><dd>
1126 <table border="0" cellspacing="2" cellpadding="0">
1127 <tr><td valign=top><em>newversion</em> </td><td>The version string to set</td></tr>
1133 <a name="a23" doxytag="ircd_connector::SetWriteError"></a><p>
1134 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1137 <table cellpadding="0" cellspacing="0" border="0">
1139 <td class="md" nowrap valign="top"> void ircd_connector::SetWriteError </td>
1140 <td class="md" valign="top">( </td>
1141 <td class="md" nowrap valign="top">std::string </td>
1142 <td class="mdname1" valign="top" nowrap> <em>error</em> </td>
1143 <td class="md" valign="top"> ) </td>
1144 <td class="md" nowrap></td>
1151 <table cellspacing=5 cellpadding=0 border=0>
1159 Sets the error string for this connection.
1161 <dl compact><dt><b>Parameters:</b></dt><dd>
1162 <table border="0" cellspacing="2" cellpadding="0">
1163 <tr><td valign=top><em>error</em> </td><td>The error string to set</td></tr>
1169 <hr><h2>Member Data Documentation</h2>
1170 <a name="r0" doxytag="ircd_connector::addr"></a><p>
1171 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1174 <table cellpadding="0" cellspacing="0" border="0">
1176 <td class="md" nowrap valign="top"> sockaddr_in <a class="el" href="classircd__connector.html#r0">ircd_connector::addr</a><code> [private]</code>
1181 <table cellspacing=5 cellpadding=0 border=0>
1189 Sockaddr of the outbound ip and port.
1193 Definition at line <a class="el" href="connection_8h-source.html#l00061">61</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
1196 <a name="r3" doxytag="ircd_connector::description"></a><p>
1197 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1200 <table cellpadding="0" cellspacing="0" border="0">
1202 <td class="md" nowrap valign="top"> std::string <a class="el" href="classircd__connector.html#r3">ircd_connector::description</a><code> [private]</code>
1207 <table cellspacing=5 cellpadding=0 border=0>
1215 <a class="el" href="classServer.html">Server</a> 'GECOS'.
1219 Definition at line <a class="el" href="connection_8h-source.html#l00073">73</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
1222 <a name="r1" doxytag="ircd_connector::fd"></a><p>
1223 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1226 <table cellpadding="0" cellspacing="0" border="0">
1228 <td class="md" nowrap valign="top"> int <a class="el" href="classircd__connector.html#r1">ircd_connector::fd</a><code> [private]</code>
1233 <table cellspacing=5 cellpadding=0 border=0>
1241 File descriptor of the connection.
1245 Definition at line <a class="el" href="connection_8h-source.html#l00065">65</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
1248 <a name="o1" doxytag="ircd_connector::host"></a><p>
1249 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1252 <table cellpadding="0" cellspacing="0" border="0">
1254 <td class="md" nowrap valign="top"> char <a class="el" href="classircd__connector.html#o1">ircd_connector::host</a>[MAXBUF]
1259 <table cellspacing=5 cellpadding=0 border=0>
1267 When MakeOutboundConnection is called, these public members are filled with the details passed to the function, for future reference.
1271 Definition at line <a class="el" href="connection_8h-source.html#l00117">117</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
1274 <a name="o0" doxytag="ircd_connector::ircdbuffer"></a><p>
1275 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1278 <table cellpadding="0" cellspacing="0" border="0">
1280 <td class="md" nowrap valign="top"> std::string <a class="el" href="classircd__connector.html#o0">ircd_connector::ircdbuffer</a>
1285 <table cellspacing=5 cellpadding=0 border=0>
1293 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>
1298 Definition at line <a class="el" href="connection_8h-source.html#l00110">110</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
1301 <a name="r8" doxytag="ircd_connector::nextping"></a><p>
1302 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1305 <table cellpadding="0" cellspacing="0" border="0">
1307 <td class="md" nowrap valign="top"> time_t <a class="el" href="classircd__connector.html#r8">ircd_connector::nextping</a><code> [private]</code>
1312 <table cellspacing=5 cellpadding=0 border=0>
1320 Time this connection was last pinged.
1324 Definition at line <a class="el" href="connection_8h-source.html#l00098">98</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
1327 <a name="o2" doxytag="ircd_connector::port"></a><p>
1328 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1331 <table cellpadding="0" cellspacing="0" border="0">
1333 <td class="md" nowrap valign="top"> int <a class="el" href="classircd__connector.html#o2">ircd_connector::port</a>
1338 <table cellspacing=5 cellpadding=0 border=0>
1346 When MakeOutboundConnection is called, these public members are filled with the details passed to the function, for future reference.
1350 Definition at line <a class="el" href="connection_8h-source.html#l00123">123</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
1353 <a name="r9" doxytag="ircd_connector::replied"></a><p>
1354 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1357 <table cellpadding="0" cellspacing="0" border="0">
1359 <td class="md" nowrap valign="top"> bool <a class="el" href="classircd__connector.html#r9">ircd_connector::replied</a><code> [private]</code>
1364 <table cellspacing=5 cellpadding=0 border=0>
1372 Did this connection reply to its last ping?
1376 Definition at line <a class="el" href="connection_8h-source.html#l00102">102</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
1379 <a name="o3" doxytag="ircd_connector::routes"></a><p>
1380 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1383 <table cellpadding="0" cellspacing="0" border="0">
1385 <td class="md" nowrap valign="top"> std::vector<std::string> <a class="el" href="classircd__connector.html#o3">ircd_connector::routes</a>
1390 <table cellspacing=5 cellpadding=0 border=0>
1398 <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.
1402 Definition at line <a class="el" href="connection_8h-source.html#l00129">129</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
1405 <a name="r6" doxytag="ircd_connector::sendq"></a><p>
1406 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1409 <table cellpadding="0" cellspacing="0" border="0">
1411 <td class="md" nowrap valign="top"> std::string <a class="el" href="classircd__connector.html#r6">ircd_connector::sendq</a><code> [private]</code>
1416 <table cellspacing=5 cellpadding=0 border=0>
1424 SendQ of the outbound connector, does not have a limit.
1428 Definition at line <a class="el" href="connection_8h-source.html#l00090">90</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
1431 <a name="r2" doxytag="ircd_connector::servername"></a><p>
1432 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1435 <table cellpadding="0" cellspacing="0" border="0">
1437 <td class="md" nowrap valign="top"> std::string <a class="el" href="classircd__connector.html#r2">ircd_connector::servername</a><code> [private]</code>
1442 <table cellspacing=5 cellpadding=0 border=0>
1450 <a class="el" href="classServer.html">Server</a> name.
1454 Definition at line <a class="el" href="connection_8h-source.html#l00069">69</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
1457 <a name="r4" doxytag="ircd_connector::state"></a><p>
1458 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1461 <table cellpadding="0" cellspacing="0" border="0">
1463 <td class="md" nowrap valign="top"> char <a class="el" href="classircd__connector.html#r4">ircd_connector::state</a><code> [private]</code>
1468 <table cellspacing=5 cellpadding=0 border=0>
1478 STATE_NOAUTH_INBOUND, STATE_NOAUTH_OUTBOUND STATE_SYNC, STATE_DISCONNECTED, STATE_CONNECTED
1480 Definition at line <a class="el" href="connection_8h-source.html#l00078">78</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
1483 <a name="r5" doxytag="ircd_connector::version"></a><p>
1484 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1487 <table cellpadding="0" cellspacing="0" border="0">
1489 <td class="md" nowrap valign="top"> std::string <a class="el" href="classircd__connector.html#r5">ircd_connector::version</a><code> [private]</code>
1494 <table cellspacing=5 cellpadding=0 border=0>
1502 This string holds the ircd's version response.
1506 Definition at line <a class="el" href="connection_8h-source.html#l00086">86</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
1509 <a name="r7" doxytag="ircd_connector::WriteError"></a><p>
1510 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1513 <table cellpadding="0" cellspacing="0" border="0">
1515 <td class="md" nowrap valign="top"> std::string <a class="el" href="classircd__connector.html#r7">ircd_connector::WriteError</a><code> [private]</code>
1520 <table cellspacing=5 cellpadding=0 border=0>
1528 Write error of connection.
1532 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>
1535 <hr>The documentation for this class was generated from the following file:<ul>
1536 <li><a class="el" href="connection_8h-source.html">connection.h</a></ul>
1537 <hr size="1"><address style="align: right;"><small>Generated on Mon May 30 05:17:18 2005 for InspIRCd by
1538 <a href="http://www.doxygen.org/index.html">
1539 <img src="doxygen.png" alt="doxygen" align="middle" border=0 >
1540 </a>1.3.3 </small></address>