blob: 6c77b96fbcdb55f4e07dde0f5e7af78de2c3a964 [file] [log] [blame]
<!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.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Apache Geode Native C++ Reference: RegionAttributes.hpp Source File</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="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</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">Apache Geode Native C++ Reference
&#160;<span id="projectnumber">1.13.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<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');
/* @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>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('a00206_source.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- 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 class="header">
<div class="headertitle">
<div class="title">RegionAttributes.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00206.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * contributor license agreements. See the NOTICE file distributed with</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * this work for additional information regarding copyright ownership.</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * (the &quot;License&quot;); you may not use this file except in compliance with</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * the License. You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#ifndef GEODE_REGIONATTRIBUTES_H_</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#define GEODE_REGIONATTRIBUTES_H_</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &lt;chrono&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00053.html">CacheListener.hpp</a>&quot;</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00056.html">CacheLoader.hpp</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &quot;CacheWriter.hpp&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00119.html">DiskPolicyType.hpp</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00137.html">ExpirationAttributes.hpp</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;PartitionResolver.hpp&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00194.html">Properties.hpp</a>&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#include &quot;Serializable.hpp&quot;</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &quot;internal/DataSerializableInternal.hpp&quot;</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &quot;internal/chrono/duration.hpp&quot;</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &quot;internal/geode_globals.hpp&quot;</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="keyword">namespace </span>apache {</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">namespace </span>geode {</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="keyword">namespace </span>client {</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="keyword">class </span>CacheImpl;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="keyword">class </span>RegionAttributesFactory;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="keyword">class </span>AttributesMutator;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="keyword">class </span>Cache;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="keyword">class </span>Region;</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="keyword">class </span>PersistenceManager;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="a00819.html"> 76</a></span>&#160;<span class="keyword">class </span>APACHE_GEODE_EXPORT <a class="code" href="a00819.html">RegionAttributes</a></div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; : <span class="keyword">public</span> internal::DataSerializableInternal {</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; std::shared_ptr&lt;CacheLoader&gt; getCacheLoader() <span class="keyword">const</span>;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; std::shared_ptr&lt;CacheWriter&gt; getCacheWriter() <span class="keyword">const</span>;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; std::shared_ptr&lt;CacheListener&gt; getCacheListener() <span class="keyword">const</span>;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; std::shared_ptr&lt;PartitionResolver&gt; getPartitionResolver() <span class="keyword">const</span>;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; std::chrono::seconds getRegionTimeToLive() <span class="keyword">const</span>;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="a00895.html">ExpirationAction</a> getRegionTimeToLiveAction() <span class="keyword">const</span>;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; std::chrono::seconds getRegionIdleTimeout() <span class="keyword">const</span>;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="a00895.html">ExpirationAction</a> getRegionIdleTimeoutAction() <span class="keyword">const</span>;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; std::chrono::seconds getEntryTimeToLive() <span class="keyword">const</span>;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="a00895.html">ExpirationAction</a> getEntryTimeToLiveAction() <span class="keyword">const</span>;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; std::chrono::seconds getEntryIdleTimeout() <span class="keyword">const</span>;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <a class="code" href="a00895.html">ExpirationAction</a> getEntryIdleTimeoutAction() <span class="keyword">const</span>;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="a00819.html#a8ff9ff60a624ac82a42b0328b393540d"> 148</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00819.html#a8ff9ff60a624ac82a42b0328b393540d">getCachingEnabled</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_caching; }</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="comment">// MAP ATTRIBUTES</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordtype">int</span> getInitialCapacity() <span class="keyword">const</span>;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordtype">float</span> getLoadFactor() <span class="keyword">const</span>;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; uint8_t getConcurrencyLevel() <span class="keyword">const</span>;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; uint32_t getLruEntriesLimit() <span class="keyword">const</span>;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <a class="code" href="a00891.html">DiskPolicyType</a> getDiskPolicy() <span class="keyword">const</span>;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="a00895.html">ExpirationAction</a> getLruEvictionAction() <span class="keyword">const</span>;</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;</div><div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="a00819.html#a4ef565df384a6baacc0b99d2208a23db"> 190</a></span>&#160; <span class="keyword">const</span> std::string&amp; <a class="code" href="a00819.html#a4ef565df384a6baacc0b99d2208a23db">getPoolName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_poolName; }</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="comment">// will be created by the factory</span></div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <a class="code" href="a00819.html">RegionAttributes</a>();</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <a class="code" href="a00819.html">RegionAttributes</a>(<span class="keyword">const</span> <a class="code" href="a00819.html">RegionAttributes</a>&amp; rhs) = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="comment">/*destructor</span></div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; ~<a class="code" href="a00819.html">RegionAttributes</a>() noexcept override;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; static std::shared_ptr&lt;<a class="code" href="a00855.html">Serializable</a>&gt; createDeserializable();</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordtype">void</span> toData(<a class="code" href="a00439.html">DataOutput</a>&amp; out) const override;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordtype">void</span> fromData(<a class="code" href="a00435.html">DataInput</a>&amp; in) override;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; const std::<span class="keywordtype">string</span>&amp; getCacheLoaderLibrary() const;</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; const std::<span class="keywordtype">string</span>&amp; getCacheLoaderFactory() const;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; const std::<span class="keywordtype">string</span>&amp; getCacheListenerLibrary() const;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; const std::<span class="keywordtype">string</span>&amp; getCacheListenerFactory() const;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; const std::<span class="keywordtype">string</span>&amp; getCacheWriterLibrary() const;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; const std::<span class="keywordtype">string</span>&amp; getCacheWriterFactory() const;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; const std::<span class="keywordtype">string</span>&amp; getPartitionResolverLibrary() const;</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; const std::<span class="keywordtype">string</span>&amp; getPartitionResolverFactory() const;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keywordtype">bool</span> operator==(const <a class="code" href="a00819.html">RegionAttributes</a>&amp; other) const;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordtype">bool</span> operator!=(const <a class="code" href="a00819.html">RegionAttributes</a>&amp; other) const;</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keywordtype">void</span> validateSerializableAttributes();</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; const std::<span class="keywordtype">string</span>&amp; getEndpoints() const;</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordtype">bool</span> getClientNotificationEnabled() const;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; const std::<span class="keywordtype">string</span>&amp; getPersistenceLibrary() const;</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; const std::<span class="keywordtype">string</span>&amp; getPersistenceFactory() const;</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; std::shared_ptr&lt;<a class="code" href="a00799.html">Properties</a>&gt; getPersistenceProperties() const;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; std::shared_ptr&lt;<a class="code" href="a00783.html">PersistenceManager</a>&gt; getPersistenceManager() const;</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="keywordtype">bool</span> getCloningEnabled()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_isClonable; }</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;</div><div class="line"><a name="l00311"></a><span class="lineno"><a class="line" href="a00819.html#ac6d5bc8f80023f210525eec6da5464f8"> 311</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="a00819.html#ac6d5bc8f80023f210525eec6da5464f8">getConcurrencyChecksEnabled</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">return</span> m_isConcurrencyChecksEnabled;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; }</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <a class="code" href="a00819.html">RegionAttributes</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="a00819.html">RegionAttributes</a>&amp;) = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordtype">void</span> setCacheListener(<span class="keyword">const</span> std::string&amp; libpath,</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keyword">const</span> std::string&amp; factoryFuncName);</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keywordtype">void</span> setCacheLoader(<span class="keyword">const</span> std::string&amp; libpath,</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keyword">const</span> std::string&amp; factoryFuncName);</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keywordtype">void</span> setCacheWriter(<span class="keyword">const</span> std::string&amp; libpath,</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keyword">const</span> std::string&amp; factoryFuncName);</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="keywordtype">void</span> setPartitionResolver(<span class="keyword">const</span> std::string&amp; libpath,</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keyword">const</span> std::string&amp; factoryFuncName);</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="keywordtype">void</span> setPersistenceManager(<span class="keyword">const</span> std::string&amp; lib, <span class="keyword">const</span> std::string&amp; func,</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Properties&gt;&amp; config);</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <span class="keywordtype">void</span> setEndpoints(<span class="keyword">const</span> std::string&amp; endpoints);</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordtype">void</span> setPoolName(<span class="keyword">const</span> std::string&amp; poolName);</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <span class="keywordtype">void</span> setCloningEnabled(<span class="keywordtype">bool</span> isClonable);</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keywordtype">void</span> setCachingEnabled(<span class="keywordtype">bool</span> enable);</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="keywordtype">void</span> setLruEntriesLimit(<span class="keywordtype">int</span> limit);</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keywordtype">void</span> setDiskPolicy(<a class="code" href="a00891.html">DiskPolicyType</a> diskPolicy);</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordtype">void</span> setConcurrencyChecksEnabled(<span class="keywordtype">bool</span> enable);</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> getEntryExpiryEnabled()<span class="keyword"> const </span>{</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordflow">return</span> (m_entryTimeToLive &gt; std::chrono::seconds::zero() ||</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; m_entryIdleTimeout &gt; std::chrono::seconds::zero());</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; }</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> getRegionExpiryEnabled()<span class="keyword"> const </span>{</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">return</span> (m_regionTimeToLive &gt; std::chrono::seconds::zero() ||</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; m_regionIdleTimeout &gt; std::chrono::seconds::zero());</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; }</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <a class="code" href="a00895.html">ExpirationAction</a> m_regionTimeToLiveExpirationAction;</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <a class="code" href="a00895.html">ExpirationAction</a> m_regionIdleTimeoutExpirationAction;</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <a class="code" href="a00895.html">ExpirationAction</a> m_entryTimeToLiveExpirationAction;</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <a class="code" href="a00895.html">ExpirationAction</a> m_entryIdleTimeoutExpirationAction;</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <a class="code" href="a00895.html">ExpirationAction</a> m_lruEvictionAction;</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keyword">mutable</span> std::shared_ptr&lt;CacheWriter&gt; m_cacheWriter;</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keyword">mutable</span> std::shared_ptr&lt;CacheLoader&gt; m_cacheLoader;</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="keyword">mutable</span> std::shared_ptr&lt;CacheListener&gt; m_cacheListener;</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="keyword">mutable</span> std::shared_ptr&lt;PartitionResolver&gt; m_partitionResolver;</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; uint32_t m_lruEntriesLimit;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keywordtype">bool</span> m_caching;</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; uint32_t m_maxValueDistLimit;</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; std::chrono::seconds m_entryIdleTimeout;</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; std::chrono::seconds m_entryTimeToLive;</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; std::chrono::seconds m_regionIdleTimeout;</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; std::chrono::seconds m_regionTimeToLive;</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; uint32_t m_initialCapacity;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordtype">float</span> m_loadFactor;</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; uint8_t m_concurrencyLevel;</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; std::string m_cacheLoaderLibrary;</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; std::string m_cacheWriterLibrary;</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; std::string m_cacheListenerLibrary;</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; std::string m_partitionResolverLibrary;</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; std::string m_cacheLoaderFactory;</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; std::string m_cacheWriterFactory;</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; std::string m_cacheListenerFactory;</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; std::string m_partitionResolverFactory;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <a class="code" href="a00891.html">DiskPolicyType</a> m_diskPolicy;</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; std::string m_endpoints;</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordtype">bool</span> m_clientNotificationEnabled;</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; std::string m_persistenceLibrary;</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; std::string m_persistenceFactory;</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; std::shared_ptr&lt;Properties&gt; m_persistenceProperties;</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keyword">mutable</span> std::shared_ptr&lt;PersistenceManager&gt; m_persistenceManager;</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; std::string m_poolName;</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="keywordtype">bool</span> m_isClonable;</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="keywordtype">bool</span> m_isConcurrencyChecksEnabled;</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span>RegionAttributesFactory;</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span>AttributesMutator;</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span>Cache;</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span>CacheImpl;</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span>Region;</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span>RegionInternal;</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span>RegionXmlCreation;</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160;</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160;};</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160;} <span class="comment">// namespace client</span></div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160;} <span class="comment">// namespace geode</span></div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160;} <span class="comment">// namespace apache</span></div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;<span class="preprocessor">#endif // GEODE_REGIONATTRIBUTES_H_</span></div><div class="ttc" id="a00439_html"><div class="ttname"><a href="a00439.html">apache::geode::client::DataOutput</a></div><div class="ttdoc">Provide operations for writing primitive data values, byte arrays, strings, Serializable objects to a...</div><div class="ttdef"><b>Definition:</b> DataOutput.hpp:48</div></div>
<div class="ttc" id="a00056_html"><div class="ttname"><a href="a00056.html">CacheLoader.hpp</a></div></div>
<div class="ttc" id="a00891_html"><div class="ttname"><a href="a00891.html">DiskPolicyType</a></div><div class="ttdoc">Enumerated type for disk policy.</div></div>
<div class="ttc" id="a00435_html"><div class="ttname"><a href="a00435.html">apache::geode::client::DataInput</a></div><div class="ttdoc">Provide operations for reading primitive data values, byte arrays, strings, Serializable objects from...</div><div class="ttdef"><b>Definition:</b> DataInput.hpp:59</div></div>
<div class="ttc" id="a00819_html_a4ef565df384a6baacc0b99d2208a23db"><div class="ttname"><a href="a00819.html#a4ef565df384a6baacc0b99d2208a23db">apache::geode::client::RegionAttributes::getPoolName</a></div><div class="ttdeci">const std::string &amp; getPoolName() const</div><div class="ttdoc">Returns the name of the pool attached to the region.</div><div class="ttdef"><b>Definition:</b> RegionAttributes.hpp:190</div></div>
<div class="ttc" id="a00819_html_a8ff9ff60a624ac82a42b0328b393540d"><div class="ttname"><a href="a00819.html#a8ff9ff60a624ac82a42b0328b393540d">apache::geode::client::RegionAttributes::getCachingEnabled</a></div><div class="ttdeci">bool getCachingEnabled() const</div><div class="ttdoc">If true, this region will store data in the current process.</div><div class="ttdef"><b>Definition:</b> RegionAttributes.hpp:148</div></div>
<div class="ttc" id="a00855_html"><div class="ttname"><a href="a00855.html">apache::geode::client::Serializable</a></div><div class="ttdoc">This base class is the superclass of all user objects in the cache that can be serialized.</div><div class="ttdef"><b>Definition:</b> Serializable.hpp:53</div></div>
<div class="ttc" id="a00799_html"><div class="ttname"><a href="a00799.html">apache::geode::client::Properties</a></div><div class="ttdoc">Contains a set of (key, value) pair properties with key being the name of the property; value,...</div><div class="ttdef"><b>Definition:</b> Properties.hpp:51</div></div>
<div class="ttc" id="a00819_html_ac6d5bc8f80023f210525eec6da5464f8"><div class="ttname"><a href="a00819.html#ac6d5bc8f80023f210525eec6da5464f8">apache::geode::client::RegionAttributes::getConcurrencyChecksEnabled</a></div><div class="ttdeci">bool getConcurrencyChecksEnabled() const</div><div class="ttdoc">Returns true if concurrent update checks are turned on for this region.</div><div class="ttdef"><b>Definition:</b> RegionAttributes.hpp:311</div></div>
<div class="ttc" id="a00895_html"><div class="ttname"><a href="a00895.html">ExpirationAction</a></div><div class="ttdoc">Enumerated type for expiration actions.</div></div>
<div class="ttc" id="a00783_html"><div class="ttname"><a href="a00783.html">apache::geode::client::PersistenceManager</a></div><div class="ttdoc">PersistenceManager API for persistence and overflow.</div><div class="ttdef"><b>Definition:</b> PersistenceManager.hpp:52</div></div>
<div class="ttc" id="a00137_html"><div class="ttname"><a href="a00137.html">ExpirationAttributes.hpp</a></div></div>
<div class="ttc" id="a00194_html"><div class="ttname"><a href="a00194.html">Properties.hpp</a></div></div>
<div class="ttc" id="a00053_html"><div class="ttname"><a href="a00053.html">CacheListener.hpp</a></div></div>
<div class="ttc" id="a00119_html"><div class="ttname"><a href="a00119.html">DiskPolicyType.hpp</a></div></div>
<div class="ttc" id="a00819_html"><div class="ttname"><a href="a00819.html">apache::geode::client::RegionAttributes</a></div><div class="ttdoc">Defines attributes for configuring a region.</div><div class="ttdef"><b>Definition:</b> RegionAttributes.hpp:76</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<HR><address style="align: right;"><small>Apache Geode C++ Cache API Documentation</small></address>