<!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.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Proton DotNet: Apache.Qpid.Proton.Client.Concurrent.AtomicLong 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">Proton DotNet
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @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&amp;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 id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceApache.html">Apache</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid.html">Qpid</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton.html">Proton</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Client.html">Client</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent.html">Concurrent</a></li><li class="navelem"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1AtomicLong.html">AtomicLong</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#properties">Properties</a> &#124;
<a href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1AtomicLong-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Apache.Qpid.Proton.Client.Concurrent.AtomicLong Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Simple Atomic abstraction around the long type to make atomic operations on long types simpler to manage in code. The default value of this type is zero.  
 <a href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1AtomicLong.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a5e071deedad0e4a53213ba4621dc0c4f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1AtomicLong.html#a5e071deedad0e4a53213ba4621dc0c4f">AtomicLong</a> (long initialValue=0)</td></tr>
<tr class="memdesc:a5e071deedad0e4a53213ba4621dc0c4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new instance with the given value or default to zero.  <a href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1AtomicLong.html#a5e071deedad0e4a53213ba4621dc0c4f">More...</a><br /></td></tr>
<tr class="separator:a5e071deedad0e4a53213ba4621dc0c4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac292b4e3d3d7fb782dbdf1f1e90b08aa"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1AtomicLong.html#ac292b4e3d3d7fb782dbdf1f1e90b08aa">CompareAndSet</a> (long expect, long update)</td></tr>
<tr class="memdesc:ac292b4e3d3d7fb782dbdf1f1e90b08aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Atomically sets the value to the new one if the current value == expected.  <a href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1AtomicLong.html#ac292b4e3d3d7fb782dbdf1f1e90b08aa">More...</a><br /></td></tr>
<tr class="separator:ac292b4e3d3d7fb782dbdf1f1e90b08aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b016ff2706749a010343c93d2c12e54"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1AtomicLong.html#a0b016ff2706749a010343c93d2c12e54">IncrementAndGet</a> ()</td></tr>
<tr class="memdesc:a0b016ff2706749a010343c93d2c12e54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Atomically increments the current value.  <a href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1AtomicLong.html#a0b016ff2706749a010343c93d2c12e54">More...</a><br /></td></tr>
<tr class="separator:a0b016ff2706749a010343c93d2c12e54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa28f53142dbbfe7a663039f569223dea"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1AtomicLong.html#aa28f53142dbbfe7a663039f569223dea">DecrementAndGet</a> ()</td></tr>
<tr class="memdesc:aa28f53142dbbfe7a663039f569223dea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Atomically decrements the current value.  <a href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1AtomicLong.html#aa28f53142dbbfe7a663039f569223dea">More...</a><br /></td></tr>
<tr class="separator:aa28f53142dbbfe7a663039f569223dea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ca776f92ecd6c94de89f6ad67a53667"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1AtomicLong.html#a1ca776f92ecd6c94de89f6ad67a53667">Get</a> ()</td></tr>
<tr class="memdesc:a1ca776f92ecd6c94de89f6ad67a53667"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the value of the long atomically and returns it.  <a href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1AtomicLong.html#a1ca776f92ecd6c94de89f6ad67a53667">More...</a><br /></td></tr>
<tr class="separator:a1ca776f92ecd6c94de89f6ad67a53667"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d2677a5fe7ba3eb045f33efdb3f4f5a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1AtomicLong.html#a1d2677a5fe7ba3eb045f33efdb3f4f5a">Set</a> (long newValue)</td></tr>
<tr class="memdesc:a1d2677a5fe7ba3eb045f33efdb3f4f5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an atomic write of the long value.  <a href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1AtomicLong.html#a1d2677a5fe7ba3eb045f33efdb3f4f5a">More...</a><br /></td></tr>
<tr class="separator:a1d2677a5fe7ba3eb045f33efdb3f4f5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a7eff9af0cae6f16a7cb3c03855129d75"><td class="memItemLeft" align="right" valign="top"><a id="a7eff9af0cae6f16a7cb3c03855129d75"></a>
static implicit&#160;</td><td class="memItemRight" valign="bottom"><b>operator long</b> (<a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1AtomicLong.html">AtomicLong</a> atomicLong)</td></tr>
<tr class="separator:a7eff9af0cae6f16a7cb3c03855129d75"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="properties"></a>
Properties</h2></td></tr>
<tr class="memitem:a760eb7e3022368ab918263ec45ad109e"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1AtomicLong.html#a760eb7e3022368ab918263ec45ad109e">Value</a><code> [get]</code></td></tr>
<tr class="memdesc:a760eb7e3022368ab918263ec45ad109e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read the value of the long atomically and return it.  <a href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1AtomicLong.html#a760eb7e3022368ab918263ec45ad109e">More...</a><br /></td></tr>
<tr class="separator:a760eb7e3022368ab918263ec45ad109e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Simple Atomic abstraction around the long type to make atomic operations on long types simpler to manage in code. The default value of this type is zero. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a5e071deedad0e4a53213ba4621dc0c4f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e071deedad0e4a53213ba4621dc0c4f">&#9670;&nbsp;</a></span>AtomicLong()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Apache.Qpid.Proton.Client.Concurrent.AtomicLong.AtomicLong </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>initialValue</em> = <code>0</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a new instance with the given value or default to zero. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">initialValue</td><td>Initial value for the long </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ac292b4e3d3d7fb782dbdf1f1e90b08aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac292b4e3d3d7fb782dbdf1f1e90b08aa">&#9670;&nbsp;</a></span>CompareAndSet()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Apache.Qpid.Proton.Client.Concurrent.AtomicLong.CompareAndSet </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>expect</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>update</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Atomically sets the value to the new one if the current value == expected. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">expect</td><td>The value that is expected</td></tr>
    <tr><td class="paramname">update</td><td>The value to assign if the expectation is met.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd></dd></dl>

</div>
</div>
<a id="aa28f53142dbbfe7a663039f569223dea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa28f53142dbbfe7a663039f569223dea">&#9670;&nbsp;</a></span>DecrementAndGet()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long Apache.Qpid.Proton.Client.Concurrent.AtomicLong.DecrementAndGet </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Atomically decrements the current value. </p>
<dl class="section return"><dt>Returns</dt><dd>The decremented value</dd></dl>

</div>
</div>
<a id="a1ca776f92ecd6c94de89f6ad67a53667"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ca776f92ecd6c94de89f6ad67a53667">&#9670;&nbsp;</a></span>Get()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long Apache.Qpid.Proton.Client.Concurrent.AtomicLong.Get </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reads the value of the long atomically and returns it. </p>
<dl class="section return"><dt>Returns</dt><dd>The value of the long</dd></dl>

</div>
</div>
<a id="a0b016ff2706749a010343c93d2c12e54"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b016ff2706749a010343c93d2c12e54">&#9670;&nbsp;</a></span>IncrementAndGet()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long Apache.Qpid.Proton.Client.Concurrent.AtomicLong.IncrementAndGet </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Atomically increments the current value. </p>
<dl class="section return"><dt>Returns</dt><dd>The incremented value</dd></dl>

</div>
</div>
<a id="a1d2677a5fe7ba3eb045f33efdb3f4f5a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d2677a5fe7ba3eb045f33efdb3f4f5a">&#9670;&nbsp;</a></span>Set()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Apache.Qpid.Proton.Client.Concurrent.AtomicLong.Set </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>newValue</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Performs an atomic write of the long value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">newValue</td><td>The new value to assign to the long</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Property Documentation</h2>
<a id="a760eb7e3022368ab918263ec45ad109e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a760eb7e3022368ab918263ec45ad109e">&#9670;&nbsp;</a></span>Value</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long Apache.Qpid.Proton.Client.Concurrent.AtomicLong.Value</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Read the value of the long atomically and return it. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>src/Proton.Client/Client/Concurrent/AtomicLong.cs</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>
