Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > f48941b2df41f17d4c9519d16b753438 > files > 307

ClanLib06-devel-0.6.5-16.fc13.x86_64.rpm


<html>
<head><title>ClanLib Reference: CL_BufferedSocket</title></head>
<body text=black link=blue vlink=#800080 bgcolor=white topmargin=0 leftmargin=0>
<table border=0 cellspacing=0 cellpadding=0 width=100%><tr><td><img border=0 src="../images/eyeheader-main-purple-a.gif" alt="ClanSoft logo" width=525 height=96></td></tr>
<tr bgcolor=#dadada><td align=left valign=top><img border=0 src="../images/eyeheader-main-purple-b.gif" alt="ClanSoft logo" width=190 height=14></td><td align=right valign=top><img border=0 src="../images/clanlib_light.gif" width=42 height=14></td></tr></table>
<table align=center border=0 cellspacing=10> <tr>
<td><a href="entire_class_index.html">Entire Class Index</a></td>
<td><a href="class_index.html">Main Class Index</a></td>
<td><a href="cross_index.html">Cross Index</a></td>
<td><a href="global_index.html">Global Index</a></td>
</table><h1 align=center>Class CL_BufferedSocket</h1><p>
<b>  Non-blocked, buffered socket transmission interface.</b><br>
Contained in: <a href="global_index.html">global</a><br>
Derived from:
<a href="CL_Socket.html">CL_Socket</a>
<br>
Derived by:
<i>none</i>
<br>Group: Network (Sockets)
<p>
#include &lt;ClanLib/network.h&gt;
<p>
<hr noshade>
<table border=0>
<tr><td colspan=3><h3>public function member index:</h3></td>
<tr valign=top><td align=left><h3>Construction:</h3></td>
<tr valign=top><td align=right><tt></tt> </td><td align=right><a href="CL_BufferedSocket.html#1197"><tt><font color=blue><b>CL_BufferedSocket</b></font></tt></a></td><td><tt>(<tt><font color=purple>int</font></tt> <tt><font color=blue>socket</font></tt>)</tt>;</td>
<tr valign=top><td align=right><tt></tt> </td><td align=right><a href="CL_BufferedSocket.html#1198"><tt><font color=blue><b>CL_BufferedSocket</b></font></tt></a></td><td><tt>(<tt><font color=navy>Type</font></tt> <tt><font color=blue>type</font></tt>)</tt>;</td>
<tr valign=top><td align=right><tt></tt> </td><td align=right><a href="CL_BufferedSocket.html#1199"><tt><font color=blue><b>CL_BufferedSocket</b></font></tt></a></td><td><tt>(<tt>const</tt> <a href="CL_Socket.html"><tt><font color=navy><b>CL_Socket</b></font></tt></a>& <tt><font color=blue>socket</font></tt>)</tt>;</td>
<tr valign=top><td align=right><tt></tt> </td><td align=right><a href="CL_BufferedSocket.html#1200"><tt><font color=blue><b>CL_BufferedSocket</b></font></tt></a></td><td><tt>(<tt>const</tt> <a href="CL_BufferedSocket.html#1200"><tt><font color=blue><b>CL_BufferedSocket</b></font></tt></a>& <tt><font color=blue>copy</font></tt>)</tt>;</td>
<tr valign=top><td align=right><tt><tt>virtual</tt> </tt> </td><td align=right><a href="CL_BufferedSocket.html#1201"><tt><font color=blue><b>~CL_BufferedSocket</b></font></tt></a></td><td><tt>()</tt>;</td>
<tr valign=top><td align=left><h3>Attributes:</h3></td>
<tr valign=top><td align=right><tt><tt><font color=purple>int</font></tt></tt> </td><td align=right><a href="CL_BufferedSocket.html#1202"><tt><font color=blue><b>get_input_buffer_size</b></font></tt></a></td><td><tt>() <tt>const</tt></tt>;</td>
<tr valign=top><td align=left><h3>Operations:</h3></td>
<tr valign=top><td align=right><tt><tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_BufferedSocket.html#1203"><tt><font color=blue><b>set_input_buffer_size</b></font></tt></a></td><td><tt>(<tt><font color=purple>int</font></tt> <tt><font color=blue>size</font></tt>)</tt>;</td>
<tr><td>&nbsp;</td></table>
<hr noshade>
<h2>Description:</h2>
  The buffered socket class works like a socket in non-blocking mode, with a few exceptions:<br><br>  any write operation will always write the full data. Any data not immidiately writeable  to the socket will be buffered and written in a seperate thread as the socket can receive  them. When all the data has been written, the write event will trigger.<br><br>  incoming data is also buffered. Each time the input buffer has been filled (which  can be changed with set_input_buffer_size(int size), the read event will trigger.<br><br>  Using this class, you can easilly write and read data in the chunk sizes you prefer.<br><p>
<hr noshade>
<h2>Function Member Descriptions:</h2>
<a name="1197"><font size=+1><b>CL_BufferedSocket::CL_BufferedSocket</b></font></a> -   Constructs an attached socket.<br><tt></tt> <a href="CL_BufferedSocket.html#1197"><tt><font color=blue><b>CL_BufferedSocket</b></font></tt></a><tt>(<tt><font color=purple>int</font></tt> <tt><font color=blue>socket</font></tt>)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="1198"><font size=+1><b>CL_BufferedSocket::CL_BufferedSocket</b></font></a> -   Constructs a new socket using the specified protocol type.<br><tt></tt> <a href="CL_BufferedSocket.html#1198"><tt><font color=blue><b>CL_BufferedSocket</b></font></tt></a><tt>(<tt><font color=navy>Type</font></tt> <tt><font color=blue>type</font></tt>)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="1199"><font size=+1><b>CL_BufferedSocket::CL_BufferedSocket</b></font></a> -   Create socket that is attached to the passed socket.<br>  Note that since the buffered socket class will read data from the socket (buffering it),  it will no longer be safe to use the original socket until the buffered socket instance  has been destroyed.<br><tt></tt> <a href="CL_BufferedSocket.html#1199"><tt><font color=blue><b>CL_BufferedSocket</b></font></tt></a><tt>(<tt>const</tt> <a href="CL_Socket.html"><tt><font color=navy><b>CL_Socket</b></font></tt></a>& <tt><font color=blue>socket</font></tt>)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="1200"><font size=+1><b>CL_BufferedSocket::CL_BufferedSocket</b></font></a> -   Copy constructor.<br><tt></tt> <a href="CL_BufferedSocket.html#1200"><tt><font color=blue><b>CL_BufferedSocket</b></font></tt></a><tt>(<tt>const</tt> <a href="CL_BufferedSocket.html#1200"><tt><font color=blue><b>CL_BufferedSocket</b></font></tt></a>& <tt><font color=blue>copy</font></tt>)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="1202"><font size=+1><b>CL_BufferedSocket::get_input_buffer_size</b></font></a> -   Returns the size of the buffered input buffer. Each time it is full,  the read event will trigger.<br><tt><tt><font color=purple>int</font></tt></tt> <a href="CL_BufferedSocket.html#1202"><tt><font color=blue><b>get_input_buffer_size</b></font></tt></a><tt>() <tt>const</tt></tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="1203"><font size=+1><b>CL_BufferedSocket::set_input_buffer_size</b></font></a> -   Sets the size of the buffered input buffer. Each time it is full,  the read event will trigger.<br><tt><tt><font color=purple>void</font></tt></tt> <a href="CL_BufferedSocket.html#1203"><tt><font color=blue><b>set_input_buffer_size</b></font></tt></a><tt>(<tt><font color=purple>int</font></tt> <tt><font color=blue>size</font></tt>)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="1201"><font size=+1><b>CL_BufferedSocket::~CL_BufferedSocket</b></font></a> -   Buffered Socket Destructor<br><tt><tt>virtual</tt> </tt> <a href="CL_BufferedSocket.html#1201"><tt><font color=blue><b>~CL_BufferedSocket</b></font></tt></a><tt>()</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<hr noshade>
<h2>Variable Member Descriptions:</h2>
<hr noshade>
</body>
</html>