http://git-wip-us.apache.org/repos/asf/arrow-site/blob/4c7c2f1b/docs/cpp/plasma_8h_source.html ---------------------------------------------------------------------- diff --git a/docs/cpp/plasma_8h_source.html b/docs/cpp/plasma_8h_source.html index aa52694..b0ed133 100644 --- a/docs/cpp/plasma_8h_source.html +++ b/docs/cpp/plasma_8h_source.html @@ -70,50 +70,51 @@ $(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 <string></span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <unordered_map></span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <unordered_set></span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div><di v class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "<a class="code" href="compat_8h.html">plasma/compat.h</a>"</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "<a class="code" href="status_8h.html">arrow/status.h</a>"</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "<a class="code" href="logging_8h.html">arrow/util/logging.h</a>"</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "<a class="code" href="plasma_2common_8h.html">plasma/common.h</a>"</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include " ;plasma/common_generated.h"</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keyword">namespace </span><a class="code" href="namespaceplasma.html">plasma</a> {</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="plasma_8h.html#a5a339f6de3598691949f20d166212131"> 43</a></span> <span class="preprocessor">#define HANDLE_SIGPIPE(s, fd_) \</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"> do { \</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor"> Status _s = (s); \</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor"> if (!_s.ok()) { \</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor"> if (errno == EPIPE || errno == EBADF || errno == ECONNRESET) { \</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor"> ARROW_LOG(WARNING) \</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor"> << "Received SIGPIPE, BAD FILE DESCRIPTOR, or ECONNRESET when " \</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor"> "sending a message t o client on fd " \</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor"> << fd_ << ". " \</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"> "The client on the other end may have hung up."; \</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor"> } else { \</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor"> return _s; \</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor"> } \</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor"> } \</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor"> } while (0);</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="plasma_8h.html#ad51ded0bbd705f02f73fc60c0b721ced"> 60</a></span> <span class="preprocessor">#define BLOCK_SIZE 64</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="namespaceplasma.html#a1e58580ac8c3886f75e1c8b645691067"> 62</a></span> <span class="keyword">struct </span><a class="code" href= "structplasma_1_1_client.html">Client</a>;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div><div class="line"><a name="l00065"></a><span class="lineno"> 65</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="l00066"></a><span class="lineno"> 66</span> </div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="structplasma_1_1object__handle.html"> 68</a></span> <span class="keyword">struct </span><a class="code" href="structplasma_1_1object__handle.html">object_handle</a> {</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="structplasma_1_1object__handle.html#ac5d58e5da71631e60d72ba8fc5e5dc51"> 72</a></span>  <span class="keywordtype">int</span> <a class="code" href ="structplasma_1_1object__handle.html#ac5d58e5da71631e60d72ba8fc5e5dc51">store_fd</a>;</div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="structplasma_1_1object__handle.html#a6cbc7351c0d1c6fd641730b0b2a19874"> 74</a></span>  int64_t <a class="code" href="structplasma_1_1object__handle.html#a6cbc7351c0d1c6fd641730b0b2a19874">mmap_size</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> </div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">// TODO(pcm): Replace this by the flatbuffers message PlasmaObjectSpec.</span></div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_object.html"> 78</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="l00080"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_object.html#ab2a2cf8dac87a56c328f6b2c7690fe45"> 80</a></span>  <a class="code" href="structplasma_1_1object__handle.html">object_handle</a> <a class="code" href="structplasma_1_1_plasma_object.html#ab2a2cf8dac87a56c328f6b2c7690fe45">handle</a>;</div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_object.html#a70bc754d9973cfcc954610464fa53443"> 82</a></span>  ptrdiff_t <a class="code" href="structplasma_1_1_plasma_object.html#a70bc754d9973cfcc954610464fa53443">data_offset</a>;</div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_object.html#ad12648a15f841885eb9543b200382352"> 84</a></span>  ptrdiff_t <a class="code" href="structplasma_1_1_plasma_object.html#ad12648a15f841885eb9543b200382352">metadata_offset</a>;</div><div class="line"> <a name="l00086"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_object.html#ab4867adc5a1cc19e492ac0b4f3f28c1e"> 86</a></span>  int64_t <a class="code" href="structplasma_1_1_plasma_object.html#ab4867adc5a1cc19e492ac0b4f3f28c1e">data_size</a>;</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_object.html#a82a59120f6c86f8cf5121c6a100718fb"> 88</a></span>  int64_t <a class="code" href="structplasma_1_1_plasma_object.html#a82a59120f6c86f8cf5121c6a100718fb">metadata_size</a>;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> };</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="namespaceplasma.html#ae5b518ae619aa1389d8848ae462c04cf"> 91</a></span> <span class="keyword">enum</span> <a class="code" href="namespaceplasma.html#ae5b518a e619aa1389d8848ae462c04cf">object_state</a> {</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="namespaceplasma.html#ae5b518ae619aa1389d8848ae462c04cfabe7a1421a04eaf44e5e8700e22d342f8"> 93</a></span>  <a class="code" href="namespaceplasma.html#ae5b518ae619aa1389d8848ae462c04cfabe7a1421a04eaf44e5e8700e22d342f8">PLASMA_CREATED</a> = 1,</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="namespaceplasma.html#ae5b518ae619aa1389d8848ae462c04cfa9e6dce5e138ee0102cf05d9fe389ee36"> 95</a></span>  <a class="code" href="namespaceplasma.html#ae5b518ae619aa1389d8848ae462c04cfa9e6dce5e138ee0102cf05d9fe389ee36">PLASMA_SEALED</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#ab0498a77 8ef73ba70e2865dd2d4e9c8e"> 98</a></span> <span class="keyword">enum</span> <a class="code" href="namespaceplasma.html#ab0498a778ef73ba70e2865dd2d4e9c8e">object_status</a> {</div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="namespaceplasma.html#ab0498a778ef73ba70e2865dd2d4e9c8ea7b268f74adc8d8d5f5509f4ff4064379"> 100</a></span>  <a class="code" href="namespaceplasma.html#ab0498a778ef73ba70e2865dd2d4e9c8ea7b268f74adc8d8d5f5509f4ff4064379">OBJECT_NOT_FOUND</a> = 0,</div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="namespaceplasma.html#ab0498a778ef73ba70e2865dd2d4e9c8ea8d77ab62b1fadb69d4e9830e70a82a64"> 102</a></span>  <a class="code" href="namespaceplasma.html#ab0498a778ef73ba70e2865dd2d4e9c8ea8d77ab62b1fadb69d4e9830e70a82a64">OBJECT_FOUND</a> = 1</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span> };</div><div class="line"><a name="l00104"></a><span class="linen o"> 104</span> </div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="structplasma_1_1_object_table_entry.html"> 107</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="l00109"></a><span class="lineno"><a class="line" href="structplasma_1_1_object_table_entry.html#a9b35a72da1a4ca1f0b9970b9f7e53072"> 109</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="l00111"></a><span class="lineno"><a class="line" href="structplasma_1_1_object_table_entry.html#aaa57d2e583e6e3d9f71f8f4c32ecbaf1"> 111</a></span>  ObjectInfoT <a class="code" href="structplasma_1_1_object_table_entry.html#aaa57d2e583e6e3d9f71f8f4c32ecbaf1">info</a>;</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structplasma_1_1_object_table_entry.html#a017587b5df1643c7784318decc20d34e"> 113</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="l00115"></a><span class="lineno"><a class="line" href="structplasma_1_1_object_table_entry.html#ad8d70024aa976b7d1e71a5b76f3a9704"> 115</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="l00117"></a><span class="lineno"><a class="line" href="structplasma_1_1_object_table_entry.html#a119a8275cb3f0749c6e2aedd7d938bd8"> 117</a></span>  ptrdiff_t <a class="code" href="structplasma_1_1_object_table_entry.html#a119a8275cb3f0749c6e2aedd7d938bd8">offset</a>;</div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line " href="structplasma_1_1_object_table_entry.html#a81c1540a4fba32f6aadb56b617f549bf"> 119</a></span>  uint8_t* <a class="code" href="structplasma_1_1_object_table_entry.html#a81c1540a4fba32f6aadb56b617f549bf">pointer</a>;</div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="structplasma_1_1_object_table_entry.html#ad4be5131163cdb8b8088bbb87d79e52f"> 121</a></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="l00123"></a><span class="lineno"><a class="line" href="structplasma_1_1_object_table_entry.html#aec98fc3472884f486cf37d4ae2728bc0"> 123</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="l00125"></a><s pan class="lineno"><a class="line" href="structplasma_1_1_object_table_entry.html#a5e9f1f13f1276feb7ea9f3f0d3cfb9f9"> 125</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="l00126"></a><span class="lineno"> 126</span> };</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div><div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_store_info.html"> 129</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="l00131"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_store_info.html#a19 72fc2e24de109bae2293746a7ad990"> 131</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="l00134"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_store_info.html#a0ff2596ca76b82f76c5b10a9859fe227"> 134</a></span>  int64_t <a class="code" href="structplasma_1_1_plasma_store_info.html#a0ff2596ca76b82f76c5b10a9859fe227">memory_capacity</a>;</div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_store_info.html#adfe6fe4ff281fdd8e613b82349755b40"> 139</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="l00141"></a><span class="lineno"><a class="line" href="structplasma_1_1_plasma_store_info.html#ad02e9ada92a04926e44d0f602e137211"> 141</a></span>  std::string <a class="code" href="structplasma_1_1_plasma_store_info.html#ad02e9ada92a04926e44d0f602e137211">directory</a>;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span> };</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div><div class="line"><a name="l00151"></a><span class="lineno"> 151</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="l00152"></a><span class="lineno"> 152</span>  <span class="keyword">const</span> <a c lass="code" href="classplasma_1_1_unique_i_d.html">ObjectID</a>& object_id);</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div><div class="line"><a name="l00168"></a><span class="lineno"> 168</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="l00169"></a><span class="lineno"> 169</span> </div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> uint8_t* <a class="code" href="namespaceplasma.html#a374ff7d8369d596f0280eda9cd5b5496">create_object_info_buffer</a>(ObjectInfoT* object_info);</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span> } <span class="comment">// namespace pl asma</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div><div class="line"><a name="l00174"></a><span class="lineno"> 174</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="ttdoc">The size in bytes of the data. </div><div class="ttdef"><b>Definition:</b> plasma.h:86</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="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:129</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> <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:62</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:123</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:93</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_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:134</div></div> -<div class="ttc" id="structplasma_1_1_plasma_object_html_ab2a2cf8dac87a56c328f6b2c7690fe45"><div class="ttname"><a href="structplasma_1_1_plasma_object.html#ab2a2cf8dac87a56c328f6b2c7690fe45">plasma::PlasmaObject::handle</a></div><div class="ttdeci">object_handle handle</div><div class="ttdoc">Handle for memory mapped file the object is stored in. </div><div class="ttdef"><b>Definition:</b> plasma.h:80</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:102</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:119</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:91</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="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:95</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:125</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:84</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:88</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="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:111</div></div> -<div class="ttc" id="structplasma_1_1object__handle_html_ac5d58e5da71631e60d72ba8fc5e5dc51"><div class="ttname"><a href="structplasma_1_1object__handle.html#ac5d58e5da71631e60d72ba8fc5e5dc51">plasma::object_handle::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:72</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="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:121</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:78</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="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:42</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:113</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:100</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:115</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:37</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="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:109</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:131</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:141</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="status_8h_html"><div class="ttname"><a href="status_8h.html">status.h</a></div></div> -<div class="ttc" id="structplasma_1_1object__handle_html"><div class="ttname"><a href="structplasma_1_1object__handle.html">plasma::object_handle</a></div><div class="ttdoc">Handle to access memory mapped file and map it into client address space. </div><div class="ttdef"><b>Definition:</b> plasma.h:68</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:82</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:98</div></div> -<div class="ttc" id="structplasma_1_1object__handle_html_a6cbc7351c0d1c6fd641730b0b2a19874"><div class="ttname"><a href="structplasma_1_1object__handle.html#a6cbc7351c0d1c6fd641730b0b2a19874">plasma::object_handle::mmap_size</a></div><div class="ttdeci">int64_t mmap_size</div><div class="ttdoc">The size in bytes of the memory mapped file. </div><div class="ttdef"><b>Definition:</b> plasma.h:74</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:117</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:139</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:107</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="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><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small>
http://git-wip-us.apache.org/repos/asf/arrow-site/blob/4c7c2f1b/docs/cpp/pretty__print_8h_source.html ---------------------------------------------------------------------- diff --git a/docs/cpp/pretty__print_8h_source.html b/docs/cpp/pretty__print_8h_source.html index b9a2b56..7425f61 100644 --- a/docs/cpp/pretty__print_8h_source.html +++ b/docs/cpp/pretty__print_8h_source.html @@ -77,9 +77,9 @@ $(function() { <div class="ttc" id="visibility_8h_html"><div class="ttname"><a href="visibility_8h.html">visibility.h</a></div></div> <div class="ttc" id="structarrow_1_1_pretty_print_options_html_a974e5687d8e630eff8ae79ecc2d8848a"><div class="ttname"><a href="structarrow_1_1_pretty_print_options.html#a974e5687d8e630eff8ae79ecc2d8848a">arrow::PrettyPrintOptions::indent</a></div><div class="ttdeci">int indent</div><div class="ttdef"><b>Definition:</b> pretty_print.h:33</div></div> <div class="ttc" id="namespacearrow_html_acc529837f8c4825ef5ae3ecee7e614d5"><div class="ttname"><a href="namespacearrow.html#acc529837f8c4825ef5ae3ecee7e614d5">arrow::DebugPrint</a></div><div class="ttdeci">Status DebugPrint(const Array &arr, int indent)</div></div> -<div class="ttc" id="classarrow_1_1_schema_html"><div class="ttname"><a href="classarrow_1_1_schema.html">arrow::Schema</a></div><div class="ttdoc">Sequence of arrow::Field objects describing the columns of a record batch or table data structure...</div><div class="ttdef"><b>Definition:</b> type.h:722</div></div> +<div class="ttc" id="classarrow_1_1_schema_html"><div class="ttname"><a href="classarrow_1_1_schema.html">arrow::Schema</a></div><div class="ttdoc">Sequence of arrow::Field objects describing the columns of a record batch or table data structure...</div><div class="ttdef"><b>Definition:</b> type.h:729</div></div> <div class="ttc" id="namespacearrow_html"><div class="ttname"><a href="namespacearrow.html">arrow</a></div><div class="ttdoc">Top-level namespace for Apache Arrow C++ API. </div><div class="ttdef"><b>Definition:</b> adapter.h:32</div></div> -<div class="ttc" id="classarrow_1_1_array_html"><div class="ttname"><a href="classarrow_1_1_array.html">arrow::Array</a></div><div class="ttdoc">Array base type Immutable data array with some logical type and some length. </div><div class="ttdef"><b>Definition:</b> array.h:196</div></div> +<div class="ttc" id="classarrow_1_1_array_html"><div class="ttname"><a href="classarrow_1_1_array.html">arrow::Array</a></div><div class="ttdoc">Array base type Immutable data array with some logical type and some length. </div><div class="ttdef"><b>Definition:</b> array.h:184</div></div> <div class="ttc" id="namespacearrow_html_a737bc52e404537e2dbb14e110e78daaa"><div class="ttname"><a href="namespacearrow.html#a737bc52e404537e2dbb14e110e78daaa">arrow::PrettyPrint</a></div><div class="ttdeci">Status PrettyPrint(const RecordBatch &batch, int indent, std::ostream *sink)</div><div class="ttdoc">Print human-readable representation of RecordBatch. </div></div> <div class="ttc" id="namespacearrow_html_a97ac72c2a07228577c1d38b7747941a9"><div class="ttname"><a href="namespacearrow.html#a97ac72c2a07228577c1d38b7747941a9">arrow::schema</a></div><div class="ttdeci">std::shared_ptr< Schema > schema(const std::vector< std::shared_ptr< Field >> &fields, const std::shared_ptr< const KeyValueMetadata > &metadata=NULLPTR)</div><div class="ttdoc">Create a Schema instance. </div></div> </div><!-- fragment --></div><!-- contents --> http://git-wip-us.apache.org/repos/asf/arrow-site/blob/4c7c2f1b/docs/cpp/protocol_8h.html ---------------------------------------------------------------------- diff --git a/docs/cpp/protocol_8h.html b/docs/cpp/protocol_8h.html index 5e449fc..e4e977f 100644 --- a/docs/cpp/protocol_8h.html +++ b/docs/cpp/protocol_8h.html @@ -73,7 +73,9 @@ $(function() { <div class="title">protocol.h File Reference</div> </div> </div><!--header--> <div class="contents"> -<div class="textblock"><code>#include <vector></code><br /> +<div class="textblock"><code>#include <memory></code><br /> +<code>#include <unordered_map></code><br /> +<code>#include <vector></code><br /> <code>#include "<a class="el" href="status_8h_source.html">arrow/status.h</a>"</code><br /> <code>#include "<a class="el" href="plasma_8h_source.html">plasma/plasma.h</a>"</code><br /> <code>#include "plasma/plasma_generated.h"</code><br /> @@ -92,14 +94,14 @@ Functions</h2></td></tr> <tr class="separator:a79dfe2b339ca750052a95fd7fcde8da6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a80d88b1ca6fbdda17705f6e8fa53140e"><td class="memItemLeft" align="right" valign="top">Status </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#a80d88b1ca6fbdda17705f6e8fa53140e">plasma::PlasmaReceive</a> (int sock, int64_t message_type, std::vector< uint8_t > *buffer)</td></tr> <tr class="separator:a80d88b1ca6fbdda17705f6e8fa53140e"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a1f0145812a3ea078744f7900353db801"><td class="memItemLeft" align="right" valign="top">Status </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#a1f0145812a3ea078744f7900353db801">plasma::SendCreateRequest</a> (int sock, ObjectID object_id, int64_t data_size, int64_t metadata_size)</td></tr> -<tr class="separator:a1f0145812a3ea078744f7900353db801"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a297d2f2b5a4739e38ccea2f1f8771748"><td class="memItemLeft" align="right" valign="top">Status </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#a297d2f2b5a4739e38ccea2f1f8771748">plasma::ReadCreateRequest</a> (uint8_t *data, size_t size, ObjectID *object_id, int64_t *data_size, int64_t *metadata_size)</td></tr> -<tr class="separator:a297d2f2b5a4739e38ccea2f1f8771748"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a9578f3ac006fb7a28428ec1e925fe46c"><td class="memItemLeft" align="right" valign="top">Status </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#a9578f3ac006fb7a28428ec1e925fe46c">plasma::SendCreateReply</a> (int sock, ObjectID object_id, PlasmaObject *object, int error)</td></tr> -<tr class="separator:a9578f3ac006fb7a28428ec1e925fe46c"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a4b17176b00fe379abf8b7b945fc7a78b"><td class="memItemLeft" align="right" valign="top">Status </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#a4b17176b00fe379abf8b7b945fc7a78b">plasma::ReadCreateReply</a> (uint8_t *data, size_t size, ObjectID *object_id, PlasmaObject *object)</td></tr> -<tr class="separator:a4b17176b00fe379abf8b7b945fc7a78b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:acacc822b2a6c7f04edea4de83494af89"><td class="memItemLeft" align="right" valign="top">Status </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#acacc822b2a6c7f04edea4de83494af89">plasma::SendCreateRequest</a> (int sock, ObjectID object_id, int64_t data_size, int64_t metadata_size, int device_num)</td></tr> +<tr class="separator:acacc822b2a6c7f04edea4de83494af89"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a9869001a5660229ab33088d73457488c"><td class="memItemLeft" align="right" valign="top">Status </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#a9869001a5660229ab33088d73457488c">plasma::ReadCreateRequest</a> (uint8_t *data, size_t size, ObjectID *object_id, int64_t *data_size, int64_t *metadata_size, int *device_num)</td></tr> +<tr class="separator:a9869001a5660229ab33088d73457488c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aaadbd53987fe7507e01e2198dc25122b"><td class="memItemLeft" align="right" valign="top">Status </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#aaadbd53987fe7507e01e2198dc25122b">plasma::SendCreateReply</a> (int sock, ObjectID object_id, PlasmaObject *object, int error, int64_t mmap_size)</td></tr> +<tr class="separator:aaadbd53987fe7507e01e2198dc25122b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a5008d90488abd96cba230763efb73ea6"><td class="memItemLeft" align="right" valign="top">Status </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#a5008d90488abd96cba230763efb73ea6">plasma::ReadCreateReply</a> (uint8_t *data, size_t size, ObjectID *object_id, PlasmaObject *object, int *store_fd, int64_t *mmap_size)</td></tr> +<tr class="separator:a5008d90488abd96cba230763efb73ea6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab10e4d376f6900e316ef8dd9fa2d96fb"><td class="memItemLeft" align="right" valign="top">Status </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#ab10e4d376f6900e316ef8dd9fa2d96fb">plasma::SendAbortRequest</a> (int sock, ObjectID object_id)</td></tr> <tr class="separator:ab10e4d376f6900e316ef8dd9fa2d96fb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acccbcba265db57269a81d3f0b66c5988"><td class="memItemLeft" align="right" valign="top">Status </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#acccbcba265db57269a81d3f0b66c5988">plasma::ReadAbortRequest</a> (uint8_t *data, size_t size, ObjectID *object_id)</td></tr> @@ -120,10 +122,10 @@ Functions</h2></td></tr> <tr class="separator:a32c56789c459f828d40673917720f40b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a724ab20b1bd7384c074229819b6a1b7f"><td class="memItemLeft" align="right" valign="top">Status </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#a724ab20b1bd7384c074229819b6a1b7f">plasma::ReadGetRequest</a> (uint8_t *data, size_t size, std::vector< ObjectID > &object_ids, int64_t *timeout_ms)</td></tr> <tr class="separator:a724ab20b1bd7384c074229819b6a1b7f"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ad75ba201b4305d667bb7014f6cf2254f"><td class="memItemLeft" align="right" valign="top">Status </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#ad75ba201b4305d667bb7014f6cf2254f">plasma::SendGetReply</a> (int sock, ObjectID object_ids[], std::unordered_map< ObjectID, PlasmaObject, UniqueIDHasher > &plasma_objects, int64_t num_objects)</td></tr> -<tr class="separator:ad75ba201b4305d667bb7014f6cf2254f"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a96561d67b650ab24759fd6dbed469b1f"><td class="memItemLeft" align="right" valign="top">Status </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#a96561d67b650ab24759fd6dbed469b1f">plasma::ReadGetReply</a> (uint8_t *data, size_t size, ObjectID object_ids[], PlasmaObject plasma_objects[], int64_t num_objects)</td></tr> -<tr class="separator:a96561d67b650ab24759fd6dbed469b1f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a953e26ba5b4de91cb61e90301abe87ca"><td class="memItemLeft" align="right" valign="top">Status </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#a953e26ba5b4de91cb61e90301abe87ca">plasma::SendGetReply</a> (int sock, ObjectID object_ids[], std::unordered_map< ObjectID, PlasmaObject, UniqueIDHasher > &plasma_objects, int64_t num_objects, const std::vector< int > &store_fds, const std::vector< int64_t > &mmap_sizes)</td></tr> +<tr class="separator:a953e26ba5b4de91cb61e90301abe87ca"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a4132f9aff3aa2ec0744f6140e9824d85"><td class="memItemLeft" align="right" valign="top">Status </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#a4132f9aff3aa2ec0744f6140e9824d85">plasma::ReadGetReply</a> (uint8_t *data, size_t size, ObjectID object_ids[], PlasmaObject plasma_objects[], int64_t num_objects, std::vector< int > &store_fds, std::vector< int64_t > &mmap_sizes)</td></tr> +<tr class="separator:a4132f9aff3aa2ec0744f6140e9824d85"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a12ae3d07523ef07775320bf609ed281f"><td class="memItemLeft" align="right" valign="top">Status </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#a12ae3d07523ef07775320bf609ed281f">plasma::SendReleaseRequest</a> (int sock, ObjectID object_id)</td></tr> <tr class="separator:a12ae3d07523ef07775320bf609ed281f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af0bcf97f34a94168b38d739d3f882b76"><td class="memItemLeft" align="right" valign="top">Status </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplasma.html#af0bcf97f34a94168b38d739d3f882b76">plasma::ReadReleaseRequest</a> (uint8_t *data, size_t size, ObjectID *object_id)</td></tr>
