You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by uw...@apache.org on 2018/05/18 07:47:13 UTC
[12/51] [partial] arrow-site git commit: Update API docs
http://git-wip-us.apache.org/repos/asf/arrow-site/blob/c77df435/docs/cpp/plasma_8h_source.html
----------------------------------------------------------------------
diff --git a/docs/cpp/plasma_8h_source.html b/docs/cpp/plasma_8h_source.html
index b0ed133..7be5b5a 100644
--- a/docs/cpp/plasma_8h_source.html
+++ b/docs/cpp/plasma_8h_source.html
@@ -70,51 +70,55 @@ $(function() {
<div class="title">plasma.h</div> </div>
</div><!--header-->
<div class="contents">
-<a href="plasma_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// or more contributor license agreements. See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">// regarding copyright ownership. The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><span class=
"lineno"> 6</span> <span class="comment">// "License"); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">// with 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> <span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <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> <span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// Unless required by applicable law or agreed to in writing,</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">// software distributed un
der the License is distributed on an</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// KIND, either express or implied. See the License for the</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// specific language governing permissions and limitations</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// under the License.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#ifndef PLASMA_PLASMA_H</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19
</span> <span class="preprocessor">#define PLASMA_PLASMA_H</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include <errno.h></span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include <inttypes.h></span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include <stdbool.h></span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include <stddef.h></span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include <stdio.h></span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#include <std
lib.h></span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include <<a class="code" href="string_8h.html">string.h</a>></span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include <unistd.h></span> <span class="comment">// pid_t</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <memory></span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <string></span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <unordered_map></span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="pre
processor">#include <unordered_set></span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "<a class="code" href="compat_8h.html">plasma/compat.h</a>"</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "<a class="code" href="status_8h.html">arrow/status.h</a>"</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "<a class="code" href="logging_8h.html">arrow/util/logging.h</a>"</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "<a class="code" href="plasma_2common_8h.html">plasma/common.h<
/a>"</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "plasma/common_generated.h"</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#ifdef PLASMA_GPU</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "<a class="code" href="cuda__api_8h.html">arrow/gpu/cuda_api.h</a>"</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">using</span> <a class="code" href="classarrow_1_1gpu_1_1_cuda_ipc_mem_handle.html">arrow::gpu::CudaIpcMemHandle</a>;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <spa
n class="preprocessor">#endif</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">namespace </span><a class="code" href="namespaceplasma.html">plasma</a> {</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="plasma_8h.html#a5a339f6de3598691949f20d166212131"> 50</a></span> <span class="preprocessor">#define HANDLE_SIGPIPE(s, fd_) \</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor"> do { \</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"> Status _s = (s);
\</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor"> if (!_s.ok()) { \</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor"> if (errno == EPIPE || errno == EBADF || errno == ECONNRESET) { \</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor"> ARROW_LOG(WARNING) \</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor"> << "Received SIGPIPE, BAD FILE DESCRIPTOR, or ECONNRESET when " \</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor"> "sending a message to c
lient on fd " \</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor"> << fd_ \</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor"> << ". " \</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor"> "The client on the other end may have hung up."; \</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor"> } else { \</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor"> return _s;
\</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor"> } \</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor"> } \</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor"> } while (0);</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="plasma_8h.html#ad51ded0bbd705f02f73fc60c0b721ced"> 68</a></span> <span class="preprocessor">#define BLOCK_SIZE 64</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div><div class="line"><a name
="l00070"></a><span class="lineno"><a class="line" href="namespaceplasma.html#a1e58580ac8c3886f75e1c8b645691067"> 70</a></span> <span class="keyword">struct </span><a class="code" href="structplasma_1_1_client.html">Client</a>;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">typedef</span> std::unordered_map<ObjectID, ObjectRequest, UniqueIDHasher> <a class="code" href="namespaceplasma.html#a1e58580ac8c3886f75e1c8b645691067">ObjectRequestMap</a>;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">// TODO(pcm): Replace this by the flatbuffers message PlasmaObjectSpec.</span></div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_object.html">
76</a></span> <span class="keyword">struct </span><a class="code" href="structplasma_1_1_plasma_object.html">PlasmaObject</a> {</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="preprocessor">#ifdef PLASMA_GPU</span></div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="comment">// IPC handle for Cuda.</span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  std::shared_ptr<CudaIpcMemHandle> ipc_handle;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordtype">int</span> <a class="code" href="structplasma_1_1_plasma_object.html#a5dc6549d0495eeca800dcb15a070b228">store_fd</a>;</div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="structplasm
a_1_1_plasma_object.html#a70bc754d9973cfcc954610464fa53443"> 86</a></span>  ptrdiff_t <a class="code" href="structplasma_1_1_plasma_object.html#a70bc754d9973cfcc954610464fa53443">data_offset</a>;</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_object.html#ad12648a15f841885eb9543b200382352"> 88</a></span>  ptrdiff_t <a class="code" href="structplasma_1_1_plasma_object.html#ad12648a15f841885eb9543b200382352">metadata_offset</a>;</div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_object.html#ab4867adc5a1cc19e492ac0b4f3f28c1e"> 90</a></span>  int64_t <a class="code" href="structplasma_1_1_plasma_object.html#ab4867adc5a1cc19e492ac0b4f3f28c1e">data_size</a>;</div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_object.html#a82a59120f6c86f8cf5121c6a100718fb"> 92</a></span>  int64_t
<a class="code" href="structplasma_1_1_plasma_object.html#a82a59120f6c86f8cf5121c6a100718fb">metadata_size</a>;</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_object.html#ab03153afe375e6725965cee6d22e80d8"> 94</a></span>  <span class="keywordtype">int</span> <a class="code" href="structplasma_1_1_plasma_object.html#ab03153afe375e6725965cee6d22e80d8">device_num</a>;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> };</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="namespaceplasma.html#ae5b518ae619aa1389d8848ae462c04cf"> 97</a></span> <span class="keyword">enum</span> <a class="code" href="namespaceplasma.html#ae5b518ae619aa1389d8848ae462c04cf">object_state</a> {</div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="nam
espaceplasma.html#ae5b518ae619aa1389d8848ae462c04cfabe7a1421a04eaf44e5e8700e22d342f8"> 99</a></span>  <a class="code" href="namespaceplasma.html#ae5b518ae619aa1389d8848ae462c04cfabe7a1421a04eaf44e5e8700e22d342f8">PLASMA_CREATED</a> = 1,</div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="namespaceplasma.html#ae5b518ae619aa1389d8848ae462c04cfa9e6dce5e138ee0102cf05d9fe389ee36"> 101</a></span>  <a class="code" href="namespaceplasma.html#ae5b518ae619aa1389d8848ae462c04cfa9e6dce5e138ee0102cf05d9fe389ee36">PLASMA_SEALED</a></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> };</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="namespaceplasma.html#ab0498a778ef73ba70e2865dd2d4e9c8e"> 104</a></span> <span class="keyword">enum</span> <a class="code" href="namespaceplasma.html#ab0498a778e
f73ba70e2865dd2d4e9c8e">object_status</a> {</div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="namespaceplasma.html#ab0498a778ef73ba70e2865dd2d4e9c8ea7b268f74adc8d8d5f5509f4ff4064379"> 106</a></span>  <a class="code" href="namespaceplasma.html#ab0498a778ef73ba70e2865dd2d4e9c8ea7b268f74adc8d8d5f5509f4ff4064379">OBJECT_NOT_FOUND</a> = 0,</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="namespaceplasma.html#ab0498a778ef73ba70e2865dd2d4e9c8ea8d77ab62b1fadb69d4e9830e70a82a64"> 108</a></span>  <a class="code" href="namespaceplasma.html#ab0498a778ef73ba70e2865dd2d4e9c8ea8d77ab62b1fadb69d4e9830e70a82a64">OBJECT_FOUND</a> = 1</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> };</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structplasma_1_1_object_tab
le_entry.html"> 113</a></span> <span class="keyword">struct </span><a class="code" href="structplasma_1_1_object_table_entry.html">ObjectTableEntry</a> {</div><div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="structplasma_1_1_object_table_entry.html#a9b35a72da1a4ca1f0b9970b9f7e53072"> 115</a></span>  <a class="code" href="classplasma_1_1_unique_i_d.html">ObjectID</a> <a class="code" href="structplasma_1_1_object_table_entry.html#a9b35a72da1a4ca1f0b9970b9f7e53072">object_id</a>;</div><div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="structplasma_1_1_object_table_entry.html#aaa57d2e583e6e3d9f71f8f4c32ecbaf1"> 117</a></span>  ObjectInfoT <a class="code" href="structplasma_1_1_object_table_entry.html#aaa57d2e583e6e3d9f71f8f4c32ecbaf1">info</a>;</div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="structplasma_1_1_object_table_entry.html#a017587b5df1643c7784318decc20d34e"
> 119</a></span>  <span class="keywordtype">int</span> <a class="code" href="structplasma_1_1_object_table_entry.html#a017587b5df1643c7784318decc20d34e">fd</a>;</div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="structplasma_1_1_object_table_entry.html#ab207201f0078aad245feded8863296f9"> 121</a></span>  <span class="keywordtype">int</span> <a class="code" href="structplasma_1_1_object_table_entry.html#ab207201f0078aad245feded8863296f9">device_num</a>;</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="structplasma_1_1_object_table_entry.html#ad8d70024aa976b7d1e71a5b76f3a9704"> 123</a></span>  int64_t <a class="code" href="structplasma_1_1_object_table_entry.html#ad8d70024aa976b7d1e71a5b76f3a9704">map_size</a>;</div><div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="structplasma_1_1_object_table_entry.html#a119a8275cb3f0749c6e2aedd7d938bd8"> 125</a></span> 
; ptrdiff_t <a class="code" href="structplasma_1_1_object_table_entry.html#a119a8275cb3f0749c6e2aedd7d938bd8">offset</a>;</div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="structplasma_1_1_object_table_entry.html#a81c1540a4fba32f6aadb56b617f549bf"> 127</a></span>  uint8_t* <a class="code" href="structplasma_1_1_object_table_entry.html#a81c1540a4fba32f6aadb56b617f549bf">pointer</a>;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="preprocessor">#ifdef PLASMA_GPU</span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  std::shared_ptr<CudaIpcMemHandle> ipc_handle;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  std::unordered_set<Client*> <a class="code" href="structplasma_1_1_object_table_
entry.html#ad4be5131163cdb8b8088bbb87d79e52f">clients</a>;</div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="structplasma_1_1_object_table_entry.html#aec98fc3472884f486cf37d4ae2728bc0"> 135</a></span>  <a class="code" href="namespaceplasma.html#ae5b518ae619aa1389d8848ae462c04cf">object_state</a> <a class="code" href="structplasma_1_1_object_table_entry.html#aec98fc3472884f486cf37d4ae2728bc0">state</a>;</div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="structplasma_1_1_object_table_entry.html#a5e9f1f13f1276feb7ea9f3f0d3cfb9f9"> 137</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="structplasma_1_1_object_table_entry.html#a5e9f1f13f1276feb7ea9f3f0d3cfb9f9">digest</a>[<a class="code" href="namespaceplasma.html#a9063b8c2b48b267f01082f522b5a3d61">kDigestSize</a>];</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</spa
n> };</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div><div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_store_info.html"> 141</a></span> <span class="keyword">struct </span><a class="code" href="structplasma_1_1_plasma_store_info.html">PlasmaStoreInfo</a> {</div><div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_store_info.html#a1972fc2e24de109bae2293746a7ad990"> 143</a></span>  std::unordered_map<ObjectID, std::unique_ptr<ObjectTableEntry>, <a class="code" href="structplasma_1_1_unique_i_d_hasher.html">UniqueIDHasher</a>> <a class="code" href="structplasma_1_1_plasma_store_info.html#a1972fc2e24de109bae2293746a7ad990">objects</a>;</div><div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_store_info.html#a0ff2596ca76b82f76c5b10a9859fe227"> 146</a></spa
n>  int64_t <a class="code" href="structplasma_1_1_plasma_store_info.html#a0ff2596ca76b82f76c5b10a9859fe227">memory_capacity</a>;</div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_store_info.html#adfe6fe4ff281fdd8e613b82349755b40"> 151</a></span>  <span class="keywordtype">bool</span> <a class="code" href="structplasma_1_1_plasma_store_info.html#adfe6fe4ff281fdd8e613b82349755b40">hugepages_enabled</a>;</div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_store_info.html#ad02e9ada92a04926e44d0f602e137211"> 153</a></span>  std::string <a class="code" href="structplasma_1_1_plasma_store_info.html#ad02e9ada92a04926e44d0f602e137211">directory</a>;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> };</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div><div class="line"><a name="l0016
3"></a><span class="lineno"> 163</span> <a class="code" href="structplasma_1_1_object_table_entry.html">ObjectTableEntry</a>* <a class="code" href="namespaceplasma.html#a46854628e68e69f60b04b56717117705">get_object_table_entry</a>(<a class="code" href="structplasma_1_1_plasma_store_info.html">PlasmaStoreInfo</a>* store_info,</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keyword">const</span> <a class="code" href="classplasma_1_1_unique_i_d.html">ObjectID</a>& object_id);</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordtype">int</span> <a class="code" href="namespaceplasma.html#aa41db5d96cf06cc5d0a65df353d3e4f3">warn_if_sigpipe</a>(<span class="keywordtype">int</span> status, <span class="keywordtype">int</span> client_sock);</div><div class="line"
><a name="l00181"></a><span class="lineno"> 181</span> </div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span> uint8_t* <a class="code" href="namespaceplasma.html#a374ff7d8369d596f0280eda9cd5b5496">create_object_info_buffer</a>(ObjectInfoT* object_info);</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span> } <span class="comment">// namespace plasma</span></div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="preprocessor">#endif // PLASMA_PLASMA_H</span></div><div class="ttc" id="structplasma_1_1_plasma_object_html_ab4867adc5a1cc19e492ac0b4f3f28c1e"><div class="ttname"><a href="structplasma_1_1_plasma_object.html#ab4867adc5a1cc19e492ac0b4f3f28c1e">plasma::PlasmaObject::data_size</a></div><div class="ttdeci">int
64_t data_size</div><div class="ttdoc">The size in bytes of the data. </div><div class="ttdef"><b>Definition:</b> plasma.h:90</div></div>
-<div class="ttc" id="structplasma_1_1_plasma_object_html_a5dc6549d0495eeca800dcb15a070b228"><div class="ttname"><a href="structplasma_1_1_plasma_object.html#a5dc6549d0495eeca800dcb15a070b228">plasma::PlasmaObject::store_fd</a></div><div class="ttdeci">int store_fd</div><div class="ttdoc">The file descriptor of the memory mapped file in the store. </div><div class="ttdef"><b>Definition:</b> plasma.h:84</div></div>
-<div class="ttc" id="namespaceplasma_html_a374ff7d8369d596f0280eda9cd5b5496"><div class="ttname"><a href="namespaceplasma.html#a374ff7d8369d596f0280eda9cd5b5496">plasma::create_object_info_buffer</a></div><div class="ttdeci">uint8_t * create_object_info_buffer(ObjectInfoT *object_info)</div></div>
-<div class="ttc" id="structplasma_1_1_plasma_store_info_html"><div class="ttname"><a href="structplasma_1_1_plasma_store_info.html">plasma::PlasmaStoreInfo</a></div><div class="ttdoc">The plasma store information that is exposed to the eviction policy. </div><div class="ttdef"><b>Definition:</b> plasma.h:141</div></div>
+<a href="plasma_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// or more contributor license agreements. See the NOTICE file</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// distributed with this work for additional information</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">// regarding copyright ownership. The ASF licenses this file</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00006"></a><span class=
"lineno"> 6</span> <span class="comment">// "License"); you may not use this file except in compliance</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">// with 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> <span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <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> <span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// Unless required by applicable law or agreed to in writing,</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">// software distributed un
der the License is distributed on an</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// KIND, either express or implied. See the License for the</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// specific language governing permissions and limitations</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// under the License.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#ifndef PLASMA_PLASMA_H</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19
</span> <span class="preprocessor">#define PLASMA_PLASMA_H</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include <errno.h></span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include <inttypes.h></span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include <stdbool.h></span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include <stddef.h></span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include <stdio.h></span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#include <std
lib.h></span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include <<a class="code" href="string_8h.html">string.h</a>></span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include <unistd.h></span> <span class="comment">// pid_t</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <memory></span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <string></span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <unordered_map></span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="pre
processor">#include <unordered_set></span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "<a class="code" href="compat_8h.html">plasma/compat.h</a>"</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "<a class="code" href="status_8h.html">arrow/status.h</a>"</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "<a class="code" href="logging_8h.html">arrow/util/logging.h</a>"</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "<a class="code" href="macros_8h.html">arrow/util/macros.h</a>&
quot;</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "<a class="code" href="plasma_2common_8h.html">plasma/common.h</a>"</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "plasma/common_generated.h"</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#ifdef PLASMA_GPU</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "<a class="code" href="cuda__api_8h.html">arrow/gpu/cuda_api.h</a>"</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">usin
g</span> <a class="code" href="classarrow_1_1gpu_1_1_cuda_ipc_mem_handle.html">arrow::gpu::CudaIpcMemHandle</a>;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">namespace </span><a class="code" href="namespaceplasma.html">plasma</a> {</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="plasma_8h.html#a5a339f6de3598691949f20d166212131"> 51</a></span> <span class="preprocessor">#define HANDLE_SIGPIPE(s, fd_) \</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"> do {
\</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor"> Status _s = (s); \</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor"> if (!_s.ok()) { \</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor"> if (errno == EPIPE || errno == EBADF || errno == ECONNRESET) { \</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor"> ARROW_LOG(WARNING) \</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor"> << "Received SIGPIPE, BAD FILE
DESCRIPTOR, or ECONNRESET when " \</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor"> "sending a message to client on fd " \</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor"> << fd_ \</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor"> << ". " \</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor"> "The client on the other end may have hung up."; \</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor"> } else {
\</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor"> return _s; \</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor"> } \</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor"> } \</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor"> } while (0);</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="namespaceplasma.html#a1cb36d2ae0e90107e1b4
66197706e24c"> 69</a></span> constexpr int64_t <a class="code" href="namespaceplasma.html#a1cb36d2ae0e90107e1b466197706e24c">kBlockSize</a> = 64;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="namespaceplasma.html#a1e58580ac8c3886f75e1c8b645691067"> 71</a></span> <span class="keyword">struct </span><a class="code" href="structplasma_1_1_client.html">Client</a>;</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">typedef</span> std::unordered_map<ObjectID, ObjectRequest, UniqueIDHasher> <a class="code" href="namespaceplasma.html#a1e58580ac8c3886f75e1c8b645691067">ObjectRequestMap</a>;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div><div class="line"><a name="l00076"><
/a><span class="lineno"> 76</span> <span class="comment">// TODO(pcm): Replace this by the flatbuffers message PlasmaObjectSpec.</span></div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_object.html"> 77</a></span> <span class="keyword">struct </span><a class="code" href="structplasma_1_1_plasma_object.html">PlasmaObject</a> {</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="preprocessor">#ifdef PLASMA_GPU</span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="comment">// IPC handle for Cuda.</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  std::shared_ptr<CudaIpcMemHandle> ipc_handle;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00082"></a><span class="lin
eno"> 82</span>  <span class="keywordtype">int</span> <a class="code" href="structplasma_1_1_plasma_object.html#a5dc6549d0495eeca800dcb15a070b228">store_fd</a>;</div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_object.html#a70bc754d9973cfcc954610464fa53443"> 87</a></span>  ptrdiff_t <a class="code" href="structplasma_1_1_plasma_object.html#a70bc754d9973cfcc954610464fa53443">data_offset</a>;</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_object.html#ad12648a15f841885eb9543b200382352"> 89</a></span>  ptrdiff_t <a class="code" href="structplasma_1_1_plasma_object.html#ad12648a15f841885eb9543b200382352">metadata_offset</a>;</div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_object.html#ab4867adc5a1cc19e492ac0b4f3f28c1e"> 91</a></span>  int64_t <a class="code" href="structpl
asma_1_1_plasma_object.html#ab4867adc5a1cc19e492ac0b4f3f28c1e">data_size</a>;</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_object.html#a82a59120f6c86f8cf5121c6a100718fb"> 93</a></span>  int64_t <a class="code" href="structplasma_1_1_plasma_object.html#a82a59120f6c86f8cf5121c6a100718fb">metadata_size</a>;</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_object.html#ab03153afe375e6725965cee6d22e80d8"> 95</a></span>  <span class="keywordtype">int</span> <a class="code" href="structplasma_1_1_plasma_object.html#ab03153afe375e6725965cee6d22e80d8">device_num</a>;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> };</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="namespaceplasma.html#ae5b518ae61
9aa1389d8848ae462c04cf"> 98</a></span> <span class="keyword">enum</span> <a class="code" href="namespaceplasma.html#ae5b518ae619aa1389d8848ae462c04cf">object_state</a> {</div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="namespaceplasma.html#ae5b518ae619aa1389d8848ae462c04cfabe7a1421a04eaf44e5e8700e22d342f8"> 100</a></span>  <a class="code" href="namespaceplasma.html#ae5b518ae619aa1389d8848ae462c04cfabe7a1421a04eaf44e5e8700e22d342f8">PLASMA_CREATED</a> = 1,</div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="namespaceplasma.html#ae5b518ae619aa1389d8848ae462c04cfa9e6dce5e138ee0102cf05d9fe389ee36"> 102</a></span>  <a class="code" href="namespaceplasma.html#ae5b518ae619aa1389d8848ae462c04cfa9e6dce5e138ee0102cf05d9fe389ee36">PLASMA_SEALED</a></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span> };</div><div class="line"><a name="l00104"></a><span class="lineno"> 104
</span> </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="namespaceplasma.html#ab0498a778ef73ba70e2865dd2d4e9c8e"> 105</a></span> <span class="keyword">enum</span> <a class="code" href="namespaceplasma.html#ab0498a778ef73ba70e2865dd2d4e9c8e">object_status</a> {</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="namespaceplasma.html#ab0498a778ef73ba70e2865dd2d4e9c8ea7b268f74adc8d8d5f5509f4ff4064379"> 107</a></span>  <a class="code" href="namespaceplasma.html#ab0498a778ef73ba70e2865dd2d4e9c8ea7b268f74adc8d8d5f5509f4ff4064379">OBJECT_NOT_FOUND</a> = 0,</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="namespaceplasma.html#ab0498a778ef73ba70e2865dd2d4e9c8ea8d77ab62b1fadb69d4e9830e70a82a64"> 109</a></span>  <a class="code" href="namespaceplasma.html#ab0498a778ef73ba70e2865dd2d4e9c8ea8d77ab62b1fadb69d4e9830e70a82a64">OBJECT_FOUND</a> = 1</div><div class="
line"><a name="l00110"></a><span class="lineno"> 110</span> };</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="structplasma_1_1_object_table_entry.html"> 114</a></span> <span class="keyword">struct </span><a class="code" href="structplasma_1_1_object_table_entry.html">ObjectTableEntry</a> {</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <a class="code" href="structplasma_1_1_object_table_entry.html#ab541db85cc8f35e2bb758ef84a2e2a6f">ObjectTableEntry</a>();</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <a class="code" href="structplasma_1_1_object_table_entry.html#ac1e7e9a3ae306848e6352ee683e45a19">~ObjectTableEntry</a>();</div><div class="line"><a name="l00118"></a><span class="lineno"> 118<
/span> </div><div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="structplasma_1_1_object_table_entry.html#a9b35a72da1a4ca1f0b9970b9f7e53072"> 120</a></span>  <a class="code" href="classplasma_1_1_unique_i_d.html">ObjectID</a> <a class="code" href="structplasma_1_1_object_table_entry.html#a9b35a72da1a4ca1f0b9970b9f7e53072">object_id</a>;</div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="structplasma_1_1_object_table_entry.html#aaa57d2e583e6e3d9f71f8f4c32ecbaf1"> 122</a></span>  ObjectInfoT <a class="code" href="structplasma_1_1_object_table_entry.html#aaa57d2e583e6e3d9f71f8f4c32ecbaf1">info</a>;</div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="structplasma_1_1_object_table_entry.html#a017587b5df1643c7784318decc20d34e"> 124</a></span>  <span class="keywordtype">int</span> <a class="code" href="structplasma_1_1_object_table_entry.html#a017587b5df1643c778431
8decc20d34e">fd</a>;</div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="structplasma_1_1_object_table_entry.html#ab207201f0078aad245feded8863296f9"> 126</a></span>  <span class="keywordtype">int</span> <a class="code" href="structplasma_1_1_object_table_entry.html#ab207201f0078aad245feded8863296f9">device_num</a>;</div><div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="structplasma_1_1_object_table_entry.html#ad8d70024aa976b7d1e71a5b76f3a9704"> 128</a></span>  int64_t <a class="code" href="structplasma_1_1_object_table_entry.html#ad8d70024aa976b7d1e71a5b76f3a9704">map_size</a>;</div><div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="structplasma_1_1_object_table_entry.html#a119a8275cb3f0749c6e2aedd7d938bd8"> 130</a></span>  ptrdiff_t <a class="code" href="structplasma_1_1_object_table_entry.html#a119a8275cb3f0749c6e2aedd7d938bd8">offset</a>;</div><div class="line"><
a name="l00132"></a><span class="lineno"><a class="line" href="structplasma_1_1_object_table_entry.html#a81c1540a4fba32f6aadb56b617f549bf"> 132</a></span>  uint8_t* <a class="code" href="structplasma_1_1_object_table_entry.html#a81c1540a4fba32f6aadb56b617f549bf">pointer</a>;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="preprocessor">#ifdef PLASMA_GPU</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  std::shared_ptr<CudaIpcMemHandle> ipc_handle;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordtype">int</span> <a class="code" href="structplasma_1_1_object_table_entry.html#a58a99155925ac7ebaf67e2b9db4d4ecf">ref_count</a>;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span> 
</div><div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="structplasma_1_1_object_table_entry.html#aec98fc3472884f486cf37d4ae2728bc0"> 141</a></span>  <a class="code" href="namespaceplasma.html#ae5b518ae619aa1389d8848ae462c04cf">object_state</a> <a class="code" href="structplasma_1_1_object_table_entry.html#aec98fc3472884f486cf37d4ae2728bc0">state</a>;</div><div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="structplasma_1_1_object_table_entry.html#a5e9f1f13f1276feb7ea9f3f0d3cfb9f9"> 143</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="structplasma_1_1_object_table_entry.html#a5e9f1f13f1276feb7ea9f3f0d3cfb9f9">digest</a>[<a class="code" href="namespaceplasma.html#a9063b8c2b48b267f01082f522b5a3d61">kDigestSize</a>];</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span> };</div><div class="line"><a name="l00145"></a><sp
an class="lineno"> 145</span> </div><div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_store_info.html"> 147</a></span> <span class="keyword">struct </span><a class="code" href="structplasma_1_1_plasma_store_info.html">PlasmaStoreInfo</a> {</div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_store_info.html#a1972fc2e24de109bae2293746a7ad990"> 149</a></span>  std::unordered_map<ObjectID, std::unique_ptr<ObjectTableEntry>, <a class="code" href="structplasma_1_1_unique_i_d_hasher.html">UniqueIDHasher</a>> <a class="code" href="structplasma_1_1_plasma_store_info.html#a1972fc2e24de109bae2293746a7ad990">objects</a>;</div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_store_info.html#a0ff2596ca76b82f76c5b10a9859fe227"> 152</a></span>  int64_t <a class="code" href="structplasma_1_1_p
lasma_store_info.html#a0ff2596ca76b82f76c5b10a9859fe227">memory_capacity</a>;</div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_store_info.html#adfe6fe4ff281fdd8e613b82349755b40"> 157</a></span>  <span class="keywordtype">bool</span> <a class="code" href="structplasma_1_1_plasma_store_info.html#adfe6fe4ff281fdd8e613b82349755b40">hugepages_enabled</a>;</div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_store_info.html#ad02e9ada92a04926e44d0f602e137211"> 159</a></span>  std::string <a class="code" href="structplasma_1_1_plasma_store_info.html#ad02e9ada92a04926e44d0f602e137211">directory</a>;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span> };</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <a class="co
de" href="structplasma_1_1_object_table_entry.html">ObjectTableEntry</a>* <a class="code" href="namespaceplasma.html#a46854628e68e69f60b04b56717117705">get_object_table_entry</a>(<a class="code" href="structplasma_1_1_plasma_store_info.html">PlasmaStoreInfo</a>* store_info,</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keyword">const</span> <a class="code" href="classplasma_1_1_unique_i_d.html">ObjectID</a>& object_id);</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keywordtype">int</span> <a class="code" href="namespaceplasma.html#aa41db5d96cf06cc5d0a65df353d3e4f3">warn_if_sigpipe</a>(<span class="keywordtype">int</span> status, <span class="keywordtype">int</span> client_sock);</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>
60;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span> std::unique_ptr<uint8_t[]> <a class="code" href="namespaceplasma.html#ac67fbe4c21d0af31f71cd487f601b147">create_object_info_buffer</a>(ObjectInfoT* object_info);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span> } <span class="comment">// namespace plasma</span></div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="preprocessor">#endif // PLASMA_PLASMA_H</span></div><div class="ttc" id="structplasma_1_1_plasma_object_html_ab4867adc5a1cc19e492ac0b4f3f28c1e"><div class="ttname"><a href="structplasma_1_1_plasma_object.html#ab4867adc5a1cc19e492ac0b4f3f28c1e">plasma::PlasmaObject::data_size</a></div><div class="ttdeci">int64_t data_size</div><div class="tt
doc">The size in bytes of the data. </div><div class="ttdef"><b>Definition:</b> plasma.h:91</div></div>
+<div class="ttc" id="structplasma_1_1_plasma_object_html_a5dc6549d0495eeca800dcb15a070b228"><div class="ttname"><a href="structplasma_1_1_plasma_object.html#a5dc6549d0495eeca800dcb15a070b228">plasma::PlasmaObject::store_fd</a></div><div class="ttdeci">int store_fd</div><div class="ttdoc">The file descriptor of the memory mapped file in the store. </div><div class="ttdef"><b>Definition:</b> plasma.h:85</div></div>
+<div class="ttc" id="structplasma_1_1_object_table_entry_html_ac1e7e9a3ae306848e6352ee683e45a19"><div class="ttname"><a href="structplasma_1_1_object_table_entry.html#ac1e7e9a3ae306848e6352ee683e45a19">plasma::ObjectTableEntry::~ObjectTableEntry</a></div><div class="ttdeci">~ObjectTableEntry()</div></div>
+<div class="ttc" id="structplasma_1_1_plasma_store_info_html"><div class="ttname"><a href="structplasma_1_1_plasma_store_info.html">plasma::PlasmaStoreInfo</a></div><div class="ttdoc">The plasma store information that is exposed to the eviction policy. </div><div class="ttdef"><b>Definition:</b> plasma.h:147</div></div>
<div class="ttc" id="string_8h_html"><div class="ttname"><a href="string_8h.html">string.h</a></div></div>
-<div class="ttc" id="namespaceplasma_html_a1e58580ac8c3886f75e1c8b645691067"><div class="ttname"><a href="namespaceplasma.html#a1e58580ac8c3886f75e1c8b645691067">plasma::ObjectRequestMap</a></div><div class="ttdeci">std::unordered_map< ObjectID, ObjectRequest, UniqueIDHasher > ObjectRequestMap</div><div class="ttdoc">Mapping from object IDs to type and status of the request. </div><div class="ttdef"><b>Definition:</b> plasma.h:70</div></div>
-<div class="ttc" id="structplasma_1_1_object_table_entry_html_aec98fc3472884f486cf37d4ae2728bc0"><div class="ttname"><a href="structplasma_1_1_object_table_entry.html#aec98fc3472884f486cf37d4ae2728bc0">plasma::ObjectTableEntry::state</a></div><div class="ttdeci">object_state state</div><div class="ttdoc">The state of the object, e.g., whether it is open or sealed. </div><div class="ttdef"><b>Definition:</b> plasma.h:135</div></div>
-<div class="ttc" id="namespaceplasma_html_ae5b518ae619aa1389d8848ae462c04cfabe7a1421a04eaf44e5e8700e22d342f8"><div class="ttname"><a href="namespaceplasma.html#ae5b518ae619aa1389d8848ae462c04cfabe7a1421a04eaf44e5e8700e22d342f8">plasma::PLASMA_CREATED</a></div><div class="ttdoc">Object was created but not sealed in the local Plasma Store. </div><div class="ttdef"><b>Definition:</b> plasma.h:99</div></div>
+<div class="ttc" id="namespaceplasma_html_a1e58580ac8c3886f75e1c8b645691067"><div class="ttname"><a href="namespaceplasma.html#a1e58580ac8c3886f75e1c8b645691067">plasma::ObjectRequestMap</a></div><div class="ttdeci">std::unordered_map< ObjectID, ObjectRequest, UniqueIDHasher > ObjectRequestMap</div><div class="ttdoc">Mapping from object IDs to type and status of the request. </div><div class="ttdef"><b>Definition:</b> plasma.h:71</div></div>
+<div class="ttc" id="structplasma_1_1_object_table_entry_html_aec98fc3472884f486cf37d4ae2728bc0"><div class="ttname"><a href="structplasma_1_1_object_table_entry.html#aec98fc3472884f486cf37d4ae2728bc0">plasma::ObjectTableEntry::state</a></div><div class="ttdeci">object_state state</div><div class="ttdoc">The state of the object, e.g., whether it is open or sealed. </div><div class="ttdef"><b>Definition:</b> plasma.h:141</div></div>
+<div class="ttc" id="namespaceplasma_html_ae5b518ae619aa1389d8848ae462c04cfabe7a1421a04eaf44e5e8700e22d342f8"><div class="ttname"><a href="namespaceplasma.html#ae5b518ae619aa1389d8848ae462c04cfabe7a1421a04eaf44e5e8700e22d342f8">plasma::PLASMA_CREATED</a></div><div class="ttdoc">Object was created but not sealed in the local Plasma Store. </div><div class="ttdef"><b>Definition:</b> plasma.h:100</div></div>
<div class="ttc" id="namespaceplasma_html_aa41db5d96cf06cc5d0a65df353d3e4f3"><div class="ttname"><a href="namespaceplasma.html#aa41db5d96cf06cc5d0a65df353d3e4f3">plasma::warn_if_sigpipe</a></div><div class="ttdeci">int warn_if_sigpipe(int status, int client_sock)</div><div class="ttdoc">Print a warning if the status is less than zero. </div></div>
-<div class="ttc" id="structplasma_1_1_plasma_store_info_html_a0ff2596ca76b82f76c5b10a9859fe227"><div class="ttname"><a href="structplasma_1_1_plasma_store_info.html#a0ff2596ca76b82f76c5b10a9859fe227">plasma::PlasmaStoreInfo::memory_capacity</a></div><div class="ttdeci">int64_t memory_capacity</div><div class="ttdoc">The amount of memory (in bytes) that we allow to be allocated in the store. </div><div class="ttdef"><b>Definition:</b> plasma.h:146</div></div>
-<div class="ttc" id="namespaceplasma_html_ab0498a778ef73ba70e2865dd2d4e9c8ea8d77ab62b1fadb69d4e9830e70a82a64"><div class="ttname"><a href="namespaceplasma.html#ab0498a778ef73ba70e2865dd2d4e9c8ea8d77ab62b1fadb69d4e9830e70a82a64">plasma::OBJECT_FOUND</a></div><div class="ttdoc">The object was found. </div><div class="ttdef"><b>Definition:</b> plasma.h:108</div></div>
-<div class="ttc" id="structplasma_1_1_object_table_entry_html_ab207201f0078aad245feded8863296f9"><div class="ttname"><a href="structplasma_1_1_object_table_entry.html#ab207201f0078aad245feded8863296f9">plasma::ObjectTableEntry::device_num</a></div><div class="ttdeci">int device_num</div><div class="ttdoc">Device number. </div><div class="ttdef"><b>Definition:</b> plasma.h:121</div></div>
-<div class="ttc" id="structplasma_1_1_object_table_entry_html_a81c1540a4fba32f6aadb56b617f549bf"><div class="ttname"><a href="structplasma_1_1_object_table_entry.html#a81c1540a4fba32f6aadb56b617f549bf">plasma::ObjectTableEntry::pointer</a></div><div class="ttdeci">uint8_t * pointer</div><div class="ttdoc">Pointer to the object data. Needed to free the object. </div><div class="ttdef"><b>Definition:</b> plasma.h:127</div></div>
-<div class="ttc" id="namespaceplasma_html_ae5b518ae619aa1389d8848ae462c04cf"><div class="ttname"><a href="namespaceplasma.html#ae5b518ae619aa1389d8848ae462c04cf">plasma::object_state</a></div><div class="ttdeci">object_state</div><div class="ttdef"><b>Definition:</b> plasma.h:97</div></div>
+<div class="ttc" id="structplasma_1_1_plasma_store_info_html_a0ff2596ca76b82f76c5b10a9859fe227"><div class="ttname"><a href="structplasma_1_1_plasma_store_info.html#a0ff2596ca76b82f76c5b10a9859fe227">plasma::PlasmaStoreInfo::memory_capacity</a></div><div class="ttdeci">int64_t memory_capacity</div><div class="ttdoc">The amount of memory (in bytes) that we allow to be allocated in the store. </div><div class="ttdef"><b>Definition:</b> plasma.h:152</div></div>
+<div class="ttc" id="namespaceplasma_html_ab0498a778ef73ba70e2865dd2d4e9c8ea8d77ab62b1fadb69d4e9830e70a82a64"><div class="ttname"><a href="namespaceplasma.html#ab0498a778ef73ba70e2865dd2d4e9c8ea8d77ab62b1fadb69d4e9830e70a82a64">plasma::OBJECT_FOUND</a></div><div class="ttdoc">The object was found. </div><div class="ttdef"><b>Definition:</b> plasma.h:109</div></div>
+<div class="ttc" id="structplasma_1_1_object_table_entry_html_ab207201f0078aad245feded8863296f9"><div class="ttname"><a href="structplasma_1_1_object_table_entry.html#ab207201f0078aad245feded8863296f9">plasma::ObjectTableEntry::device_num</a></div><div class="ttdeci">int device_num</div><div class="ttdoc">Device number. </div><div class="ttdef"><b>Definition:</b> plasma.h:126</div></div>
+<div class="ttc" id="structplasma_1_1_object_table_entry_html_a81c1540a4fba32f6aadb56b617f549bf"><div class="ttname"><a href="structplasma_1_1_object_table_entry.html#a81c1540a4fba32f6aadb56b617f549bf">plasma::ObjectTableEntry::pointer</a></div><div class="ttdeci">uint8_t * pointer</div><div class="ttdoc">Pointer to the object data. Needed to free the object. </div><div class="ttdef"><b>Definition:</b> plasma.h:132</div></div>
+<div class="ttc" id="namespaceplasma_html_ae5b518ae619aa1389d8848ae462c04cf"><div class="ttname"><a href="namespaceplasma.html#ae5b518ae619aa1389d8848ae462c04cf">plasma::object_state</a></div><div class="ttdeci">object_state</div><div class="ttdef"><b>Definition:</b> plasma.h:98</div></div>
<div class="ttc" id="classplasma_1_1_unique_i_d_html"><div class="ttname"><a href="classplasma_1_1_unique_i_d.html">plasma::UniqueID</a></div><div class="ttdef"><b>Definition:</b> common.h:38</div></div>
-<div class="ttc" id="namespaceplasma_html_ae5b518ae619aa1389d8848ae462c04cfa9e6dce5e138ee0102cf05d9fe389ee36"><div class="ttname"><a href="namespaceplasma.html#ae5b518ae619aa1389d8848ae462c04cfa9e6dce5e138ee0102cf05d9fe389ee36">plasma::PLASMA_SEALED</a></div><div class="ttdoc">Object is sealed and stored in the local Plasma Store. </div><div class="ttdef"><b>Definition:</b> plasma.h:101</div></div>
-<div class="ttc" id="structplasma_1_1_object_table_entry_html_a5e9f1f13f1276feb7ea9f3f0d3cfb9f9"><div class="ttname"><a href="structplasma_1_1_object_table_entry.html#a5e9f1f13f1276feb7ea9f3f0d3cfb9f9">plasma::ObjectTableEntry::digest</a></div><div class="ttdeci">unsigned char digest[kDigestSize]</div><div class="ttdoc">The digest of the object. Used to see if two objects are the same. </div><div class="ttdef"><b>Definition:</b> plasma.h:137</div></div>
-<div class="ttc" id="structplasma_1_1_plasma_object_html_ad12648a15f841885eb9543b200382352"><div class="ttname"><a href="structplasma_1_1_plasma_object.html#ad12648a15f841885eb9543b200382352">plasma::PlasmaObject::metadata_offset</a></div><div class="ttdeci">ptrdiff_t metadata_offset</div><div class="ttdoc">The offset in bytes in the memory mapped file of the metadata. </div><div class="ttdef"><b>Definition:</b> plasma.h:88</div></div>
-<div class="ttc" id="structplasma_1_1_plasma_object_html_a82a59120f6c86f8cf5121c6a100718fb"><div class="ttname"><a href="structplasma_1_1_plasma_object.html#a82a59120f6c86f8cf5121c6a100718fb">plasma::PlasmaObject::metadata_size</a></div><div class="ttdeci">int64_t metadata_size</div><div class="ttdoc">The size in bytes of the metadata. </div><div class="ttdef"><b>Definition:</b> plasma.h:92</div></div>
+<div class="ttc" id="namespaceplasma_html_ae5b518ae619aa1389d8848ae462c04cfa9e6dce5e138ee0102cf05d9fe389ee36"><div class="ttname"><a href="namespaceplasma.html#ae5b518ae619aa1389d8848ae462c04cfa9e6dce5e138ee0102cf05d9fe389ee36">plasma::PLASMA_SEALED</a></div><div class="ttdoc">Object is sealed and stored in the local Plasma Store. </div><div class="ttdef"><b>Definition:</b> plasma.h:102</div></div>
+<div class="ttc" id="structplasma_1_1_object_table_entry_html_ab541db85cc8f35e2bb758ef84a2e2a6f"><div class="ttname"><a href="structplasma_1_1_object_table_entry.html#ab541db85cc8f35e2bb758ef84a2e2a6f">plasma::ObjectTableEntry::ObjectTableEntry</a></div><div class="ttdeci">ObjectTableEntry()</div></div>
+<div class="ttc" id="structplasma_1_1_object_table_entry_html_a5e9f1f13f1276feb7ea9f3f0d3cfb9f9"><div class="ttname"><a href="structplasma_1_1_object_table_entry.html#a5e9f1f13f1276feb7ea9f3f0d3cfb9f9">plasma::ObjectTableEntry::digest</a></div><div class="ttdeci">unsigned char digest[kDigestSize]</div><div class="ttdoc">The digest of the object. Used to see if two objects are the same. </div><div class="ttdef"><b>Definition:</b> plasma.h:143</div></div>
+<div class="ttc" id="structplasma_1_1_plasma_object_html_ad12648a15f841885eb9543b200382352"><div class="ttname"><a href="structplasma_1_1_plasma_object.html#ad12648a15f841885eb9543b200382352">plasma::PlasmaObject::metadata_offset</a></div><div class="ttdeci">ptrdiff_t metadata_offset</div><div class="ttdoc">The offset in bytes in the memory mapped file of the metadata. </div><div class="ttdef"><b>Definition:</b> plasma.h:89</div></div>
+<div class="ttc" id="structplasma_1_1_plasma_object_html_a82a59120f6c86f8cf5121c6a100718fb"><div class="ttname"><a href="structplasma_1_1_plasma_object.html#a82a59120f6c86f8cf5121c6a100718fb">plasma::PlasmaObject::metadata_size</a></div><div class="ttdeci">int64_t metadata_size</div><div class="ttdoc">The size in bytes of the metadata. </div><div class="ttdef"><b>Definition:</b> plasma.h:93</div></div>
<div class="ttc" id="logging_8h_html"><div class="ttname"><a href="logging_8h.html">logging.h</a></div></div>
-<div class="ttc" id="structplasma_1_1_object_table_entry_html_aaa57d2e583e6e3d9f71f8f4c32ecbaf1"><div class="ttname"><a href="structplasma_1_1_object_table_entry.html#aaa57d2e583e6e3d9f71f8f4c32ecbaf1">plasma::ObjectTableEntry::info</a></div><div class="ttdeci">ObjectInfoT info</div><div class="ttdoc">Object info like size, creation time and owner. </div><div class="ttdef"><b>Definition:</b> plasma.h:117</div></div>
+<div class="ttc" id="structplasma_1_1_object_table_entry_html_aaa57d2e583e6e3d9f71f8f4c32ecbaf1"><div class="ttname"><a href="structplasma_1_1_object_table_entry.html#aaa57d2e583e6e3d9f71f8f4c32ecbaf1">plasma::ObjectTableEntry::info</a></div><div class="ttdeci">ObjectInfoT info</div><div class="ttdoc">Object info like size, creation time and owner. </div><div class="ttdef"><b>Definition:</b> plasma.h:122</div></div>
<div class="ttc" id="namespaceplasma_html_a9063b8c2b48b267f01082f522b5a3d61"><div class="ttname"><a href="namespaceplasma.html#a9063b8c2b48b267f01082f522b5a3d61">plasma::kDigestSize</a></div><div class="ttdeci">constexpr int64_t kDigestSize</div><div class="ttdoc">Size of object hash digests. </div><div class="ttdef"><b>Definition:</b> common.h:68</div></div>
-<div class="ttc" id="structplasma_1_1_object_table_entry_html_ad4be5131163cdb8b8088bbb87d79e52f"><div class="ttname"><a href="structplasma_1_1_object_table_entry.html#ad4be5131163cdb8b8088bbb87d79e52f">plasma::ObjectTableEntry::clients</a></div><div class="ttdeci">std::unordered_set< Client * > clients</div><div class="ttdoc">Set of clients currently using this object. </div><div class="ttdef"><b>Definition:</b> plasma.h:133</div></div>
-<div class="ttc" id="structplasma_1_1_plasma_object_html"><div class="ttname"><a href="structplasma_1_1_plasma_object.html">plasma::PlasmaObject</a></div><div class="ttdef"><b>Definition:</b> plasma.h:76</div></div>
-<div class="ttc" id="classarrow_1_1gpu_1_1_cuda_ipc_mem_handle_html"><div class="ttname"><a href="classarrow_1_1gpu_1_1_cuda_ipc_mem_handle.html">arrow::gpu::CudaIpcMemHandle</a></div><div class="ttdef"><b>Definition:</b> cuda_memory.h:89</div></div>
+<div class="ttc" id="macros_8h_html"><div class="ttname"><a href="macros_8h.html">macros.h</a></div></div>
+<div class="ttc" id="structplasma_1_1_plasma_object_html"><div class="ttname"><a href="structplasma_1_1_plasma_object.html">plasma::PlasmaObject</a></div><div class="ttdef"><b>Definition:</b> plasma.h:77</div></div>
+<div class="ttc" id="classarrow_1_1gpu_1_1_cuda_ipc_mem_handle_html"><div class="ttname"><a href="classarrow_1_1gpu_1_1_cuda_ipc_mem_handle.html">arrow::gpu::CudaIpcMemHandle</a></div><div class="ttdef"><b>Definition:</b> cuda_memory.h:98</div></div>
<div class="ttc" id="plasma_2common_8h_html"><div class="ttname"><a href="plasma_2common_8h.html">common.h</a></div></div>
-<div class="ttc" id="structplasma_1_1_client_html"><div class="ttname"><a href="structplasma_1_1_client.html">plasma::Client</a></div><div class="ttdoc">Contains all information that is associated with a Plasma store client. </div><div class="ttdef"><b>Definition:</b> store.h:44</div></div>
-<div class="ttc" id="structplasma_1_1_object_table_entry_html_a017587b5df1643c7784318decc20d34e"><div class="ttname"><a href="structplasma_1_1_object_table_entry.html#a017587b5df1643c7784318decc20d34e">plasma::ObjectTableEntry::fd</a></div><div class="ttdeci">int fd</div><div class="ttdoc">Memory mapped file containing the object. </div><div class="ttdef"><b>Definition:</b> plasma.h:119</div></div>
-<div class="ttc" id="namespaceplasma_html_ab0498a778ef73ba70e2865dd2d4e9c8ea7b268f74adc8d8d5f5509f4ff4064379"><div class="ttname"><a href="namespaceplasma.html#ab0498a778ef73ba70e2865dd2d4e9c8ea7b268f74adc8d8d5f5509f4ff4064379">plasma::OBJECT_NOT_FOUND</a></div><div class="ttdoc">The object was not found. </div><div class="ttdef"><b>Definition:</b> plasma.h:106</div></div>
-<div class="ttc" id="structplasma_1_1_object_table_entry_html_ad8d70024aa976b7d1e71a5b76f3a9704"><div class="ttname"><a href="structplasma_1_1_object_table_entry.html#ad8d70024aa976b7d1e71a5b76f3a9704">plasma::ObjectTableEntry::map_size</a></div><div class="ttdeci">int64_t map_size</div><div class="ttdoc">Size of the underlying map. </div><div class="ttdef"><b>Definition:</b> plasma.h:123</div></div>
-<div class="ttc" id="namespaceplasma_html"><div class="ttname"><a href="namespaceplasma.html">plasma</a></div><div class="ttdef"><b>Definition:</b> client.h:40</div></div>
+<div class="ttc" id="structplasma_1_1_client_html"><div class="ttname"><a href="structplasma_1_1_client.html">plasma::Client</a></div><div class="ttdoc">Contains all information that is associated with a Plasma store client. </div><div class="ttdef"><b>Definition:</b> store.h:45</div></div>
+<div class="ttc" id="structplasma_1_1_object_table_entry_html_a017587b5df1643c7784318decc20d34e"><div class="ttname"><a href="structplasma_1_1_object_table_entry.html#a017587b5df1643c7784318decc20d34e">plasma::ObjectTableEntry::fd</a></div><div class="ttdeci">int fd</div><div class="ttdoc">Memory mapped file containing the object. </div><div class="ttdef"><b>Definition:</b> plasma.h:124</div></div>
+<div class="ttc" id="namespaceplasma_html_ab0498a778ef73ba70e2865dd2d4e9c8ea7b268f74adc8d8d5f5509f4ff4064379"><div class="ttname"><a href="namespaceplasma.html#ab0498a778ef73ba70e2865dd2d4e9c8ea7b268f74adc8d8d5f5509f4ff4064379">plasma::OBJECT_NOT_FOUND</a></div><div class="ttdoc">The object was not found. </div><div class="ttdef"><b>Definition:</b> plasma.h:107</div></div>
+<div class="ttc" id="structplasma_1_1_object_table_entry_html_ad8d70024aa976b7d1e71a5b76f3a9704"><div class="ttname"><a href="structplasma_1_1_object_table_entry.html#ad8d70024aa976b7d1e71a5b76f3a9704">plasma::ObjectTableEntry::map_size</a></div><div class="ttdeci">int64_t map_size</div><div class="ttdoc">Size of the underlying map. </div><div class="ttdef"><b>Definition:</b> plasma.h:128</div></div>
+<div class="ttc" id="structplasma_1_1_object_table_entry_html_a58a99155925ac7ebaf67e2b9db4d4ecf"><div class="ttname"><a href="structplasma_1_1_object_table_entry.html#a58a99155925ac7ebaf67e2b9db4d4ecf">plasma::ObjectTableEntry::ref_count</a></div><div class="ttdeci">int ref_count</div><div class="ttdoc">Number of clients currently using this object. </div><div class="ttdef"><b>Definition:</b> plasma.h:138</div></div>
+<div class="ttc" id="namespaceplasma_html"><div class="ttname"><a href="namespaceplasma.html">plasma</a></div><div class="ttdef"><b>Definition:</b> client.h:35</div></div>
<div class="ttc" id="compat_8h_html"><div class="ttname"><a href="compat_8h.html">compat.h</a></div></div>
<div class="ttc" id="structplasma_1_1_unique_i_d_hasher_html"><div class="ttname"><a href="structplasma_1_1_unique_i_d_hasher.html">plasma::UniqueIDHasher</a></div><div class="ttdef"><b>Definition:</b> common.h:54</div></div>
-<div class="ttc" id="structplasma_1_1_object_table_entry_html_a9b35a72da1a4ca1f0b9970b9f7e53072"><div class="ttname"><a href="structplasma_1_1_object_table_entry.html#a9b35a72da1a4ca1f0b9970b9f7e53072">plasma::ObjectTableEntry::object_id</a></div><div class="ttdeci">ObjectID object_id</div><div class="ttdoc">Object id of this object. </div><div class="ttdef"><b>Definition:</b> plasma.h:115</div></div>
-<div class="ttc" id="structplasma_1_1_plasma_store_info_html_a1972fc2e24de109bae2293746a7ad990"><div class="ttname"><a href="structplasma_1_1_plasma_store_info.html#a1972fc2e24de109bae2293746a7ad990">plasma::PlasmaStoreInfo::objects</a></div><div class="ttdeci">std::unordered_map< ObjectID, std::unique_ptr< ObjectTableEntry >, UniqueIDHasher > objects</div><div class="ttdoc">Objects that are in the Plasma store. </div><div class="ttdef"><b>Definition:</b> plasma.h:143</div></div>
-<div class="ttc" id="structplasma_1_1_plasma_store_info_html_ad02e9ada92a04926e44d0f602e137211"><div class="ttname"><a href="structplasma_1_1_plasma_store_info.html#ad02e9ada92a04926e44d0f602e137211">plasma::PlasmaStoreInfo::directory</a></div><div class="ttdeci">std::string directory</div><div class="ttdoc">A (platform-dependent) directory where to create the memory-backed file. </div><div class="ttdef"><b>Definition:</b> plasma.h:153</div></div>
+<div class="ttc" id="structplasma_1_1_object_table_entry_html_a9b35a72da1a4ca1f0b9970b9f7e53072"><div class="ttname"><a href="structplasma_1_1_object_table_entry.html#a9b35a72da1a4ca1f0b9970b9f7e53072">plasma::ObjectTableEntry::object_id</a></div><div class="ttdeci">ObjectID object_id</div><div class="ttdoc">Object id of this object. </div><div class="ttdef"><b>Definition:</b> plasma.h:120</div></div>
+<div class="ttc" id="structplasma_1_1_plasma_store_info_html_a1972fc2e24de109bae2293746a7ad990"><div class="ttname"><a href="structplasma_1_1_plasma_store_info.html#a1972fc2e24de109bae2293746a7ad990">plasma::PlasmaStoreInfo::objects</a></div><div class="ttdeci">std::unordered_map< ObjectID, std::unique_ptr< ObjectTableEntry >, UniqueIDHasher > objects</div><div class="ttdoc">Objects that are in the Plasma store. </div><div class="ttdef"><b>Definition:</b> plasma.h:149</div></div>
+<div class="ttc" id="structplasma_1_1_plasma_store_info_html_ad02e9ada92a04926e44d0f602e137211"><div class="ttname"><a href="structplasma_1_1_plasma_store_info.html#ad02e9ada92a04926e44d0f602e137211">plasma::PlasmaStoreInfo::directory</a></div><div class="ttdeci">std::string directory</div><div class="ttdoc">A (platform-dependent) directory where to create the memory-backed file. </div><div class="ttdef"><b>Definition:</b> plasma.h:159</div></div>
<div class="ttc" id="status_8h_html"><div class="ttname"><a href="status_8h.html">status.h</a></div></div>
<div class="ttc" id="namespaceplasma_html_a46854628e68e69f60b04b56717117705"><div class="ttname"><a href="namespaceplasma.html#a46854628e68e69f60b04b56717117705">plasma::get_object_table_entry</a></div><div class="ttdeci">ObjectTableEntry * get_object_table_entry(PlasmaStoreInfo *store_info, const ObjectID &object_id)</div><div class="ttdoc">Get an entry from the object table and return NULL if the object_id is not present. </div></div>
-<div class="ttc" id="structplasma_1_1_plasma_object_html_a70bc754d9973cfcc954610464fa53443"><div class="ttname"><a href="structplasma_1_1_plasma_object.html#a70bc754d9973cfcc954610464fa53443">plasma::PlasmaObject::data_offset</a></div><div class="ttdeci">ptrdiff_t data_offset</div><div class="ttdoc">The offset in bytes in the memory mapped file of the data. </div><div class="ttdef"><b>Definition:</b> plasma.h:86</div></div>
-<div class="ttc" id="namespaceplasma_html_ab0498a778ef73ba70e2865dd2d4e9c8e"><div class="ttname"><a href="namespaceplasma.html#ab0498a778ef73ba70e2865dd2d4e9c8e">plasma::object_status</a></div><div class="ttdeci">object_status</div><div class="ttdef"><b>Definition:</b> plasma.h:104</div></div>
+<div class="ttc" id="structplasma_1_1_plasma_object_html_a70bc754d9973cfcc954610464fa53443"><div class="ttname"><a href="structplasma_1_1_plasma_object.html#a70bc754d9973cfcc954610464fa53443">plasma::PlasmaObject::data_offset</a></div><div class="ttdeci">ptrdiff_t data_offset</div><div class="ttdoc">The offset in bytes in the memory mapped file of the data. </div><div class="ttdef"><b>Definition:</b> plasma.h:87</div></div>
+<div class="ttc" id="namespaceplasma_html_ab0498a778ef73ba70e2865dd2d4e9c8e"><div class="ttname"><a href="namespaceplasma.html#ab0498a778ef73ba70e2865dd2d4e9c8e">plasma::object_status</a></div><div class="ttdeci">object_status</div><div class="ttdef"><b>Definition:</b> plasma.h:105</div></div>
+<div class="ttc" id="namespaceplasma_html_ac67fbe4c21d0af31f71cd487f601b147"><div class="ttname"><a href="namespaceplasma.html#ac67fbe4c21d0af31f71cd487f601b147">plasma::create_object_info_buffer</a></div><div class="ttdeci">std::unique_ptr< uint8_t[]> create_object_info_buffer(ObjectInfoT *object_info)</div></div>
<div class="ttc" id="cuda__api_8h_html"><div class="ttname"><a href="cuda__api_8h.html">cuda_api.h</a></div></div>
-<div class="ttc" id="structplasma_1_1_object_table_entry_html_a119a8275cb3f0749c6e2aedd7d938bd8"><div class="ttname"><a href="structplasma_1_1_object_table_entry.html#a119a8275cb3f0749c6e2aedd7d938bd8">plasma::ObjectTableEntry::offset</a></div><div class="ttdeci">ptrdiff_t offset</div><div class="ttdoc">Offset from the base of the mmap. </div><div class="ttdef"><b>Definition:</b> plasma.h:125</div></div>
-<div class="ttc" id="structplasma_1_1_plasma_store_info_html_adfe6fe4ff281fdd8e613b82349755b40"><div class="ttname"><a href="structplasma_1_1_plasma_store_info.html#adfe6fe4ff281fdd8e613b82349755b40">plasma::PlasmaStoreInfo::hugepages_enabled</a></div><div class="ttdeci">bool hugepages_enabled</div><div class="ttdoc">Boolean flag indicating whether to start the object store with hugepages support enabled. </div><div class="ttdef"><b>Definition:</b> plasma.h:151</div></div>
-<div class="ttc" id="structplasma_1_1_plasma_object_html_ab03153afe375e6725965cee6d22e80d8"><div class="ttname"><a href="structplasma_1_1_plasma_object.html#ab03153afe375e6725965cee6d22e80d8">plasma::PlasmaObject::device_num</a></div><div class="ttdeci">int device_num</div><div class="ttdoc">Device number object is on. </div><div class="ttdef"><b>Definition:</b> plasma.h:94</div></div>
-<div class="ttc" id="structplasma_1_1_object_table_entry_html"><div class="ttname"><a href="structplasma_1_1_object_table_entry.html">plasma::ObjectTableEntry</a></div><div class="ttdoc">This type is used by the Plasma store. </div><div class="ttdef"><b>Definition:</b> plasma.h:113</div></div>
+<div class="ttc" id="structplasma_1_1_object_table_entry_html_a119a8275cb3f0749c6e2aedd7d938bd8"><div class="ttname"><a href="structplasma_1_1_object_table_entry.html#a119a8275cb3f0749c6e2aedd7d938bd8">plasma::ObjectTableEntry::offset</a></div><div class="ttdeci">ptrdiff_t offset</div><div class="ttdoc">Offset from the base of the mmap. </div><div class="ttdef"><b>Definition:</b> plasma.h:130</div></div>
+<div class="ttc" id="structplasma_1_1_plasma_store_info_html_adfe6fe4ff281fdd8e613b82349755b40"><div class="ttname"><a href="structplasma_1_1_plasma_store_info.html#adfe6fe4ff281fdd8e613b82349755b40">plasma::PlasmaStoreInfo::hugepages_enabled</a></div><div class="ttdeci">bool hugepages_enabled</div><div class="ttdoc">Boolean flag indicating whether to start the object store with hugepages support enabled. </div><div class="ttdef"><b>Definition:</b> plasma.h:157</div></div>
+<div class="ttc" id="structplasma_1_1_plasma_object_html_ab03153afe375e6725965cee6d22e80d8"><div class="ttname"><a href="structplasma_1_1_plasma_object.html#ab03153afe375e6725965cee6d22e80d8">plasma::PlasmaObject::device_num</a></div><div class="ttdeci">int device_num</div><div class="ttdoc">Device number object is on. </div><div class="ttdef"><b>Definition:</b> plasma.h:95</div></div>
+<div class="ttc" id="namespaceplasma_html_a1cb36d2ae0e90107e1b466197706e24c"><div class="ttname"><a href="namespaceplasma.html#a1cb36d2ae0e90107e1b466197706e24c">plasma::kBlockSize</a></div><div class="ttdeci">constexpr int64_t kBlockSize</div><div class="ttdoc">Allocation granularity used in plasma for object allocation. </div><div class="ttdef"><b>Definition:</b> plasma.h:69</div></div>
+<div class="ttc" id="structplasma_1_1_object_table_entry_html"><div class="ttname"><a href="structplasma_1_1_object_table_entry.html">plasma::ObjectTableEntry</a></div><div class="ttdoc">This type is used by the Plasma store. </div><div class="ttdef"><b>Definition:</b> plasma.h:114</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>