⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 class_nonblocking_sink.html

📁 Crypto++是一个非常强大的密码学库,主要是功能全
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<!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++: NonblockingSink 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&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Compound&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Compound&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div><h1>NonblockingSink Class Reference</h1><code>#include &lt;<a class="el" href="network_8h-source.html">network.h</a>&gt;</code><p><p>Inheritance diagram for NonblockingSink:<p><center><img src="class_nonblocking_sink.png" usemap="#NonblockingSink_map" border="0" alt=""></center><map name="NonblockingSink_map"><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"><area href="class_network_sink.html" alt="NetworkSink" shape="rect" coords="77,280,222,304"><area href="class_socket_sink.html" alt="SocketSink" shape="rect" coords="0,336,145,360"><area href="class_windows_pipe_sink.html" alt="WindowsPipeSink" shape="rect" coords="155,336,300,360"></map><a href="class_nonblocking_sink-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>a <a class="el" href="class_sink.html">Sink</a> class that queues input and can flush to a device for a specified amount of time. <p><p>Definition at line <a class="el" href="network_8h-source.html#l00054">54</a> of file <a class="el" href="network_8h-source.html">network.h</a>.<table border=0 cellpadding=0 cellspacing=0><tr><td></td></tr><tr><td colspan=2><br><h2>INPUT</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_zlib_decompressorz1_0" doxytag="NonblockingSink::Put"></a>unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_nonblocking_sink.html#_zlib_decompressorz1_0">Put</a> (byte inByte, bool blocking=true)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">input a byte for processing <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_zlib_decompressorz1_1" doxytag="NonblockingSink::Put"></a>unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_nonblocking_sink.html#_zlib_decompressorz1_1">Put</a> (const byte *inString, unsigned int length, bool blocking=true)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">input multiple bytes <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_zlib_decompressorz1_2" doxytag="NonblockingSink::PutWord16"></a>unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_nonblocking_sink.html#_zlib_decompressorz1_2">PutWord16</a> (word16 value, ByteOrder order=BIG_ENDIAN_ORDER, bool blocking=true)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">input a 16-bit word <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_zlib_decompressorz1_3" doxytag="NonblockingSink::PutWord32"></a>unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_nonblocking_sink.html#_zlib_decompressorz1_3">PutWord32</a> (word32 value, ByteOrder order=BIG_ENDIAN_ORDER, bool blocking=true)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">input a 32-bit word <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>virtual byte *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_nonblocking_sink.html#_zlib_decompressorz1_4">CreatePutSpace</a> (unsigned int &amp;size)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">request space to write bytes into for processing </em> <a href="#_zlib_decompressorz1_4"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_zlib_decompressorz1_5" doxytag="NonblockingSink::CanModifyInput"></a>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><b>CanModifyInput</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_zlib_decompressorz1_6" doxytag="NonblockingSink::PutModifiable"></a>unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_nonblocking_sink.html#_zlib_decompressorz1_6">PutModifiable</a> (byte *inString, unsigned int length, bool blocking=true)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">input multiple bytes that may be modified by callee <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_zlib_decompressorz1_7" doxytag="NonblockingSink::MessageEnd"></a>bool&nbsp;</td><td class="memItemRight" valign=bottom><b>MessageEnd</b> (int propagation=-1, bool blocking=true)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_zlib_decompressorz1_8" doxytag="NonblockingSink::PutMessageEnd"></a>unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><b>PutMessageEnd</b> (const byte *inString, unsigned int length, int propagation=-1, bool blocking=true)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>virtual unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_nonblocking_sink.html#_unflushable_3_01_sink_01_4z1_9">Put2</a> (const byte *inString, unsigned int length, int messageEnd, bool blocking)=0</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">input multiple bytes for blocking or non-blocking processing </em> <a href="#_unflushable_3_01_sink_01_4z1_9"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>virtual unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_nonblocking_sink.html#_zlib_decompressorz1_9">PutModifiable2</a> (byte *inString, unsigned int length, int messageEnd, bool blocking)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">input multiple bytes that may be modified by callee for blocking or non-blocking processing </em> <a href="#_zlib_decompressorz1_9"></a><em><br><br></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="NonblockingSink::IsolatedInitialize"></a>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><b>IsolatedInitialize</b> (const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &amp;parameters)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_zlib_decompressorz5_0" doxytag="NonblockingSink::IsolatedMessageSeriesEnd"></a>virtual bool&nbsp;</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="NonblockingSink::Initialize"></a>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_nonblocking_sink.html#_windows_pipe_sinkz5_2">Initialize</a> (const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &amp;parameters=<a class="el" href="cryptlib_8h.html#a3">g_nullNameValuePairs</a>, int propagation=-1)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">initialize or reinitialize this object <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_nonblocking_sink.html#_windows_pipe_sinkz5_3">Flush</a> (bool hardFlush, int propagation=-1, bool blocking=true)</td></tr><tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_nonblocking_sink.html#_windows_pipe_sinkz5_4">MessageSeriesEnd</a> (int propagation=-1, bool blocking=true)</td></tr><tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_nonblocking_sink.html#_zlib_compressorz5_1">SetAutoSignalPropagation</a> (int propagation)</td></tr><tr><td class="mdescLeft">&nbsp;</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="NonblockingSink::GetAutoSignalPropagation"></a>virtual int&nbsp;</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&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_nonblocking_sink.html#_windows_pipe_sinkz15_0">Attachable</a> ()</td></tr><tr><td class="mdescLeft">&nbsp;</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="NonblockingSink::AttachedTransformation"></a>virtual <a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_nonblocking_sink.html#_windows_pipe_sinkz15_1">AttachedTransformation</a> ()</td></tr><tr><td class="mdescLeft">&nbsp;</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="NonblockingSink::AttachedTransformation"></a>virtual const <a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> *&nbsp;</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="NonblockingSink::Detach"></a>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_nonblocking_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">&nbsp;</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="NonblockingSink::Attach"></a>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_nonblocking_sink.html#_zlib_decompressorz15_0">Attach</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> *newAttachment)</td></tr><tr><td class="mdescLeft">&nbsp;</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="_windows_pipe_sinka16" doxytag="NonblockingSink::IsolatedFlush"></a>bool&nbsp;</td><td class="memItemRight" valign=bottom><b>IsolatedFlush</b> (bool hardFlush, bool blocking)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>virtual unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_nonblocking_sink.html#_nonblocking_sinka1">TimedFlush</a> (unsigned long maxTime, unsigned int targetSize=0)=0</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">flush to device for no more than maxTime milliseconds </em> <a href="#_nonblocking_sinka1"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_nonblocking_sinka2" doxytag="NonblockingSink::SetMaxBufferSize"></a>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><b>SetMaxBufferSize</b> (unsigned int maxBufferSize)=0</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_nonblocking_sinka3" doxytag="NonblockingSink::SetAutoFlush"></a>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><b>SetAutoFlush</b> (bool autoFlush=true)=0</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_nonblocking_sinka4" doxytag="NonblockingSink::GetMaxBufferSize"></a>virtual unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><b>GetMaxBufferSize</b> () const=0</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_nonblocking_sinka5" doxytag="NonblockingSink::GetCurrentBufferSize"></a>virtual unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><b>GetCurrentBufferSize</b> () const=0</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_nonblocking_sink.html#_zlib_decompressora16">Ref</a> ()</td></tr><tr><td class="mdescLeft">&nbsp;</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="NonblockingSink::AlgorithmName"></a>virtual std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_nonblocking_sink.html#_zlib_decompressora17">AlgorithmName</a> () const</td></tr><tr><td class="mdescLeft">&nbsp;</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="NonblockingSink::Clone"></a>virtual <a class="el" href="class_clonable.html">Clonable</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_nonblocking_sink.html#_zlib_decompressora18">Clone</a> () const</td></tr><tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_nonblocking_sink.html#_zlib_decompressora19">Wait</a> (unsigned long milliseconds)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">wait on this object </em> <a href="#_zlib_decompressora19"></a><em><br><br></td></tr><tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_zlib_decompressors0" doxytag="NonblockingSink::NULL_CHANNEL"></a>const std::string&nbsp;</td><td class="memItemRight" valign=bottom><b>NULL_CHANNEL</b></td></tr><tr><td colspan=2><br><h2>Protected Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_windows_pipe_sinkb2" doxytag="NonblockingSink::TransferTo2"></a>unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_nonblocking_sink.html#_windows_pipe_sinkb2">TransferTo2</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;target, unsigned long &amp;transferBytes, const std::string &amp;channel=NULL_CHANNEL, bool blocking=true)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_windows_pipe_sinkb3" doxytag="NonblockingSink::CopyRangeTo2"></a>unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><b>CopyRangeTo2</b> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;target, unsigned long &amp;begin, unsigned long end=ULONG_MAX, const std::string &amp;channel=NULL_CHANNEL, bool blocking=true) const</td></tr><tr><td colspan=2><br><h2>Static Protected Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_zlib_decompressorf0" doxytag="NonblockingSink::DecrementPropagation"></a>int&nbsp;</td><td class="memItemRight" valign=bottom><b>DecrementPropagation</b> (int propagation)</td></tr></table><hr><h2>Member Function Documentation</h2><a name="_nonblocking_sinka1" doxytag="NonblockingSink::TimedFlush"></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0">  <tr>    <td class="mdRow">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> virtual unsigned int NonblockingSink::TimedFlush </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">unsigned long&nbsp;</td>          <td class="mdname" nowrap> <em>maxTime</em>, </td>        </tr>        <tr>          <td></td>          <td></td>          <td class="md" nowrap>unsigned int&nbsp;</td>          <td class="mdname" nowrap> <em>targetSize</em> = 0</td>        </tr>        <tr>          <td></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"><code> [pure virtual]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>flush to device for no more than maxTime milliseconds <p>This function will repeatedly attempt to flush data to some device, until the queue is empty, or a total of maxTime milliseconds have elapsed. If maxTime == 0, at least one attempt will be made to flush some data, but it is likely that not all queued data will be flushed, even if the device is ready to receive more data without waiting. If you want to flush as much data as possible without waiting for the device, call this function in a loop. For example: while (sink.TimedFlush(0) &gt; 0) {} <dl compact><dt><b>Returns:</b></dt><dd>number of bytes flushed</dd></dl><p>Implemented in <a class="el" href="class_network_sink.html#_windows_pipe_sinka11">NetworkSink</a>.    </td>  </tr></table><a name="_zlib_decompressora16" doxytag="NonblockingSink::Ref"></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0">  <tr>    <td class="mdRow">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> <a class="el" href="class_buffered_transformation.html">BufferedTransformation</a>&amp; BufferedTransformation::Ref </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="mdname1" valign="top" nowrap>          </td>          <td class="md" valign="top">&nbsp;)&nbsp;</td>          <td class="md" nowrap><code> [inline, inherited]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>return a reference to this object <p>This function is useful for passing a temporary <a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> object to a function that takes a non-const reference. <p>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -