<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>Crypto++: NetworkSender Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.3 --> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">Crypto++</div> </td> </tr> </tbody> </table> </div> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> </div> <div class="headertitle"> <h1>NetworkSender Class Reference</h1> </div> </div> <div class="contents"> <!-- doxytag: class="NetworkSender" --><!-- doxytag: inherits="Waitable" --> <p>Network Sender. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="network_8h_source.html">network.h</a>></code></p> <div class="dynheader"> Inheritance diagram for NetworkSender:</div> <div class="dyncontent"> <div class="center"> <img src="class_network_sender.png" usemap="#NetworkSender_map" alt=""/> <map id="NetworkSender_map" name="NetworkSender_map"> <area href="class_waitable.html" alt="Waitable" shape="rect" coords="69,0,197,24"/> <area href="class_socket_sender.html" alt="SocketSender" shape="rect" coords="0,112,128,136"/> <area href="class_windows_pipe_sender.html" alt="WindowsPipeSender" shape="rect" coords="138,112,266,136"/> <area href="class_windows_pipe_sink.html" alt="WindowsPipeSink" shape="rect" coords="138,168,266,192"/> </map> </div></div> <p><a href="class_network_sender-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afb86f4dc8d5ba76ad18f3be4a20d768e"></a><!-- doxytag: member="NetworkSender::MustWaitToSend" ref="afb86f4dc8d5ba76ad18f3be4a20d768e" args="()" --> virtual bool </td><td class="memItemRight" valign="bottom"><b>MustWaitToSend</b> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a89a0a3abf4c83dcbcb0ddd52addd44fb"></a><!-- doxytag: member="NetworkSender::MustWaitForResult" ref="a89a0a3abf4c83dcbcb0ddd52addd44fb" args="()" --> virtual bool </td><td class="memItemRight" valign="bottom"><b>MustWaitForResult</b> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa7655dd390817ca54628a5af93c23892"></a><!-- doxytag: member="NetworkSender::Send" ref="aa7655dd390817ca54628a5af93c23892" args="(const byte *buf, size_t bufLen)=0" --> virtual void </td><td class="memItemRight" valign="bottom"><b>Send</b> (const byte *buf, size_t bufLen)=0</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1efa48c4cc8d6ca14a31b8eca210663a"></a><!-- doxytag: member="NetworkSender::GetSendResult" ref="a1efa48c4cc8d6ca14a31b8eca210663a" args="()=0" --> virtual unsigned int </td><td class="memItemRight" valign="bottom"><b>GetSendResult</b> ()=0</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad3efdc8b10e91dfa5a901416735be820"></a><!-- doxytag: member="NetworkSender::MustWaitForEof" ref="ad3efdc8b10e91dfa5a901416735be820" args="()" --> virtual bool </td><td class="memItemRight" valign="bottom"><b>MustWaitForEof</b> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8291fe8d3ac83b1df0bfdb92d58dd06c"></a><!-- doxytag: member="NetworkSender::SendEof" ref="a8291fe8d3ac83b1df0bfdb92d58dd06c" args="()=0" --> virtual void </td><td class="memItemRight" valign="bottom"><b>SendEof</b> ()=0</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a387810801daf13c48170996425c61c77"></a><!-- doxytag: member="NetworkSender::EofSent" ref="a387810801daf13c48170996425c61c77" args="()" --> virtual bool </td><td class="memItemRight" valign="bottom"><b>EofSent</b> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a221cf2a8063487b56b97c27197e16b12"></a><!-- doxytag: member="NetworkSender::GetMaxWaitObjectCount" ref="a221cf2a8063487b56b97c27197e16b12" args="() const =0" --> virtual unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_waitable.html#a221cf2a8063487b56b97c27197e16b12">GetMaxWaitObjectCount</a> () const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">maximum number of wait objects that this object can return <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_waitable.html#a97155f28db33d3dacc69dc453a01609a">GetWaitObjects</a> (<a class="el" href="class_wait_object_container.html">WaitObjectContainer</a> &container, <a class="el" href="class_call_stack.html">CallStack</a> const &callStack)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">put wait objects into container <a href="#a97155f28db33d3dacc69dc453a01609a"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_waitable.html#aded81bbe562f61932306a64e6122a6ca">Wait</a> (unsigned long milliseconds, <a class="el" href="class_call_stack.html">CallStack</a> const &callStack)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">wait on this object <a href="#aded81bbe562f61932306a64e6122a6ca"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <div class="textblock"><p>Network Sender. </p> <p>Definition at line <a class="el" href="network_8h_source.html#l00152">152</a> of file <a class="el" href="network_8h_source.html">network.h</a>.</p> </div><hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a97155f28db33d3dacc69dc453a01609a"></a><!-- doxytag: member="NetworkSender::GetWaitObjects" ref="a97155f28db33d3dacc69dc453a01609a" args="(WaitObjectContainer &container, CallStack const &callStack)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void Waitable::GetWaitObjects </td> <td>(</td> <td class="paramtype"><a class="el" href="class_wait_object_container.html">WaitObjectContainer</a> & </td> <td class="paramname"><em>container</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="class_call_stack.html">CallStack</a> const & </td> <td class="paramname"><em>callStack</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [pure virtual, inherited]</code></td> </tr> </table> </div> <div class="memdoc"> <p>put wait objects into container </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">callStack</td><td>is used for tracing no wait loops, example: something.GetWaitObjects(c, <a class="el" href="class_call_stack.html">CallStack</a>("my func after X", 0));</p> <ul> <li>or in an outer <a class="el" href="class_waitable.html#a97155f28db33d3dacc69dc453a01609a" title="put wait objects into container">GetWaitObjects()</a> method that itself takes a callStack parameter: innerThing.GetWaitObjects(c, <a class="el" href="class_call_stack.html">CallStack</a>("MyClass::GetWaitObjects at X", &callStack)); </li> </ul> </td></tr> </table> </dd> </dl> <p>Implemented in <a class="el" href="class_buffered_transformation.html#a127ccd1793fdda6548cd1295f848d0f7">BufferedTransformation</a>, <a class="el" href="class_redirector.html#ac0dc5f63f7a57af37f819aa9251a78bf">Redirector</a>, <a class="el" href="class_socket_receiver.html#aa851a6020843d4311036a6f4299f9a6b">SocketReceiver</a>, <a class="el" href="class_socket_sender.html#a9f5d2a6bb5665c5b93d857485c8348e4">SocketSender</a>, <a class="el" href="class_windows_pipe_receiver.html#a44a3dbb7ef3161d84731c3c320eaa33a">WindowsPipeReceiver</a>, and <a class="el" href="class_windows_pipe_sender.html#a26b98ea160dc37248cb9934edb8a27ef">WindowsPipeSender</a>.</p> <p>Referenced by <a class="el" href="wait_8cpp_source.html#l00388">Waitable::Wait()</a>.</p> </div> </div> <a class="anchor" id="aded81bbe562f61932306a64e6122a6ca"></a><!-- doxytag: member="NetworkSender::Wait" ref="aded81bbe562f61932306a64e6122a6ca" args="(unsigned long milliseconds, CallStack const &callStack)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool Waitable::Wait </td> <td>(</td> <td class="paramtype">unsigned long </td> <td class="paramname"><em>milliseconds</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="class_call_stack.html">CallStack</a> const & </td> <td class="paramname"><em>callStack</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [inherited]</code></td> </tr> </table> </div> <div class="memdoc"> <p>wait on this object </p> <p>same as creating an empty container, calling <a class="el" href="class_waitable.html#a97155f28db33d3dacc69dc453a01609a" title="put wait objects into container">GetWaitObjects()</a>, and calling <a class="el" href="class_waitable.html#aded81bbe562f61932306a64e6122a6ca" title="wait on this object">Wait()</a> on the container </p> <p>Definition at line <a class="el" href="wait_8cpp_source.html#l00388">388</a> of file <a class="el" href="wait_8cpp_source.html">wait.cpp</a>.</p> <p>References <a class="el" href="class_waitable.html#a97155f28db33d3dacc69dc453a01609a">Waitable::GetWaitObjects()</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="network_8h_source.html">network.h</a></li> </ul> </div> <hr class="footer"/><address class="footer"><small>Generated on Tue Feb 8 2011 for Crypto++ by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> </body> </html>