interface_g_r_x_writer.html 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378
  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: GRXWriter 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-methods">Instance Methods</a> &#124;
  65. <a href="#pub-static-methods">Class Methods</a> &#124;
  66. <a href="#properties">Properties</a> </div>
  67. <div class="headertitle">
  68. <div class="title">GRXWriter Class Reference</div> </div>
  69. </div><!--header-->
  70. <div class="contents">
  71. <p>An <a class="el" href="interface_g_r_x_writer.html" title="An GRXWriter object can produce, on demand, a sequence of values.">GRXWriter</a> object can produce, on demand, a sequence of values.
  72. <a href="interface_g_r_x_writer.html#details">More...</a></p>
  73. <p><code>#import &lt;<a class="el" href="_g_r_x_writer_8h_source.html">GRXWriter.h</a>&gt;</code></p>
  74. <table class="memberdecls">
  75. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  76. Instance Methods</h2></td></tr>
  77. <tr class="memitem:aa76ca568d962fa003c1c0946d39a7a73"><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>
  78. <tr class="memdesc:aa76ca568d962fa003c1c0946d39a7a73"><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>
  79. <tr class="separator:aa76ca568d962fa003c1c0946d39a7a73"><td class="memSeparator" colspan="2">&#160;</td></tr>
  80. <tr class="memitem:ae65b0e62d3341a6871c0d93fbe2e8e35"><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>
  81. <tr class="memdesc:ae65b0e62d3341a6871c0d93fbe2e8e35"><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>
  82. <tr class="separator:ae65b0e62d3341a6871c0d93fbe2e8e35"><td class="memSeparator" colspan="2">&#160;</td></tr>
  83. <tr class="memitem:a8974f26da2c68512d6b0000f591f9630"><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>
  84. <tr class="memdesc:a8974f26da2c68512d6b0000f591f9630"><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>
  85. <tr class="separator:a8974f26da2c68512d6b0000f591f9630"><td class="memSeparator" colspan="2">&#160;</td></tr>
  86. </table><table class="memberdecls">
  87. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
  88. Class Methods</h2></td></tr>
  89. <tr class="memitem:a085c38cbcf5e24fab202b10e7d688231"><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>
  90. <tr class="memdesc:a085c38cbcf5e24fab202b10e7d688231"><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>
  91. <tr class="separator:a085c38cbcf5e24fab202b10e7d688231"><td class="memSeparator" colspan="2">&#160;</td></tr>
  92. <tr class="memitem:ac51760afcaefbc72a0de9c3c4e7f06fa"><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>
  93. <tr class="memdesc:ac51760afcaefbc72a0de9c3c4e7f06fa"><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>
  94. <tr class="separator:ac51760afcaefbc72a0de9c3c4e7f06fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
  95. <tr class="memitem:a2280d44f0ebd30ee4b5d53b4709ed828"><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>
  96. <tr class="memdesc:a2280d44f0ebd30ee4b5d53b4709ed828"><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>
  97. <tr class="separator:a2280d44f0ebd30ee4b5d53b4709ed828"><td class="memSeparator" colspan="2">&#160;</td></tr>
  98. <tr class="memitem:a20c40669544f1987dc524397b94dc99d"><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>
  99. <tr class="memdesc:a20c40669544f1987dc524397b94dc99d"><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>
  100. <tr class="separator:a20c40669544f1987dc524397b94dc99d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  101. <tr class="memitem:a147e6a76005690ff89a710162c072630"><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>
  102. <tr class="memdesc:a147e6a76005690ff89a710162c072630"><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>
  103. <tr class="separator:a147e6a76005690ff89a710162c072630"><td class="memSeparator" colspan="2">&#160;</td></tr>
  104. <tr class="memitem:a42bd3df3cd21b320f1255a36b23d13f6"><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>
  105. <tr class="memdesc:a42bd3df3cd21b320f1255a36b23d13f6"><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>
  106. <tr class="separator:a42bd3df3cd21b320f1255a36b23d13f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  107. </table><table class="memberdecls">
  108. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="properties"></a>
  109. Properties</h2></td></tr>
  110. <tr class="memitem:a9160ff1b22550fe0f0e1ee6f7edd4838"><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>
  111. <tr class="memdesc:a9160ff1b22550fe0f0e1ee6f7edd4838"><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>
  112. <tr class="separator:a9160ff1b22550fe0f0e1ee6f7edd4838"><td class="memSeparator" colspan="2">&#160;</td></tr>
  113. </table>
  114. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  115. <div class="textblock"><p>An <a class="el" href="interface_g_r_x_writer.html" title="An GRXWriter object can produce, on demand, a sequence of values.">GRXWriter</a> object can produce, on demand, a sequence of values. </p>
  116. <p>The sequence may be produced asynchronously, and it may consist of any number of elements, including none or an infinite number.</p>
  117. <p><a class="el" href="interface_g_r_x_writer.html" title="An GRXWriter object can produce, on demand, a sequence of values.">GRXWriter</a> is the active dual of NSEnumerator. The difference between them is thus whether the object plays an active or passive role during usage: A user of NSEnumerator pulls values off it, and passes the values to a writeable. A user of <a class="el" href="interface_g_r_x_writer.html" title="An GRXWriter object can produce, on demand, a sequence of values.">GRXWriter</a>, though, just gives it a writeable, and the <a class="el" href="interface_g_r_x_writer.html" title="An GRXWriter object can produce, on demand, a sequence of values.">GRXWriter</a> instance pushes values to the writeable. This makes this protocol suitable to represent a sequence of future values, as well as collections with internal iteration.</p>
  118. <p>An instance of <a class="el" href="interface_g_r_x_writer.html" title="An GRXWriter object can produce, on demand, a sequence of values.">GRXWriter</a> can start producing values after a writeable is passed to it. It can also be commanded to finish the sequence immediately (with an optional error). Finally, it can be asked to pause, and resumed later. All <a class="el" href="interface_g_r_x_writer.html" title="An GRXWriter object can produce, on demand, a sequence of values.">GRXWriter</a> objects support pausing and early termination.</p>
  119. <p>Thread-safety:</p>
  120. <p>State transitions take immediate effect if the object is used from a single thread. Subclasses might offer stronger guarantees.</p>
  121. <p>Unless otherwise indicated by a conforming subclass, no messages should be sent concurrently to a <a class="el" href="interface_g_r_x_writer.html" title="An GRXWriter object can produce, on demand, a sequence of values.">GRXWriter</a>. I.e., conforming classes aren't required to be thread-safe. </p>
  122. </div><h2 class="groupheader">Method Documentation</h2>
  123. <a id="a42bd3df3cd21b320f1255a36b23d13f6"></a>
  124. <h2 class="memtitle"><span class="permalink"><a href="#a42bd3df3cd21b320f1255a36b23d13f6">&#9670;&nbsp;</a></span>emptyWriter</h2>
  125. <div class="memitem">
  126. <div class="memproto">
  127. <table class="memname">
  128. <tr>
  129. <td class="memname">+ (instancetype) emptyWriter </td>
  130. <td></td>
  131. <td class="paramname"></td>
  132. <td></td>
  133. </tr>
  134. </table>
  135. </div><div class="memdoc">
  136. <p>Returns a writer that, as part of its start method, finishes immediately without sending any values to its writeable. </p>
  137. <p>Implemented in <a class="el" href="interface_g_r_x_immediate_writer.html#ae9257baff2a076a03aa8090093c3c6a2">GRXImmediateWriter</a>.</p>
  138. <p>Provided by category <a class="el" href="category_g_r_x_writer_07_immediate_08.html#a42bd3df3cd21b320f1255a36b23d13f6">GRXWriter(Immediate)</a>.</p>
  139. </div>
  140. </div>
  141. <a id="ae65b0e62d3341a6871c0d93fbe2e8e35"></a>
  142. <h2 class="memtitle"><span class="permalink"><a href="#ae65b0e62d3341a6871c0d93fbe2e8e35">&#9670;&nbsp;</a></span>finishWithError:</h2>
  143. <div class="memitem">
  144. <div class="memproto">
  145. <table class="memname">
  146. <tr>
  147. <td class="memname">- (void) finishWithError: </td>
  148. <td></td>
  149. <td class="paramtype">(NSError *)&#160;</td>
  150. <td class="paramname"><em>errorOrNil</em></td>
  151. <td></td>
  152. </tr>
  153. </table>
  154. </div><div class="memdoc">
  155. <p>Send writesFinishedWithError:errorOrNil to the writeable. </p>
  156. <p>Then release the reference to it and transition to the Finished state.</p>
  157. <p>This method might only be called on writers in the Started or Paused state. </p>
  158. </div>
  159. </div>
  160. <a id="a8974f26da2c68512d6b0000f591f9630"></a>
  161. <h2 class="memtitle"><span class="permalink"><a href="#a8974f26da2c68512d6b0000f591f9630">&#9670;&nbsp;</a></span>map:</h2>
  162. <div class="memitem">
  163. <div class="memproto">
  164. <table class="memname">
  165. <tr>
  166. <td class="memname">- (<a class="el" href="interface_g_r_x_writer.html">GRXWriter</a> *) map: </td>
  167. <td></td>
  168. <td class="paramtype">(id(^)(id value))&#160;</td>
  169. <td class="paramname"><em>map</em></td>
  170. <td></td>
  171. </tr>
  172. </table>
  173. </div><div class="memdoc">
  174. <p>Returns a writer that wraps the receiver, and has all the values the receiver would write transformed by the provided mapping function. </p>
  175. <p>Provided by category <a class="el" href="category_g_r_x_writer_07_transformations_08.html#a8974f26da2c68512d6b0000f591f9630">GRXWriter(Transformations)</a>.</p>
  176. </div>
  177. </div>
  178. <a id="aa76ca568d962fa003c1c0946d39a7a73"></a>
  179. <h2 class="memtitle"><span class="permalink"><a href="#aa76ca568d962fa003c1c0946d39a7a73">&#9670;&nbsp;</a></span>startWithWriteable:</h2>
  180. <div class="memitem">
  181. <div class="memproto">
  182. <table class="memname">
  183. <tr>
  184. <td class="memname">- (void) startWithWriteable: </td>
  185. <td></td>
  186. <td class="paramtype">(id&lt; <a class="el" href="interface_g_r_x_writeable.html">GRXWriteable</a> &gt;)&#160;</td>
  187. <td class="paramname"><em>writeable</em></td>
  188. <td></td>
  189. </tr>
  190. </table>
  191. </div><div class="memdoc">
  192. <p>Transition to the Started state, and start sending messages to the writeable (a reference to it is retained). </p>
  193. <p>Messages to the writeable may be sent before the method returns, or they may be sent later in the future. See <a class="el" href="_g_r_x_writeable_8h.html">GRXWriteable.h</a> for the different messages a writeable can receive.</p>
  194. <p>If this writer draws its values from an external source (e.g. from the filesystem or from a server), calling this method will commonly trigger side effects (like network connections).</p>
  195. <p>This method might only be called on writers in the NotStarted state. </p>
  196. </div>
  197. </div>
  198. <a id="a2280d44f0ebd30ee4b5d53b4709ed828"></a>
  199. <h2 class="memtitle"><span class="permalink"><a href="#a2280d44f0ebd30ee4b5d53b4709ed828">&#9670;&nbsp;</a></span>writerWithContainer:</h2>
  200. <div class="memitem">
  201. <div class="memproto">
  202. <table class="memname">
  203. <tr>
  204. <td class="memname">+ (instancetype) writerWithContainer: </td>
  205. <td></td>
  206. <td class="paramtype">(id&lt; NSFastEnumeration &gt;)&#160;</td>
  207. <td class="paramname"><em>container</em></td>
  208. <td></td>
  209. </tr>
  210. </table>
  211. </div><div class="memdoc">
  212. <p>Returns a writer that iterates over the values of the passed container and pushes them to its writeable. </p>
  213. <p>The container is released when the iteration is over.</p>
  214. <p>Note that the usual speed gain of NSFastEnumeration over NSEnumerator results from not having to call one method per element. Because <a class="el" href="interface_g_r_x_writeable.html" title="Utility to create objects that conform to the GRXWriteable protocol, from blocks that handle each of ...">GRXWriteable</a> instances accept values one by one, that speed gain doesn't happen here. </p>
  215. <p>Implemented in <a class="el" href="interface_g_r_x_immediate_writer.html#a3c9996ca138b0d1027adb8975b7120b9">GRXImmediateWriter</a>.</p>
  216. <p>Provided by category <a class="el" href="category_g_r_x_writer_07_immediate_08.html#a2280d44f0ebd30ee4b5d53b4709ed828">GRXWriter(Immediate)</a>.</p>
  217. </div>
  218. </div>
  219. <a id="a085c38cbcf5e24fab202b10e7d688231"></a>
  220. <h2 class="memtitle"><span class="permalink"><a href="#a085c38cbcf5e24fab202b10e7d688231">&#9670;&nbsp;</a></span>writerWithEnumerator:</h2>
  221. <div class="memitem">
  222. <div class="memproto">
  223. <table class="memname">
  224. <tr>
  225. <td class="memname">+ (instancetype) writerWithEnumerator: </td>
  226. <td></td>
  227. <td class="paramtype">(NSEnumerator *)&#160;</td>
  228. <td class="paramname"><em>enumerator</em></td>
  229. <td></td>
  230. </tr>
  231. </table>
  232. </div><div class="memdoc">
  233. <p>Returns a writer that pulls values from the passed NSEnumerator instance and pushes them to its writeable. </p>
  234. <p>The NSEnumerator is released when it finishes. </p>
  235. <p>Implemented in <a class="el" href="interface_g_r_x_immediate_writer.html#acdf17bf03814cbd81ba232751d2e88a0">GRXImmediateWriter</a>.</p>
  236. <p>Provided by category <a class="el" href="category_g_r_x_writer_07_immediate_08.html#a085c38cbcf5e24fab202b10e7d688231">GRXWriter(Immediate)</a>.</p>
  237. </div>
  238. </div>
  239. <a id="a147e6a76005690ff89a710162c072630"></a>
  240. <h2 class="memtitle"><span class="permalink"><a href="#a147e6a76005690ff89a710162c072630">&#9670;&nbsp;</a></span>writerWithError:</h2>
  241. <div class="memitem">
  242. <div class="memproto">
  243. <table class="memname">
  244. <tr>
  245. <td class="memname">+ (instancetype) writerWithError: </td>
  246. <td></td>
  247. <td class="paramtype">(NSError *)&#160;</td>
  248. <td class="paramname"><em>error</em></td>
  249. <td></td>
  250. </tr>
  251. </table>
  252. </div><div class="memdoc">
  253. <p>Returns a writer that, as part of its start method, sends the passed error to the writeable (then releasing the error). </p>
  254. <p>Implemented in <a class="el" href="interface_g_r_x_immediate_writer.html#ae1c652c9c760039684d82a2da3063576">GRXImmediateWriter</a>.</p>
  255. <p>Provided by category <a class="el" href="category_g_r_x_writer_07_immediate_08.html#a147e6a76005690ff89a710162c072630">GRXWriter(Immediate)</a>.</p>
  256. </div>
  257. </div>
  258. <a id="a20c40669544f1987dc524397b94dc99d"></a>
  259. <h2 class="memtitle"><span class="permalink"><a href="#a20c40669544f1987dc524397b94dc99d">&#9670;&nbsp;</a></span>writerWithValue:</h2>
  260. <div class="memitem">
  261. <div class="memproto">
  262. <table class="memname">
  263. <tr>
  264. <td class="memname">+ (instancetype) writerWithValue: </td>
  265. <td></td>
  266. <td class="paramtype">(id)&#160;</td>
  267. <td class="paramname"><em>value</em></td>
  268. <td></td>
  269. </tr>
  270. </table>
  271. </div><div class="memdoc">
  272. <p>Returns a writer that sends the passed value to its writeable and then finishes (releasing the value). </p>
  273. <p>Implemented in <a class="el" href="interface_g_r_x_immediate_single_writer.html#aecf282d1233640abb234f8dbd8f09fee">GRXImmediateSingleWriter</a>, and <a class="el" href="interface_g_r_x_immediate_writer.html#a7a5149821d90a5c0b834470a80887075">GRXImmediateWriter</a>.</p>
  274. <p>Provided by category <a class="el" href="category_g_r_x_writer_07_immediate_08.html#a20c40669544f1987dc524397b94dc99d">GRXWriter(Immediate)</a>.</p>
  275. </div>
  276. </div>
  277. <a id="ac51760afcaefbc72a0de9c3c4e7f06fa"></a>
  278. <h2 class="memtitle"><span class="permalink"><a href="#ac51760afcaefbc72a0de9c3c4e7f06fa">&#9670;&nbsp;</a></span>writerWithValueSupplier:</h2>
  279. <div class="memitem">
  280. <div class="memproto">
  281. <table class="memname">
  282. <tr>
  283. <td class="memname">+ (instancetype) writerWithValueSupplier: </td>
  284. <td></td>
  285. <td class="paramtype">(id(^)(void))&#160;</td>
  286. <td class="paramname"><em>block</em></td>
  287. <td></td>
  288. </tr>
  289. </table>
  290. </div><div class="memdoc">
  291. <p>Returns a writer that pushes to its writeable the successive values returned by the passed block. </p>
  292. <p>When the block first returns nil, it is released. </p>
  293. <p>Implemented in <a class="el" href="interface_g_r_x_immediate_writer.html#a181562274c8da85d7b4eafeab4b9ca97">GRXImmediateWriter</a>.</p>
  294. <p>Provided by category <a class="el" href="category_g_r_x_writer_07_immediate_08.html#ac51760afcaefbc72a0de9c3c4e7f06fa">GRXWriter(Immediate)</a>.</p>
  295. </div>
  296. </div>
  297. <h2 class="groupheader">Property Documentation</h2>
  298. <a id="a9160ff1b22550fe0f0e1ee6f7edd4838"></a>
  299. <h2 class="memtitle"><span class="permalink"><a href="#a9160ff1b22550fe0f0e1ee6f7edd4838">&#9670;&nbsp;</a></span>state</h2>
  300. <div class="memitem">
  301. <div class="memproto">
  302. <table class="mlabels">
  303. <tr>
  304. <td class="mlabels-left">
  305. <table class="memname">
  306. <tr>
  307. <td class="memname">- (GRXWriterState) state</td>
  308. </tr>
  309. </table>
  310. </td>
  311. <td class="mlabels-right">
  312. <span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">atomic</span></span> </td>
  313. </tr>
  314. </table>
  315. </div><div class="memdoc">
  316. <p>This property can be used to query the current state of the writer, which determines how it might currently use its writeable. </p>
  317. <p>Some state transitions can be triggered by setting this property to the corresponding value, and that's useful for advanced use cases like pausing an writer. For more details, see the documentation of the enum further down. The property is thread safe. </p>
  318. </div>
  319. </div>
  320. <hr/>The documentation for this class was generated from the following file:<ul>
  321. <li>src/objective-c/RxLibrary/<a class="el" href="_g_r_x_writer_8h_source.html">GRXWriter.h</a></li>
  322. </ul>
  323. </div><!-- contents -->
  324. <!-- start footer part -->
  325. <hr class="footer"/><address class="footer"><small>
  326. Generated on Wed Mar 3 2021 19:20:10 for GRPC Objective-C by &#160;<a href="http://www.doxygen.org/index.html">
  327. <img class="footer" src="doxygen.png" alt="doxygen"/>
  328. </a> 1.8.17
  329. </small></address>
  330. </body>
  331. </html>