summaryrefslogtreecommitdiff
path: root/docs/module-doc/classconnection.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/module-doc/classconnection.html')
-rw-r--r--docs/module-doc/classconnection.html419
1 files changed, 297 insertions, 122 deletions
diff --git a/docs/module-doc/classconnection.html b/docs/module-doc/classconnection.html
index 8c133be35..1a6962cb8 100644
--- a/docs/module-doc/classconnection.html
+++ b/docs/module-doc/classconnection.html
@@ -6,7 +6,10 @@
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
<a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
-<hr><h1>connection Class Reference</h1><code>#include &lt;<a class="el" href="connection_8h-source.html">connection.h</a>&gt;</code>
+<hr><h1>connection Class Reference</h1>Please note: classes serverrec and userrec both inherit from class connection.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="connection_8h-source.html">connection.h</a>&gt;</code>
<p>
Inheritance diagram for connection:<p><center><img src="classconnection__inherit__graph.gif" border="0" usemap="#connection__inherit__map" alt="Inheritance graph"></center>
<map name="connection__inherit__map">
@@ -16,40 +19,77 @@ Inheritance diagram for connection:<p><center><img src="classconnection__inherit
</map>
<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for connection:<p><center><img src="classconnection__coll__graph.gif" border="0" usemap="#connection__coll__map" alt="Collaboration graph"></center>
<map name="connection__coll__map">
-<area href="classclassbase.html" shape="rect" coords="156,123,223,144" alt="">
+<area href="classclassbase.html" shape="rect" coords="192,122,259,144" alt="">
</map>
<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classconnection-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#a0">connection</a> ()</td></tr>
-<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#a1">CreateListener</a> (char *<a class="el" href="classconnection.html#m2">host</a>, int p)</td></tr>
-<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#a2">BeginLink</a> (char *targethost, int <a class="el" href="classconnection.html#m10">port</a>, char *password)</td></tr>
-<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#a3">TerminateLink</a> (char *targethost)</td></tr>
-<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#a4">SendPacket</a> (char *message, char *<a class="el" href="classconnection.html#m2">host</a>, int <a class="el" href="classconnection.html#m10">port</a>, long ourkey)</td></tr>
-<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#a5">RecvPacket</a> (char *message, char *<a class="el" href="classconnection.html#m2">host</a>, int &amp;prt, long &amp;theirkey)</td></tr>
-<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#a6">SendSYN</a> (char *<a class="el" href="classconnection.html#m2">host</a>, int <a class="el" href="classconnection.html#m10">port</a>)</td></tr>
-<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#a7">SendACK</a> (char *<a class="el" href="classconnection.html#m2">host</a>, int <a class="el" href="classconnection.html#m10">port</a>, int reply_id)</td></tr>
-<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#a8">GenKey</a> ()</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Default constructor.</em> <a href="#a0"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#a1">CreateListener</a> (char *<a class="el" href="classconnection.html#m1">host</a>, int p)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Create a listening socket on 'host' using port number 'p'.</em> <a href="#a1"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#a2">BeginLink</a> (char *targethost, int <a class="el" href="classconnection.html#m9">port</a>, char *password, char *servername, int myport)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Begin an outbound link to another ircd at targethost.</em> <a href="#a2"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#a3">MeshCookie</a> (char *targethost, int <a class="el" href="classconnection.html#m9">port</a>, long cookie, char *servername)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Begin an outbound mesh link to another ircd on a network you are already an authenticated member of.</em> <a href="#a3"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#a4">TerminateLink</a> (char *targethost)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Terminate a link to 'targethost' by calling the <a class="el" href="classircd__connector.html#a13">ircd_connector::CloseConnection</a> method.</em> <a href="#a4"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#a5">SendPacket</a> (char *message, const char *<a class="el" href="classconnection.html#m1">host</a>)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Send a message to a server by name, if the server is unavailable directly route the packet via another server If the server still cannot be reached after attempting to route the message remotely, returns false.</em> <a href="#a5"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#a6">RecvPacket</a> (std::deque&lt; std::string &gt; &amp;messages, char *<a class="el" href="classconnection.html#m1">host</a>)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Returns the next available packet and returns true if data is available.</em> <a href="#a6"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classircd__connector.html">ircd_connector</a> *&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#a7">FindHost</a> (std::string <a class="el" href="classconnection.html#m1">host</a>)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Find the <a class="el" href="classircd__connector.html">ircd_connector</a> oject related to a certain servername given in 'host'.</em> <a href="#a7"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#a8">AddIncoming</a> (int <a class="el" href="classconnection.html#m0">fd</a>, char *targethost, int sourceport)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Add an incoming connection to the connection pool.</em> <a href="#a8"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#a9">GenKey</a> ()</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>This function is deprecated and may be removed in a later alpha/beta.</em> <a href="#a9"></a><em></em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
-<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m0">key</a></td></tr>
-<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m1">fd</a></td></tr>
-<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m2">host</a> [256]</td></tr>
-<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m3">ip</a></td></tr>
-<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m4">inbuf</a> [MAXBUF]</td></tr>
-<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m5">bytes_in</a></td></tr>
-<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m6">bytes_out</a></td></tr>
-<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m7">cmds_in</a></td></tr>
-<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m8">cmds_out</a></td></tr>
-<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m9">haspassed</a></td></tr>
-<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m10">port</a></td></tr>
-<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m11">registered</a></td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m0">fd</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>File descriptor of the connection.</em> <a href="#m0"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m1">host</a> [256]</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Hostname of connection.</em> <a href="#m1"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m2">ip</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>IP of connection.</em> <a href="#m2"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m3">inbuf</a> [MAXBUF]</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Inbuf of connection.</em> <a href="#m3"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m4">bytes_in</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Stats counter for bytes inbound.</em> <a href="#m4"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m5">bytes_out</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Stats counter for bytes outbound.</em> <a href="#m5"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m6">cmds_in</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Stats counter for commands inbound.</em> <a href="#m6"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m7">cmds_out</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Stats counter for commands outbound.</em> <a href="#m7"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m8">haspassed</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>True if server/user has authenticated, false if otherwise.</em> <a href="#m8"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m9">port</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Port number For a userrec, this is the port they connected to the network on.</em> <a href="#m9"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m10">registered</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Used by userrec to indicate the registration status of the connection.</em> <a href="#m10"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>short int&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m11">state</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Reserved for future use.</em> <a href="#m11"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>time_t&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m12">lastping</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Time the connection was last pinged.</em> <a href="#m12"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>time_t&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m13">signon</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Time the connection was created, set in the constructor.</em> <a href="#m13"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>time_t&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m14">idle_lastmsg</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Time that the connection last sent data, used to calculate idle time.</em> <a href="#m14"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>time_t&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m15">nping</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Used by PING checks with clients.</em> <a href="#m15"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m16">internal_addr</a> [1024]</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Unused, will be removed in a future alpha/beta.</em> <a href="#m16"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m17">internal_port</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Unused, will be removed in a future alpha/beta.</em> <a href="#m17"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>std::vector&lt; <a class="el" href="classircd__connector.html">ircd_connector</a> &gt;&nbsp;</td><td valign=bottom><a class="el" href="classconnection.html#m18">connectors</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>With a serverrec, this is a list of all established server connections.</em> <a href="#m18"></a><em></em></font><br><br></td></tr>
</table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Please note: classes serverrec and userrec both inherit from class connection.
+<p>
+
+<p>
+Definition at line <a class="el" href="connection_8h-source.html#l00160">160</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="connection::connection"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
@@ -75,10 +115,58 @@ Inheritance diagram for connection:<p><center><img src="classconnection__inherit
<td>
<p>
+Default constructor.
+<p>
</td>
</tr>
</table>
<hr><h2>Member Function Documentation</h2>
+<a name="a8" doxytag="connection::AddIncoming"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool connection::AddIncoming </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>fd</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>targethost</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>sourceport</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Add an incoming connection to the connection pool.
+<p>
+(reserved for core use) </td>
+ </tr>
+</table>
<a name="a2" doxytag="connection::BeginLink"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
@@ -100,7 +188,19 @@ Inheritance diagram for connection:<p><center><img src="classconnection__inherit
<td></td>
<td></td>
<td class="md" nowrap>char *&nbsp;</td>
- <td class="mdname" nowrap>&nbsp; <em>password</em></td>
+ <td class="mdname" nowrap>&nbsp; <em>password</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>servername</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>myport</em></td>
</tr>
<tr>
<td></td>
@@ -120,6 +220,8 @@ Inheritance diagram for connection:<p><center><img src="classconnection__inherit
<td>
<p>
+Begin an outbound link to another ircd at targethost.
+<p>
</td>
</tr>
</table>
@@ -158,18 +260,21 @@ Inheritance diagram for connection:<p><center><img src="classconnection__inherit
<td>
<p>
+Create a listening socket on 'host' using port number 'p'.
+<p>
</td>
</tr>
</table>
-<a name="a8" doxytag="connection::GenKey"></a><p>
+<a name="a7" doxytag="connection::FindHost"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> long connection::GenKey </td>
+ <td class="md" nowrap valign="top"> <a class="el" href="classircd__connector.html">ircd_connector</a>* connection::FindHost </td>
<td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" nowrap valign="top">std::string&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>host</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
@@ -186,42 +291,22 @@ Inheritance diagram for connection:<p><center><img src="classconnection__inherit
<td>
<p>
+Find the <a class="el" href="classircd__connector.html">ircd_connector</a> oject related to a certain servername given in 'host'.
+<p>
</td>
</tr>
</table>
-<a name="a5" doxytag="connection::RecvPacket"></a><p>
+<a name="a9" doxytag="connection::GenKey"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> bool connection::RecvPacket </td>
+ <td class="md" nowrap valign="top"> long connection::GenKey </td>
<td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char *&nbsp;</td>
- <td class="mdname" nowrap>&nbsp; <em>message</em>, </td>
- </tr>
- <tr>
- <td></td>
- <td></td>
- <td class="md" nowrap>char *&nbsp;</td>
- <td class="mdname" nowrap>&nbsp; <em>host</em>, </td>
- </tr>
- <tr>
- <td></td>
- <td></td>
- <td class="md" nowrap>int &amp;&nbsp;</td>
- <td class="mdname" nowrap>&nbsp; <em>prt</em>, </td>
- </tr>
- <tr>
- <td></td>
- <td></td>
- <td class="md" nowrap>long &amp;&nbsp;</td>
- <td class="mdname" nowrap>&nbsp; <em>theirkey</em></td>
- </tr>
- <tr>
- <td></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
</tr>
</table>
@@ -236,19 +321,21 @@ Inheritance diagram for connection:<p><center><img src="classconnection__inherit
<td>
<p>
+This function is deprecated and may be removed in a later alpha/beta.
+<p>
</td>
</tr>
</table>
-<a name="a7" doxytag="connection::SendACK"></a><p>
+<a name="a3" doxytag="connection::MeshCookie"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> bool connection::SendACK </td>
+ <td class="md" nowrap valign="top"> bool connection::MeshCookie </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">char *&nbsp;</td>
- <td class="mdname" nowrap>&nbsp; <em>host</em>, </td>
+ <td class="mdname" nowrap>&nbsp; <em>targethost</em>, </td>
</tr>
<tr>
<td></td>
@@ -259,8 +346,14 @@ Inheritance diagram for connection:<p><center><img src="classconnection__inherit
<tr>
<td></td>
<td></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap>&nbsp; <em>reply_id</em></td>
+ <td class="md" nowrap>long&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cookie</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>servername</em></td>
</tr>
<tr>
<td></td>
@@ -280,37 +373,27 @@ Inheritance diagram for connection:<p><center><img src="classconnection__inherit
<td>
<p>
+Begin an outbound mesh link to another ircd on a network you are already an authenticated member of.
+<p>
</td>
</tr>
</table>
-<a name="a4" doxytag="connection::SendPacket"></a><p>
+<a name="a6" doxytag="connection::RecvPacket"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> bool connection::SendPacket </td>
+ <td class="md" nowrap valign="top"> bool connection::RecvPacket </td>
<td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char *&nbsp;</td>
- <td class="mdname" nowrap>&nbsp; <em>message</em>, </td>
+ <td class="md" nowrap valign="top">std::deque&lt; std::string &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>messages</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>char *&nbsp;</td>
- <td class="mdname" nowrap>&nbsp; <em>host</em>, </td>
- </tr>
- <tr>
- <td></td>
- <td></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap>&nbsp; <em>port</em>, </td>
- </tr>
- <tr>
- <td></td>
- <td></td>
- <td class="md" nowrap>long&nbsp;</td>
- <td class="mdname" nowrap>&nbsp; <em>ourkey</em></td>
+ <td class="mdname" nowrap>&nbsp; <em>host</em></td>
</tr>
<tr>
<td></td>
@@ -330,25 +413,27 @@ Inheritance diagram for connection:<p><center><img src="classconnection__inherit
<td>
<p>
- </td>
+Returns the next available packet and returns true if data is available.
+<p>
+Writes the servername the data came from to 'host'. If no data is available this function returns false. This function will automatically close broken links and reroute pathways, generating split messages on the network. </td>
</tr>
</table>
-<a name="a6" doxytag="connection::SendSYN"></a><p>
+<a name="a5" doxytag="connection::SendPacket"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> bool connection::SendSYN </td>
+ <td class="md" nowrap valign="top"> bool connection::SendPacket </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">char *&nbsp;</td>
- <td class="mdname" nowrap>&nbsp; <em>host</em>, </td>
+ <td class="mdname" nowrap>&nbsp; <em>message</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap>&nbsp; <em>port</em></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>host</em></td>
</tr>
<tr>
<td></td>
@@ -368,10 +453,12 @@ Inheritance diagram for connection:<p><center><img src="classconnection__inherit
<td>
<p>
+Send a message to a server by name, if the server is unavailable directly route the packet via another server If the server still cannot be reached after attempting to route the message remotely, returns false.
+<p>
</td>
</tr>
</table>
-<a name="a3" doxytag="connection::TerminateLink"></a><p>
+<a name="a4" doxytag="connection::TerminateLink"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
@@ -397,11 +484,13 @@ Inheritance diagram for connection:<p><center><img src="classconnection__inherit
<td>
<p>
+Terminate a link to 'targethost' by calling the <a class="el" href="classircd__connector.html#a13">ircd_connector::CloseConnection</a> method.
+<p>
</td>
</tr>
</table>
<hr><h2>Member Data Documentation</h2>
-<a name="m5" doxytag="connection::bytes_in"></a><p>
+<a name="m4" doxytag="connection::bytes_in"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
@@ -420,14 +509,16 @@ Inheritance diagram for connection:<p><center><img src="classconnection__inherit
<td>
<p>
+Stats counter for bytes inbound.
+<p>
<p>
-Definition at line <a class="el" href="connection_8h-source.html#l00047">47</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.
+Definition at line <a class="el" href="connection_8h-source.html#l00181">181</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.
<p>
Referenced by <a class="el" href="users_8cpp-source.html#l00011">userrec::userrec()</a>. </td>
</tr>
</table>
-<a name="m6" doxytag="connection::bytes_out"></a><p>
+<a name="m5" doxytag="connection::bytes_out"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
@@ -446,14 +537,16 @@ Referenced by <a class="el" href="users_8cpp-source.html#l00011">userrec::userre
<td>
<p>
+Stats counter for bytes outbound.
+<p>
<p>
-Definition at line <a class="el" href="connection_8h-source.html#l00048">48</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.
+Definition at line <a class="el" href="connection_8h-source.html#l00185">185</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.
<p>
Referenced by <a class="el" href="users_8cpp-source.html#l00011">userrec::userrec()</a>. </td>
</tr>
</table>
-<a name="m7" doxytag="connection::cmds_in"></a><p>
+<a name="m6" doxytag="connection::cmds_in"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
@@ -472,14 +565,16 @@ Referenced by <a class="el" href="users_8cpp-source.html#l00011">userrec::userre
<td>
<p>
+Stats counter for commands inbound.
+<p>
<p>
-Definition at line <a class="el" href="connection_8h-source.html#l00049">49</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.
+Definition at line <a class="el" href="connection_8h-source.html#l00189">189</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.
<p>
Referenced by <a class="el" href="users_8cpp-source.html#l00011">userrec::userrec()</a>. </td>
</tr>
</table>
-<a name="m8" doxytag="connection::cmds_out"></a><p>
+<a name="m7" doxytag="connection::cmds_out"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
@@ -498,14 +593,42 @@ Referenced by <a class="el" href="users_8cpp-source.html#l00011">userrec::userre
<td>
<p>
+Stats counter for commands outbound.
+<p>
<p>
-Definition at line <a class="el" href="connection_8h-source.html#l00050">50</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.
+Definition at line <a class="el" href="connection_8h-source.html#l00193">193</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.
<p>
Referenced by <a class="el" href="users_8cpp-source.html#l00011">userrec::userrec()</a>. </td>
</tr>
</table>
-<a name="m1" doxytag="connection::fd"></a><p>
+<a name="m18" doxytag="connection::connectors"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::vector&lt;<a class="el" href="classircd__connector.html">ircd_connector</a>&gt; connection::connectors
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+With a serverrec, this is a list of all established server connections.
+<p>
+With a userrec this is unused.
+<p>
+Definition at line <a class="el" href="connection_8h-source.html#l00240">240</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="connection::fd"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
@@ -524,14 +647,16 @@ Referenced by <a class="el" href="users_8cpp-source.html#l00011">userrec::userre
<td>
<p>
+File descriptor of the connection.
+<p>
<p>
-Definition at line <a class="el" href="connection_8h-source.html#l00043">43</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.
+Definition at line <a class="el" href="connection_8h-source.html#l00165">165</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00208">Server::SendTo()</a>, <a class="el" href="servers_8cpp-source.html#l00012">serverrec::serverrec()</a>, and <a class="el" href="users_8cpp-source.html#l00011">userrec::userrec()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00213">Server::SendTo()</a>, <a class="el" href="servers_8cpp-source.html#l00012">serverrec::serverrec()</a>, and <a class="el" href="users_8cpp-source.html#l00011">userrec::userrec()</a>. </td>
</tr>
</table>
-<a name="m9" doxytag="connection::haspassed"></a><p>
+<a name="m8" doxytag="connection::haspassed"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
@@ -550,14 +675,16 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00208">Server::SendT
<td>
<p>
+True if server/user has authenticated, false if otherwise.
+<p>
<p>
-Definition at line <a class="el" href="connection_8h-source.html#l00051">51</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.
+Definition at line <a class="el" href="connection_8h-source.html#l00197">197</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.
<p>
Referenced by <a class="el" href="users_8cpp-source.html#l00011">userrec::userrec()</a>. </td>
</tr>
</table>
-<a name="m2" doxytag="connection::host"></a><p>
+<a name="m1" doxytag="connection::host"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
@@ -576,9 +703,11 @@ Referenced by <a class="el" href="users_8cpp-source.html#l00011">userrec::userre
<td>
<p>
-
+Hostname of connection.
+<p>
+Not used if this is a serverrec
<p>
-Definition at line <a class="el" href="connection_8h-source.html#l00044">44</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
+Definition at line <a class="el" href="connection_8h-source.html#l00169">169</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
</tr>
</table>
<a name="m14" doxytag="connection::idle_lastmsg"></a><p>
@@ -600,14 +729,16 @@ Definition at line <a class="el" href="connection_8h-source.html#l00044">44</a>
<td>
<p>
+Time that the connection last sent data, used to calculate idle time.
+<p>
<p>
-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>.
+Definition at line <a class="el" href="connection_8h-source.html#l00223">223</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.
<p>
Referenced by <a class="el" href="users_8cpp-source.html#l00011">userrec::userrec()</a>. </td>
</tr>
</table>
-<a name="m4" doxytag="connection::inbuf"></a><p>
+<a name="m3" doxytag="connection::inbuf"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
@@ -626,9 +757,11 @@ Referenced by <a class="el" href="users_8cpp-source.html#l00011">userrec::userre
<td>
<p>
-
+Inbuf of connection.
+<p>
+Only used for userrec
<p>
-Definition at line <a class="el" href="connection_8h-source.html#l00046">46</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
+Definition at line <a class="el" href="connection_8h-source.html#l00177">177</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
</tr>
</table>
<a name="m16" doxytag="connection::internal_addr"></a><p>
@@ -650,18 +783,20 @@ Definition at line <a class="el" href="connection_8h-source.html#l00046">46</a>
<td>
<p>
+Unused, will be removed in a future alpha/beta.
+<p>
<p>
-Definition at line <a class="el" href="connection_8h-source.html#l00058">58</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
+Definition at line <a class="el" href="connection_8h-source.html#l00231">231</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
</tr>
</table>
-<a name="m3" doxytag="connection::ip"></a><p>
+<a name="m17" doxytag="connection::internal_port"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> long connection::ip
+ <td class="md" nowrap valign="top"> int connection::internal_port
</table>
</td>
</tr>
@@ -674,20 +809,20 @@ Definition at line <a class="el" href="connection_8h-source.html#l00058">58</a>
<td>
<p>
-
+Unused, will be removed in a future alpha/beta.
<p>
-Definition at line <a class="el" href="connection_8h-source.html#l00045">45</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.
+
<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00011">userrec::userrec()</a>. </td>
+Definition at line <a class="el" href="connection_8h-source.html#l00235">235</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
</tr>
</table>
-<a name="m0" doxytag="connection::key"></a><p>
+<a name="m2" doxytag="connection::ip"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> long connection::key
+ <td class="md" nowrap valign="top"> long connection::ip
</table>
</td>
</tr>
@@ -700,9 +835,13 @@ Referenced by <a class="el" href="users_8cpp-source.html#l00011">userrec::userre
<td>
<p>
-
+IP of connection.
+<p>
+Reserved for future use.
+<p>
+Definition at line <a class="el" href="connection_8h-source.html#l00173">173</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.
<p>
-Definition at line <a class="el" href="connection_8h-source.html#l00042">42</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
+Referenced by <a class="el" href="users_8cpp-source.html#l00011">userrec::userrec()</a>. </td>
</tr>
</table>
<a name="m12" doxytag="connection::lastping"></a><p>
@@ -724,9 +863,11 @@ Definition at line <a class="el" href="connection_8h-source.html#l00042">42</a>
<td>
<p>
+Time the connection was last pinged.
+<p>
<p>
-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>.
+Definition at line <a class="el" href="connection_8h-source.html#l00215">215</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.
<p>
Referenced by <a class="el" href="servers_8cpp-source.html#l00012">serverrec::serverrec()</a>, and <a class="el" href="users_8cpp-source.html#l00011">userrec::userrec()</a>. </td>
</tr>
@@ -750,14 +891,16 @@ Referenced by <a class="el" href="servers_8cpp-source.html#l00012">serverrec::se
<td>
<p>
+Used by PING checks with clients.
+<p>
<p>
-Definition at line <a class="el" href="connection_8h-source.html#l00057">57</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.
+Definition at line <a class="el" href="connection_8h-source.html#l00227">227</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.
<p>
Referenced by <a class="el" href="users_8cpp-source.html#l00011">userrec::userrec()</a>. </td>
</tr>
</table>
-<a name="m10" doxytag="connection::port"></a><p>
+<a name="m9" doxytag="connection::port"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
@@ -776,14 +919,16 @@ Referenced by <a class="el" href="users_8cpp-source.html#l00011">userrec::userre
<td>
<p>
-
+Port number For a userrec, this is the port they connected to the network on.
+<p>
+For a serverrec this is the current listening port of the serverrec object.
<p>
-Definition at line <a class="el" href="connection_8h-source.html#l00052">52</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.
+Definition at line <a class="el" href="connection_8h-source.html#l00203">203</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.
<p>
Referenced by <a class="el" href="users_8cpp-source.html#l00011">userrec::userrec()</a>. </td>
</tr>
</table>
-<a name="m11" doxytag="connection::registered"></a><p>
+<a name="m10" doxytag="connection::registered"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
@@ -802,9 +947,11 @@ Referenced by <a class="el" href="users_8cpp-source.html#l00011">userrec::userre
<td>
<p>
+Used by userrec to indicate the registration status of the connection.
+<p>
<p>
-Definition at line <a class="el" href="connection_8h-source.html#l00053">53</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.
+Definition at line <a class="el" href="connection_8h-source.html#l00207">207</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.
<p>
Referenced by <a class="el" href="users_8cpp-source.html#l00011">userrec::userrec()</a>. </td>
</tr>
@@ -828,16 +975,44 @@ Referenced by <a class="el" href="users_8cpp-source.html#l00011">userrec::userre
<td>
<p>
+Time the connection was created, set in the constructor.
+<p>
<p>
-Definition at line <a class="el" href="connection_8h-source.html#l00055">55</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.
+Definition at line <a class="el" href="connection_8h-source.html#l00219">219</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.
<p>
Referenced by <a class="el" href="servers_8cpp-source.html#l00012">serverrec::serverrec()</a>, and <a class="el" href="users_8cpp-source.html#l00011">userrec::userrec()</a>. </td>
</tr>
</table>
+<a name="m11" doxytag="connection::state"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> short int connection::state
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reserved for future use.
+<p>
+
+<p>
+Definition at line <a class="el" href="connection_8h-source.html#l00211">211</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
+ </tr>
+</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="connection_8h-source.html">connection.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Thu Apr 8 19:12:59 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 17 13:31:48 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>