123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 |
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
- <meta http-equiv="X-UA-Compatible" content="IE=9"/>
- <meta name="generator" content="Doxygen 1.8.17"/>
- <meta name="viewport" content="width=device-width, initial-scale=1"/>
- <title>GRPC Objective-C: GRXConcurrentWriteable Class Reference</title>
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
- <script type="text/javascript" src="jquery.js"></script>
- <script type="text/javascript" src="dynsections.js"></script>
- <link href="search/search.css" rel="stylesheet" type="text/css"/>
- <script type="text/javascript" src="search/searchdata.js"></script>
- <script type="text/javascript" src="search/search.js"></script>
- <link href="doxygen.css" rel="stylesheet" type="text/css" />
- </head>
- <body>
- <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
- <div id="titlearea">
- <table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td id="projectalign" style="padding-left: 0.5em;">
- <div id="projectname">GRPC Objective-C
-  <span id="projectnumber">1.36.1</span>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <!-- end header part -->
- <!-- Generated by Doxygen 1.8.17 -->
- <script type="text/javascript">
- /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
- var searchBox = new SearchBox("searchBox", "search",false,'Search');
- /* @license-end */
- </script>
- <script type="text/javascript" src="menudata.js"></script>
- <script type="text/javascript" src="menu.js"></script>
- <script type="text/javascript">
- /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
- $(function() {
- initMenu('',true,false,'search.php','Search');
- $(document).ready(function() { init_search(); });
- });
- /* @license-end */</script>
- <div id="main-nav"></div>
- <!-- window showing the filter options -->
- <div id="MSearchSelectWindow"
- onmouseover="return searchBox.OnSearchSelectShow()"
- onmouseout="return searchBox.OnSearchSelectHide()"
- onkeydown="return searchBox.OnSearchSelectKey(event)">
- </div>
- <!-- iframe showing the search results (closed by default) -->
- <div id="MSearchResultsWindow">
- <iframe src="javascript:void(0)" frameborder="0"
- name="MSearchResults" id="MSearchResults">
- </iframe>
- </div>
- </div><!-- top -->
- <div class="header">
- <div class="summary">
- <a href="#pub-methods">Instance Methods</a> </div>
- <div class="headertitle">
- <div class="title">GRXConcurrentWriteable Class Reference</div> </div>
- </div><!--header-->
- <div class="contents">
- <p>This is a thread-safe wrapper over a <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> instance.
- <a href="interface_g_r_x_concurrent_writeable.html#details">More...</a></p>
- <p><code>#import <<a class="el" href="_g_r_x_concurrent_writeable_8h_source.html">GRXConcurrentWriteable.h</a>></code></p>
- <table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
- Instance Methods</h2></td></tr>
- <tr class="memitem:a04f3b18ba38f2e846e9f74d4cc69e10f"><td class="memItemLeft" align="right" valign="top">(instancetype) </td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_g_r_x_concurrent_writeable.html#a04f3b18ba38f2e846e9f74d4cc69e10f">initWithWriteable:dispatchQueue:</a></td></tr>
- <tr class="memdesc:a04f3b18ba38f2e846e9f74d4cc69e10f"><td class="mdescLeft"> </td><td class="mdescRight">The <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> passed is the wrapped writeable. <a href="interface_g_r_x_concurrent_writeable.html#a04f3b18ba38f2e846e9f74d4cc69e10f">More...</a><br /></td></tr>
- <tr class="separator:a04f3b18ba38f2e846e9f74d4cc69e10f"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a35834d67d3618d56cf350e161a324eee"><td class="memItemLeft" align="right" valign="top">(instancetype) </td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_g_r_x_concurrent_writeable.html#a35834d67d3618d56cf350e161a324eee">initWithWriteable:</a></td></tr>
- <tr class="separator:a35834d67d3618d56cf350e161a324eee"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aa07e832bf6319d672bc27c26554a847e"><td class="memItemLeft" align="right" valign="top">(void) </td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_g_r_x_concurrent_writeable.html#aa07e832bf6319d672bc27c26554a847e">enqueueValue:completionHandler:</a></td></tr>
- <tr class="memdesc:aa07e832bf6319d672bc27c26554a847e"><td class="mdescLeft"> </td><td class="mdescRight">Enqueues writeValue: to be sent to the writeable from the designated dispatch queue. <a href="interface_g_r_x_concurrent_writeable.html#aa07e832bf6319d672bc27c26554a847e">More...</a><br /></td></tr>
- <tr class="separator:aa07e832bf6319d672bc27c26554a847e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a7671d7dd0aca184438e90b45c90343d7"><td class="memItemLeft" align="right" valign="top">(void) </td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_g_r_x_concurrent_writeable.html#a7671d7dd0aca184438e90b45c90343d7">enqueueSuccessfulCompletion</a></td></tr>
- <tr class="memdesc:a7671d7dd0aca184438e90b45c90343d7"><td class="mdescLeft"> </td><td class="mdescRight">Enqueues writesFinishedWithError:nil to be sent to the writeable in the designated dispatch queue. <a href="interface_g_r_x_concurrent_writeable.html#a7671d7dd0aca184438e90b45c90343d7">More...</a><br /></td></tr>
- <tr class="separator:a7671d7dd0aca184438e90b45c90343d7"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a7fcaf13fe8f0ba0e4f86f51ba87d695e"><td class="memItemLeft" align="right" valign="top">(void) </td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_g_r_x_concurrent_writeable.html#a7fcaf13fe8f0ba0e4f86f51ba87d695e">cancelWithError:</a></td></tr>
- <tr class="memdesc:a7fcaf13fe8f0ba0e4f86f51ba87d695e"><td class="mdescLeft"> </td><td class="mdescRight">If the writeable has not yet received a writesFinishedWithError: message, this will enqueue one to be sent to it in the designated dispatch queue, and cancel all other pending messages to the writeable enqueued by this object (both past and future). <a href="interface_g_r_x_concurrent_writeable.html#a7fcaf13fe8f0ba0e4f86f51ba87d695e">More...</a><br /></td></tr>
- <tr class="separator:a7fcaf13fe8f0ba0e4f86f51ba87d695e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ab6bbb2bbcc7de31fb265a082f81c10ff"><td class="memItemLeft" align="right" valign="top">(void) </td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_g_r_x_concurrent_writeable.html#ab6bbb2bbcc7de31fb265a082f81c10ff">cancelSilently</a></td></tr>
- <tr class="memdesc:ab6bbb2bbcc7de31fb265a082f81c10ff"><td class="mdescLeft"> </td><td class="mdescRight">Cancels all pending messages to the writeable enqueued by this object (both past and future). <a href="interface_g_r_x_concurrent_writeable.html#ab6bbb2bbcc7de31fb265a082f81c10ff">More...</a><br /></td></tr>
- <tr class="separator:ab6bbb2bbcc7de31fb265a082f81c10ff"><td class="memSeparator" colspan="2"> </td></tr>
- </table>
- <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
- <div class="textblock"><p>This is a thread-safe wrapper over a <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> instance. </p>
- <p>It lets one enqueue calls to a <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> instance for the thread user provided, guaranteeing that writesFinishedWithError: is the last message sent to it (no matter what messages are sent to the wrapper, in what order, nor from which thread). It also guarantees that, if cancelWithError: is called (e.g. by the app cancelling the writes), no further messages are sent to the writeable except writesFinishedWithError:.</p>
- <p>TODO(jcanizales): Let the user specify another queue for the writeable callbacks. </p>
- </div><h2 class="groupheader">Method Documentation</h2>
- <a id="ab6bbb2bbcc7de31fb265a082f81c10ff"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ab6bbb2bbcc7de31fb265a082f81c10ff">◆ </a></span>cancelSilently</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">- (void) cancelSilently </td>
- <td></td>
- <td class="paramname"></td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Cancels all pending messages to the writeable enqueued by this object (both past and future). </p>
- <p>Because the writeable won't receive writesFinishedWithError:, this also releases the writeable. </p>
- </div>
- </div>
- <a id="a7fcaf13fe8f0ba0e4f86f51ba87d695e"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a7fcaf13fe8f0ba0e4f86f51ba87d695e">◆ </a></span>cancelWithError:</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">- (void) cancelWithError: </td>
- <td></td>
- <td class="paramtype">(NSError *) </td>
- <td class="paramname"><em>error</em></td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>If the writeable has not yet received a writesFinishedWithError: message, this will enqueue one to be sent to it in the designated dispatch queue, and cancel all other pending messages to the writeable enqueued by this object (both past and future). </p>
- <p>The error argument cannot be nil. </p>
- </div>
- </div>
- <a id="a7671d7dd0aca184438e90b45c90343d7"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a7671d7dd0aca184438e90b45c90343d7">◆ </a></span>enqueueSuccessfulCompletion</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">- (void) enqueueSuccessfulCompletion </td>
- <td></td>
- <td class="paramname"></td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Enqueues writesFinishedWithError:nil to be sent to the writeable in the designated dispatch queue. </p>
- <p>After that message is sent to the writeable, all other methods of this object are effectively noops. </p>
- </div>
- </div>
- <a id="aa07e832bf6319d672bc27c26554a847e"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#aa07e832bf6319d672bc27c26554a847e">◆ </a></span>enqueueValue:completionHandler:</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">- (void) enqueueValue: </td>
- <td></td>
- <td class="paramtype">(id) </td>
- <td class="paramname"><em>value</em></td>
- </tr>
- <tr>
- <td class="paramkey">completionHandler:</td>
- <td></td>
- <td class="paramtype">(void(^)(void)) </td>
- <td class="paramname"><em>handler</em> </td>
- </tr>
- <tr>
- <td></td>
- <td></td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Enqueues writeValue: to be sent to the writeable from the designated dispatch queue. </p>
- <p>The passed handler is invoked from designated dispatch queue after writeValue: returns. </p>
- </div>
- </div>
- <a id="a35834d67d3618d56cf350e161a324eee"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a35834d67d3618d56cf350e161a324eee">◆ </a></span>initWithWriteable:</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">- (instancetype) initWithWriteable: </td>
- <td></td>
- <td class="paramtype">(id< <a class="el" href="interface_g_r_x_writeable.html">GRXWriteable</a> >) </td>
- <td class="paramname"><em>writeable</em></td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <a id="a04f3b18ba38f2e846e9f74d4cc69e10f"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a04f3b18ba38f2e846e9f74d4cc69e10f">◆ </a></span>initWithWriteable:dispatchQueue:</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">- (instancetype) <a class="el" href="interface_g_r_x_concurrent_writeable.html#a35834d67d3618d56cf350e161a324eee">initWithWriteable:</a> </td>
- <td></td>
- <td class="paramtype">(id< <a class="el" href="interface_g_r_x_writeable.html">GRXWriteable</a> >) </td>
- <td class="paramname"><em>writeable</em></td>
- </tr>
- <tr>
- <td class="paramkey">dispatchQueue:</td>
- <td></td>
- <td class="paramtype">(dispatch_queue_t) </td>
- <td class="paramname"><em>NS_DESIGNATED_INITIALIZER</em> </td>
- </tr>
- <tr>
- <td></td>
- <td></td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>The <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> passed is the wrapped writeable. </p>
- <p>The <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> instance is retained until writesFinishedWithError: is sent to it, and released after that. </p>
- </div>
- </div>
- <hr/>The documentation for this class was generated from the following file:<ul>
- <li>src/objective-c/RxLibrary/<a class="el" href="_g_r_x_concurrent_writeable_8h_source.html">GRXConcurrentWriteable.h</a></li>
- </ul>
- </div><!-- contents -->
- <!-- start footer part -->
- <hr class="footer"/><address class="footer"><small>
- Generated on Wed Mar 3 2021 19:20:10 for GRPC Objective-C by  <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/>
- </a> 1.8.17
- </small></address>
- </body>
- </html>
|