interface_g_r_x_buffered_pipe.html 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <meta name="generator" content="Doxygen 1.8.17"/>
  7. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  8. <title>GRPC Objective-C: GRXBufferedPipe Class Reference</title>
  9. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  10. <script type="text/javascript" src="jquery.js"></script>
  11. <script type="text/javascript" src="dynsections.js"></script>
  12. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  13. <script type="text/javascript" src="search/searchdata.js"></script>
  14. <script type="text/javascript" src="search/search.js"></script>
  15. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  16. </head>
  17. <body>
  18. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  19. <div id="titlearea">
  20. <table cellspacing="0" cellpadding="0">
  21. <tbody>
  22. <tr style="height: 56px;">
  23. <td id="projectalign" style="padding-left: 0.5em;">
  24. <div id="projectname">GRPC Objective-C
  25. &#160;<span id="projectnumber">1.36.1</span>
  26. </div>
  27. </td>
  28. </tr>
  29. </tbody>
  30. </table>
  31. </div>
  32. <!-- end header part -->
  33. <!-- Generated by Doxygen 1.8.17 -->
  34. <script type="text/javascript">
  35. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  36. var searchBox = new SearchBox("searchBox", "search",false,'Search');
  37. /* @license-end */
  38. </script>
  39. <script type="text/javascript" src="menudata.js"></script>
  40. <script type="text/javascript" src="menu.js"></script>
  41. <script type="text/javascript">
  42. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  43. $(function() {
  44. initMenu('',true,false,'search.php','Search');
  45. $(document).ready(function() { init_search(); });
  46. });
  47. /* @license-end */</script>
  48. <div id="main-nav"></div>
  49. <!-- window showing the filter options -->
  50. <div id="MSearchSelectWindow"
  51. onmouseover="return searchBox.OnSearchSelectShow()"
  52. onmouseout="return searchBox.OnSearchSelectHide()"
  53. onkeydown="return searchBox.OnSearchSelectKey(event)">
  54. </div>
  55. <!-- iframe showing the search results (closed by default) -->
  56. <div id="MSearchResultsWindow">
  57. <iframe src="javascript:void(0)" frameborder="0"
  58. name="MSearchResults" id="MSearchResults">
  59. </iframe>
  60. </div>
  61. </div><!-- top -->
  62. <div class="header">
  63. <div class="summary">
  64. <a href="#pub-static-methods">Class Methods</a> </div>
  65. <div class="headertitle">
  66. <div class="title">GRXBufferedPipe Class Reference</div> </div>
  67. </div><!--header-->
  68. <div class="contents">
  69. <p>A buffered pipe is a Writer that also acts as a Writeable.
  70. <a href="interface_g_r_x_buffered_pipe.html#details">More...</a></p>
  71. <p><code>#import &lt;<a class="el" href="_g_r_x_buffered_pipe_8h_source.html">GRXBufferedPipe.h</a>&gt;</code></p>
  72. <table class="memberdecls">
  73. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
  74. Class Methods</h2></td></tr>
  75. <tr class="memitem:aa177dbdaf3f1082f76575ffd5b97716f"><td class="memItemLeft" align="right" valign="top">(instancetype)&#160;</td><td class="memItemRight" valign="bottom">+ <a class="el" href="interface_g_r_x_buffered_pipe.html#aa177dbdaf3f1082f76575ffd5b97716f">pipe</a></td></tr>
  76. <tr class="memdesc:aa177dbdaf3f1082f76575ffd5b97716f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convenience constructor. <a href="interface_g_r_x_buffered_pipe.html#aa177dbdaf3f1082f76575ffd5b97716f">More...</a><br /></td></tr>
  77. <tr class="separator:aa177dbdaf3f1082f76575ffd5b97716f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  78. <tr class="inherit_header pub_static_methods_interface_g_r_x_writer"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_interface_g_r_x_writer')"><img src="closed.png" alt="-"/>&#160;Class Methods inherited from <a class="el" href="interface_g_r_x_writer.html">GRXWriter</a></td></tr>
  79. <tr class="memitem:a085c38cbcf5e24fab202b10e7d688231 inherit pub_static_methods_interface_g_r_x_writer"><td class="memItemLeft" align="right" valign="top">(instancetype)&#160;</td><td class="memItemRight" valign="bottom">+ <a class="el" href="interface_g_r_x_writer.html#a085c38cbcf5e24fab202b10e7d688231">writerWithEnumerator:</a></td></tr>
  80. <tr class="memdesc:a085c38cbcf5e24fab202b10e7d688231 inherit pub_static_methods_interface_g_r_x_writer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a writer that pulls values from the passed NSEnumerator instance and pushes them to its writeable. <a href="interface_g_r_x_writer.html#a085c38cbcf5e24fab202b10e7d688231">More...</a><br /></td></tr>
  81. <tr class="separator:a085c38cbcf5e24fab202b10e7d688231 inherit pub_static_methods_interface_g_r_x_writer"><td class="memSeparator" colspan="2">&#160;</td></tr>
  82. <tr class="memitem:ac51760afcaefbc72a0de9c3c4e7f06fa inherit pub_static_methods_interface_g_r_x_writer"><td class="memItemLeft" align="right" valign="top">(instancetype)&#160;</td><td class="memItemRight" valign="bottom">+ <a class="el" href="interface_g_r_x_writer.html#ac51760afcaefbc72a0de9c3c4e7f06fa">writerWithValueSupplier:</a></td></tr>
  83. <tr class="memdesc:ac51760afcaefbc72a0de9c3c4e7f06fa inherit pub_static_methods_interface_g_r_x_writer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a writer that pushes to its writeable the successive values returned by the passed block. <a href="interface_g_r_x_writer.html#ac51760afcaefbc72a0de9c3c4e7f06fa">More...</a><br /></td></tr>
  84. <tr class="separator:ac51760afcaefbc72a0de9c3c4e7f06fa inherit pub_static_methods_interface_g_r_x_writer"><td class="memSeparator" colspan="2">&#160;</td></tr>
  85. <tr class="memitem:a2280d44f0ebd30ee4b5d53b4709ed828 inherit pub_static_methods_interface_g_r_x_writer"><td class="memItemLeft" align="right" valign="top">(instancetype)&#160;</td><td class="memItemRight" valign="bottom">+ <a class="el" href="interface_g_r_x_writer.html#a2280d44f0ebd30ee4b5d53b4709ed828">writerWithContainer:</a></td></tr>
  86. <tr class="memdesc:a2280d44f0ebd30ee4b5d53b4709ed828 inherit pub_static_methods_interface_g_r_x_writer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a writer that iterates over the values of the passed container and pushes them to its writeable. <a href="interface_g_r_x_writer.html#a2280d44f0ebd30ee4b5d53b4709ed828">More...</a><br /></td></tr>
  87. <tr class="separator:a2280d44f0ebd30ee4b5d53b4709ed828 inherit pub_static_methods_interface_g_r_x_writer"><td class="memSeparator" colspan="2">&#160;</td></tr>
  88. <tr class="memitem:a20c40669544f1987dc524397b94dc99d inherit pub_static_methods_interface_g_r_x_writer"><td class="memItemLeft" align="right" valign="top">(instancetype)&#160;</td><td class="memItemRight" valign="bottom">+ <a class="el" href="interface_g_r_x_writer.html#a20c40669544f1987dc524397b94dc99d">writerWithValue:</a></td></tr>
  89. <tr class="memdesc:a20c40669544f1987dc524397b94dc99d inherit pub_static_methods_interface_g_r_x_writer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a writer that sends the passed value to its writeable and then finishes (releasing the value). <a href="interface_g_r_x_writer.html#a20c40669544f1987dc524397b94dc99d">More...</a><br /></td></tr>
  90. <tr class="separator:a20c40669544f1987dc524397b94dc99d inherit pub_static_methods_interface_g_r_x_writer"><td class="memSeparator" colspan="2">&#160;</td></tr>
  91. <tr class="memitem:a147e6a76005690ff89a710162c072630 inherit pub_static_methods_interface_g_r_x_writer"><td class="memItemLeft" align="right" valign="top">(instancetype)&#160;</td><td class="memItemRight" valign="bottom">+ <a class="el" href="interface_g_r_x_writer.html#a147e6a76005690ff89a710162c072630">writerWithError:</a></td></tr>
  92. <tr class="memdesc:a147e6a76005690ff89a710162c072630 inherit pub_static_methods_interface_g_r_x_writer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a writer that, as part of its start method, sends the passed error to the writeable (then releasing the error). <a href="interface_g_r_x_writer.html#a147e6a76005690ff89a710162c072630">More...</a><br /></td></tr>
  93. <tr class="separator:a147e6a76005690ff89a710162c072630 inherit pub_static_methods_interface_g_r_x_writer"><td class="memSeparator" colspan="2">&#160;</td></tr>
  94. <tr class="memitem:a42bd3df3cd21b320f1255a36b23d13f6 inherit pub_static_methods_interface_g_r_x_writer"><td class="memItemLeft" align="right" valign="top">(instancetype)&#160;</td><td class="memItemRight" valign="bottom">+ <a class="el" href="interface_g_r_x_writer.html#a42bd3df3cd21b320f1255a36b23d13f6">emptyWriter</a></td></tr>
  95. <tr class="memdesc:a42bd3df3cd21b320f1255a36b23d13f6 inherit pub_static_methods_interface_g_r_x_writer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a writer that, as part of its start method, finishes immediately without sending any values to its writeable. <a href="interface_g_r_x_writer.html#a42bd3df3cd21b320f1255a36b23d13f6">More...</a><br /></td></tr>
  96. <tr class="separator:a42bd3df3cd21b320f1255a36b23d13f6 inherit pub_static_methods_interface_g_r_x_writer"><td class="memSeparator" colspan="2">&#160;</td></tr>
  97. </table><table class="memberdecls">
  98. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
  99. Additional Inherited Members</h2></td></tr>
  100. <tr class="inherit_header pub_methods_interface_g_r_x_writer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_interface_g_r_x_writer')"><img src="closed.png" alt="-"/>&#160;Instance Methods inherited from <a class="el" href="interface_g_r_x_writer.html">GRXWriter</a></td></tr>
  101. <tr class="memitem:aa76ca568d962fa003c1c0946d39a7a73 inherit pub_methods_interface_g_r_x_writer"><td class="memItemLeft" align="right" valign="top">(void)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_g_r_x_writer.html#aa76ca568d962fa003c1c0946d39a7a73">startWithWriteable:</a></td></tr>
  102. <tr class="memdesc:aa76ca568d962fa003c1c0946d39a7a73 inherit pub_methods_interface_g_r_x_writer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transition to the Started state, and start sending messages to the writeable (a reference to it is retained). <a href="interface_g_r_x_writer.html#aa76ca568d962fa003c1c0946d39a7a73">More...</a><br /></td></tr>
  103. <tr class="separator:aa76ca568d962fa003c1c0946d39a7a73 inherit pub_methods_interface_g_r_x_writer"><td class="memSeparator" colspan="2">&#160;</td></tr>
  104. <tr class="memitem:ae65b0e62d3341a6871c0d93fbe2e8e35 inherit pub_methods_interface_g_r_x_writer"><td class="memItemLeft" align="right" valign="top">(void)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_g_r_x_writer.html#ae65b0e62d3341a6871c0d93fbe2e8e35">finishWithError:</a></td></tr>
  105. <tr class="memdesc:ae65b0e62d3341a6871c0d93fbe2e8e35 inherit pub_methods_interface_g_r_x_writer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send writesFinishedWithError:errorOrNil to the writeable. <a href="interface_g_r_x_writer.html#ae65b0e62d3341a6871c0d93fbe2e8e35">More...</a><br /></td></tr>
  106. <tr class="separator:ae65b0e62d3341a6871c0d93fbe2e8e35 inherit pub_methods_interface_g_r_x_writer"><td class="memSeparator" colspan="2">&#160;</td></tr>
  107. <tr class="memitem:a8974f26da2c68512d6b0000f591f9630 inherit pub_methods_interface_g_r_x_writer"><td class="memItemLeft" align="right" valign="top">(<a class="el" href="interface_g_r_x_writer.html">GRXWriter</a> *)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_g_r_x_writer.html#a8974f26da2c68512d6b0000f591f9630">map:</a></td></tr>
  108. <tr class="memdesc:a8974f26da2c68512d6b0000f591f9630 inherit pub_methods_interface_g_r_x_writer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a writer that wraps the receiver, and has all the values the receiver would write transformed by the provided mapping function. <a href="interface_g_r_x_writer.html#a8974f26da2c68512d6b0000f591f9630">More...</a><br /></td></tr>
  109. <tr class="separator:a8974f26da2c68512d6b0000f591f9630 inherit pub_methods_interface_g_r_x_writer"><td class="memSeparator" colspan="2">&#160;</td></tr>
  110. <tr class="inherit_header pub_methods_protocol_g_r_x_writeable-p"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_protocol_g_r_x_writeable-p')"><img src="closed.png" alt="-"/>&#160;Instance Methods inherited from <a class="el" href="protocol_g_r_x_writeable-p.html">&lt;GRXWriteable&gt;</a></td></tr>
  111. <tr class="memitem:a14babbcb40245c673c16c148d0213df3 inherit pub_methods_protocol_g_r_x_writeable-p"><td class="memItemLeft" align="right" valign="top">(void)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="protocol_g_r_x_writeable-p.html#a14babbcb40245c673c16c148d0213df3">writeValue:</a></td></tr>
  112. <tr class="memdesc:a14babbcb40245c673c16c148d0213df3 inherit pub_methods_protocol_g_r_x_writeable-p"><td class="mdescLeft">&#160;</td><td class="mdescRight">Push the next value of the sequence to the receiving object. <a href="protocol_g_r_x_writeable-p.html#a14babbcb40245c673c16c148d0213df3">More...</a><br /></td></tr>
  113. <tr class="separator:a14babbcb40245c673c16c148d0213df3 inherit pub_methods_protocol_g_r_x_writeable-p"><td class="memSeparator" colspan="2">&#160;</td></tr>
  114. <tr class="memitem:a22cea5e906f95efa7952402c4b732c3c inherit pub_methods_protocol_g_r_x_writeable-p"><td class="memItemLeft" align="right" valign="top">(void)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="protocol_g_r_x_writeable-p.html#a22cea5e906f95efa7952402c4b732c3c">writesFinishedWithError:</a></td></tr>
  115. <tr class="memdesc:a22cea5e906f95efa7952402c4b732c3c inherit pub_methods_protocol_g_r_x_writeable-p"><td class="mdescLeft">&#160;</td><td class="mdescRight">Signal that the sequence is completed, or that an error occurred. <a href="protocol_g_r_x_writeable-p.html#a22cea5e906f95efa7952402c4b732c3c">More...</a><br /></td></tr>
  116. <tr class="separator:a22cea5e906f95efa7952402c4b732c3c inherit pub_methods_protocol_g_r_x_writeable-p"><td class="memSeparator" colspan="2">&#160;</td></tr>
  117. <tr class="inherit_header properties_interface_g_r_x_writer"><td colspan="2" onclick="javascript:toggleInherit('properties_interface_g_r_x_writer')"><img src="closed.png" alt="-"/>&#160;Properties inherited from <a class="el" href="interface_g_r_x_writer.html">GRXWriter</a></td></tr>
  118. <tr class="memitem:a9160ff1b22550fe0f0e1ee6f7edd4838 inherit properties_interface_g_r_x_writer"><td class="memItemLeft" align="right" valign="top">GRXWriterState&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_g_r_x_writer.html#a9160ff1b22550fe0f0e1ee6f7edd4838">state</a></td></tr>
  119. <tr class="memdesc:a9160ff1b22550fe0f0e1ee6f7edd4838 inherit properties_interface_g_r_x_writer"><td class="mdescLeft">&#160;</td><td class="mdescRight">This property can be used to query the current state of the writer, which determines how it might currently use its writeable. <a href="interface_g_r_x_writer.html#a9160ff1b22550fe0f0e1ee6f7edd4838">More...</a><br /></td></tr>
  120. <tr class="separator:a9160ff1b22550fe0f0e1ee6f7edd4838 inherit properties_interface_g_r_x_writer"><td class="memSeparator" colspan="2">&#160;</td></tr>
  121. </table>
  122. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  123. <div class="textblock"><p>A buffered pipe is a Writer that also acts as a Writeable. </p>
  124. <p>Once it is started, whatever values are written into it (via -writeValue:) will be propagated immediately, unless flow control prevents it. If it is throttled and keeps receiving values, as well as if it receives values before being started, it will buffer them and propagate them in order as soon as its state becomes Started. If it receives an end of stream (via -writesFinishedWithError:), it will buffer the EOS after the last buffered value and issue it to the writeable after all buffered values are issued.</p>
  125. <p>Beware that a pipe of this type can't prevent receiving more values when it is paused (for example if used to write data to a congested network connection). Because in such situations the pipe will keep buffering all data written to it, your application could run out of memory and crash. If you want to react to flow control signals to prevent that, instead of using this class you can implement an object that conforms to <a class="el" href="interface_g_r_x_writer.html" title="An GRXWriter object can produce, on demand, a sequence of values.">GRXWriter</a>.</p>
  126. <p>Thread-safety: the methods of this class are thread-safe. </p>
  127. </div><h2 class="groupheader">Method Documentation</h2>
  128. <a id="aa177dbdaf3f1082f76575ffd5b97716f"></a>
  129. <h2 class="memtitle"><span class="permalink"><a href="#aa177dbdaf3f1082f76575ffd5b97716f">&#9670;&nbsp;</a></span>pipe</h2>
  130. <div class="memitem">
  131. <div class="memproto">
  132. <table class="memname">
  133. <tr>
  134. <td class="memname">+ (instancetype) pipe </td>
  135. <td></td>
  136. <td class="paramname"></td>
  137. <td></td>
  138. </tr>
  139. </table>
  140. </div><div class="memdoc">
  141. <p>Convenience constructor. </p>
  142. </div>
  143. </div>
  144. <hr/>The documentation for this class was generated from the following file:<ul>
  145. <li>src/objective-c/RxLibrary/<a class="el" href="_g_r_x_buffered_pipe_8h_source.html">GRXBufferedPipe.h</a></li>
  146. </ul>
  147. </div><!-- contents -->
  148. <!-- start footer part -->
  149. <hr class="footer"/><address class="footer"><small>
  150. Generated on Wed Mar 3 2021 19:20:10 for GRPC Objective-C by &#160;<a href="http://www.doxygen.org/index.html">
  151. <img class="footer" src="doxygen.png" alt="doxygen"/>
  152. </a> 1.8.17
  153. </small></address>
  154. </body>
  155. </html>