📄 class_socket_sink.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>Crypto++: SocketSink class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.3.2 --><div class="qindex"><a class="qindex" href="index.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><h1>SocketSink Class Reference</h1><code>#include <<a class="el" href="socketft_8h-source.html">socketft.h</a>></code><p><p>Inheritance diagram for SocketSink:<p><center><img src="class_socket_sink.png" usemap="#SocketSink_map" border="0" alt=""></center><map name="SocketSink_map"><area href="class_network_sink.html" alt="NetworkSink" shape="rect" coords="77,280,222,304"><area href="class_socket.html" alt="Socket" shape="rect" coords="232,280,377,304"><area href="class_nonblocking_sink.html" alt="NonblockingSink" shape="rect" coords="77,224,222,248"><area href="class_sink.html" alt="Sink" shape="rect" coords="77,168,222,192"><area href="class_buffered_transformation.html" alt="BufferedTransformation" shape="rect" coords="77,112,222,136"><area href="class_algorithm.html" alt="Algorithm" shape="rect" coords="0,56,145,80"><area href="class_waitable.html" alt="Waitable" shape="rect" coords="155,56,300,80"><area href="class_clonable.html" alt="Clonable" shape="rect" coords="0,0,145,24"></map><a href="class_socket_sink-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2><p><p>Definition at line <a class="el" href="socketft_8h-source.html#l00201">201</a> of file <a class="el" href="socketft_8h-source.html">socketft.h</a>.<table border=0 cellpadding=0 cellspacing=0><tr><td></td></tr><tr><td colspan=2><br><h2>SIGNALS</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_windows_pipe_sourcez5_0" doxytag="SocketSink::IsolatedInitialize"></a>virtual void </td><td class="memItemRight" valign=bottom><b>IsolatedInitialize</b> (const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &parameters)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_zlib_decompressorz5_0" doxytag="SocketSink::IsolatedMessageSeriesEnd"></a>virtual bool </td><td class="memItemRight" valign=bottom><b>IsolatedMessageSeriesEnd</b> (bool blocking)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_windows_pipe_sinkz5_2" doxytag="SocketSink::Initialize"></a>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="class_socket_sink.html#_windows_pipe_sinkz5_2">Initialize</a> (const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &parameters=<a class="el" href="cryptlib_8h.html#a3">g_nullNameValuePairs</a>, int propagation=-1)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">initialize or reinitialize this object <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool </td><td class="memItemRight" valign=bottom><a class="el" href="class_socket_sink.html#_windows_pipe_sinkz5_3">Flush</a> (bool hardFlush, int propagation=-1, bool blocking=true)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">flush buffered input and/or output </em> <a href="#_windows_pipe_sinkz5_3"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool </td><td class="memItemRight" valign=bottom><a class="el" href="class_socket_sink.html#_windows_pipe_sinkz5_4">MessageSeriesEnd</a> (int propagation=-1, bool blocking=true)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">mark end of a series of messages </em> <a href="#_windows_pipe_sinkz5_4"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="class_socket_sink.html#_zlib_compressorz5_1">SetAutoSignalPropagation</a> (int propagation)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">set propagation of automatically generated and transfered signals </em> <a href="#_zlib_compressorz5_1"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_zlib_compressorz5_2" doxytag="SocketSink::GetAutoSignalPropagation"></a>virtual int </td><td class="memItemRight" valign=bottom><b>GetAutoSignalPropagation</b> () const</td></tr><tr><td colspan=2><br><h2>ATTACHMENT</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool </td><td class="memItemRight" valign=bottom><a class="el" href="class_socket_sink.html#_windows_pipe_sinkz15_0">Attachable</a> ()</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns whether this object allows attachment </em> <a href="#_windows_pipe_sinkz15_0"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_windows_pipe_sinkz15_1" doxytag="SocketSink::AttachedTransformation"></a>virtual <a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="class_socket_sink.html#_windows_pipe_sinkz15_1">AttachedTransformation</a> ()</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns the object immediately attached to this object or NULL for no attachment <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_windows_pipe_sinkz15_2" doxytag="SocketSink::AttachedTransformation"></a>virtual const <a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> * </td><td class="memItemRight" valign=bottom><b>AttachedTransformation</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_windows_pipe_sinkz15_3" doxytag="SocketSink::Detach"></a>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="class_socket_sink.html#_windows_pipe_sinkz15_3">Detach</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> *newAttachment=0)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">delete the current attachment chain and replace it with newAttachment <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_zlib_decompressorz15_0" doxytag="SocketSink::Attach"></a>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="class_socket_sink.html#_zlib_decompressorz15_0">Attach</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> *newAttachment)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">add newAttachment to the end of attachment chain <br><br></td></tr><tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_socket_sinka0" doxytag="SocketSink::SocketSink"></a> </td><td class="memItemRight" valign=bottom><b>SocketSink</b> (socket_t s=INVALID_SOCKET, unsigned int maxBufferSize=0, bool autoFlush=false)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_socket_sinka1" doxytag="SocketSink::SendEof"></a>void </td><td class="memItemRight" valign=bottom><b>SendEof</b> ()</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_windows_pipe_sinka8" doxytag="SocketSink::GetMaxWaitObjectCount"></a>unsigned int </td><td class="memItemRight" valign=bottom><a class="el" href="class_socket_sink.html#_windows_pipe_sinka8">GetMaxWaitObjectCount</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">maximum number of wait objects that this object can return <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_windows_pipe_sinka9" doxytag="SocketSink::GetWaitObjects"></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="class_socket_sink.html#_windows_pipe_sinka9">GetWaitObjects</a> (<a class="el" href="class_wait_object_container.html">WaitObjectContainer</a> &container)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">put wait objects into container <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>unsigned int </td><td class="memItemRight" valign=bottom><a class="el" href="class_socket_sink.html#_windows_pipe_sinka10">Put2</a> (const byte *inString, unsigned int length, int messageEnd, bool blocking)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">input multiple bytes for blocking or non-blocking processing </em> <a href="#_windows_pipe_sinka10"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>unsigned int </td><td class="memItemRight" valign=bottom><a class="el" href="class_socket_sink.html#_windows_pipe_sinka11">TimedFlush</a> (unsigned long maxTime, unsigned int targetSize=0)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">flush to device for no more than maxTime milliseconds </em> <a href="#_windows_pipe_sinka11"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_windows_pipe_sinka12" doxytag="SocketSink::SetMaxBufferSize"></a>void </td><td class="memItemRight" valign=bottom><b>SetMaxBufferSize</b> (unsigned int maxBufferSize)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_windows_pipe_sinka13" doxytag="SocketSink::SetAutoFlush"></a>void </td><td class="memItemRight" valign=bottom><b>SetAutoFlush</b> (bool autoFlush=true)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_windows_pipe_sinka14" doxytag="SocketSink::GetMaxBufferSize"></a>unsigned int </td><td class="memItemRight" valign=bottom><b>GetMaxBufferSize</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_windows_pipe_sinka15" doxytag="SocketSink::GetCurrentBufferSize"></a>unsigned int </td><td class="memItemRight" valign=bottom><b>GetCurrentBufferSize</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_windows_pipe_sinka16" doxytag="SocketSink::IsolatedFlush"></a>bool </td><td class="memItemRight" valign=bottom><b>IsolatedFlush</b> (bool hardFlush, bool blocking)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="class_socket_sink.html#_zlib_decompressora16">Ref</a> ()</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">return a reference to this object </em> <a href="#_zlib_decompressora16"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_zlib_decompressora17" doxytag="SocketSink::AlgorithmName"></a>virtual std::string </td><td class="memItemRight" valign=bottom><a class="el" href="class_socket_sink.html#_zlib_decompressora17">AlgorithmName</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns name of this algorithm, not universally implemented yet <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_zlib_decompressora18" doxytag="SocketSink::Clone"></a>virtual <a class="el" href="class_clonable.html">Clonable</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="class_socket_sink.html#_zlib_decompressora18">Clone</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">this is not implemented by most classes yet <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="class_socket_sink.html#_zlib_decompressora19">Wait</a> (unsigned long milliseconds)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">wait on this object </em> <a href="#_zlib_decompressora19"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_socket_sourcea24" doxytag="SocketSink::GetOwnership"></a>bool </td><td class="memItemRight" valign=bottom><b>GetOwnership</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_socket_sourcea25" doxytag="SocketSink::SetOwnership"></a>void </td><td class="memItemRight" valign=bottom><b>SetOwnership</b> (bool own)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_socket_sourcea26" doxytag="SocketSink::operator socket_t"></a> </td><td class="memItemRight" valign=bottom><b>operator socket_t</b> ()</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_socket_sourcea27" doxytag="SocketSink::GetSocket"></a>socket_t </td><td class="memItemRight" valign=bottom><b>GetSocket</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_socket_sourcea28" doxytag="SocketSink::AttachSocket"></a>void </td><td class="memItemRight" valign=bottom><b>AttachSocket</b> (socket_t s, bool own=false)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_socket_sourcea29" doxytag="SocketSink::DetachSocket"></a>socket_t </td><td class="memItemRight" valign=bottom><b>DetachSocket</b> ()</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_socket_sourcea30" doxytag="SocketSink::CloseSocket"></a>void </td><td class="memItemRight" valign=bottom><b>CloseSocket</b> ()</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_socket_sourcea31" doxytag="SocketSink::Create"></a>void </td><td class="memItemRight" valign=bottom><b>Create</b> (int nType=SOCK_STREAM)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_socket_sourcea32" doxytag="SocketSink::Bind"></a>void </td><td class="memItemRight" valign=bottom><b>Bind</b> (unsigned int port, const char *addr=NULL)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_socket_sourcea33" doxytag="SocketSink::Bind"></a>void </td><td class="memItemRight" valign=bottom><b>Bind</b> (const sockaddr *psa, socklen_t saLen)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_socket_sourcea34" doxytag="SocketSink::Listen"></a>void </td><td class="memItemRight" valign=bottom><b>Listen</b> (int backlog=5)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_socket_sourcea35" doxytag="SocketSink::Connect"></a>bool </td><td class="memItemRight" valign=bottom><b>Connect</b> (const char *addr, unsigned int port)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_socket_sourcea36" doxytag="SocketSink::Connect"></a>bool </td><td class="memItemRight" valign=bottom><b>Connect</b> (const sockaddr *psa, socklen_t saLen)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_socket_sourcea37" doxytag="SocketSink::Accept"></a>bool </td><td class="memItemRight" valign=bottom><b>Accept</b> (<a class="el" href="class_socket.html">Socket</a> &s, sockaddr *psa=NULL, socklen_t *psaLen=NULL)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_socket_sourcea38" doxytag="SocketSink::GetSockName"></a>void </td><td class="memItemRight" valign=bottom><b>GetSockName</b> (sockaddr *psa, socklen_t *psaLen)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_socket_sourcea39" doxytag="SocketSink::Send"></a>unsigned int </td><td class="memItemRight" valign=bottom><b>Send</b> (const byte *buf, unsigned int bufLen, int flags=0)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_socket_sourcea40" doxytag="SocketSink::Receive"></a>unsigned int </td><td class="memItemRight" valign=bottom><b>Receive</b> (byte *buf, unsigned int bufLen, int flags=0)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_socket_sourcea41" doxytag="SocketSink::ShutDown"></a>void </td><td class="memItemRight" valign=bottom><b>ShutDown</b> (int how=SD_SEND)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_socket_sourcea42" doxytag="SocketSink::IOCtl"></a>void </td><td class="memItemRight" valign=bottom><b>IOCtl</b> (long cmd, unsigned long *argp)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_socket_sourcea43" doxytag="SocketSink::SendReady"></a>bool </td><td class="memItemRight" valign=bottom><b>SendReady</b> (const timeval *timeout)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_socket_sourcea44" doxytag="SocketSink::ReceiveReady"></a>bool </td><td class="memItemRight" valign=bottom><b>ReceiveReady</b> (const timeval *timeout)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_socket_sourcea45" doxytag="SocketSink::HandleError"></a>virtual void </td><td class="memItemRight" valign=bottom><b>HandleError</b> (const char *operation) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_socket_sourcea46" doxytag="SocketSink::CheckAndHandleError_int"></a>void </td><td class="memItemRight" valign=bottom><b>CheckAndHandleError_int</b> (const char *operation, int result) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_socket_sourcea47" doxytag="SocketSink::CheckAndHandleError"></a>void </td><td class="memItemRight" valign=bottom><b>CheckAndHandleError</b> (const char *operation, socket_t result) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_socket_sourcea48" doxytag="SocketSink::CheckAndHandleError"></a>void </td><td class="memItemRight" valign=bottom><b>CheckAndHandleError</b> (const char *operation, BOOL result) const</td></tr><tr><td colspan=2><br><h2>Static Public Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_socket_sourcee0" doxytag="SocketSink::PortNameToNumber"></a>unsigned int </td><td class="memItemRight" valign=bottom><a class="el" href="class_socket_sink.html#_socket_sourcee0">PortNameToNumber</a> (const char *name, const char *protocol="tcp")</td></tr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -