| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US"> |
| <head> |
| <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
| <meta http-equiv="X-UA-Compatible" content="IE=11"/> |
| <meta name="generator" content="Doxygen 1.9.8"/> |
| <meta name="viewport" content="width=device-width, initial-scale=1"/> |
| <title>iceberg-cpp: iceberg::SessionContext Struct Reference</title> |
| <link href="tabs.css" rel="stylesheet" type="text/css"/> |
| <script type="text/javascript" src="jquery.js"></script> |
| <script type="text/javascript" src="dynsections.js"></script> |
| <link href="search/search.css" rel="stylesheet" type="text/css"/> |
| <script type="text/javascript" src="search/searchdata.js"></script> |
| <script type="text/javascript" src="search/search.js"></script> |
| <link href="doxygen.css" rel="stylesheet" type="text/css" /> |
| </head> |
| <body> |
| <div id="top"><!-- do not remove this div, it is closed by doxygen! --> |
| <div id="titlearea"> |
| <table cellspacing="0" cellpadding="0"> |
| <tbody> |
| <tr id="projectrow"> |
| <td id="projectalign"> |
| <div id="projectname">iceberg-cpp |
| </div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <!-- end header part --> |
| <!-- Generated by Doxygen 1.9.8 --> |
| <script type="text/javascript"> |
| /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ |
| var searchBox = new SearchBox("searchBox", "search/",'.html'); |
| /* @license-end */ |
| </script> |
| <script type="text/javascript" src="menudata.js"></script> |
| <script type="text/javascript" src="menu.js"></script> |
| <script type="text/javascript"> |
| /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ |
| $(function() { |
| initMenu('',true,false,'search.php','Search'); |
| $(document).ready(function() { init_search(); }); |
| }); |
| /* @license-end */ |
| </script> |
| <div id="main-nav"></div> |
| <!-- window showing the filter options --> |
| <div id="MSearchSelectWindow" |
| onmouseover="return searchBox.OnSearchSelectShow()" |
| onmouseout="return searchBox.OnSearchSelectHide()" |
| onkeydown="return searchBox.OnSearchSelectKey(event)"> |
| </div> |
| |
| <!-- iframe showing the search results (closed by default) --> |
| <div id="MSearchResultsWindow"> |
| <div id="MSearchResults"> |
| <div class="SRPage"> |
| <div id="SRIndex"> |
| <div id="SRResults"></div> |
| <div class="SRStatus" id="Loading">Loading...</div> |
| <div class="SRStatus" id="Searching">Searching...</div> |
| <div class="SRStatus" id="NoMatches">No Matches</div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <div id="nav-path" class="navpath"> |
| <ul> |
| <li class="navelem"><a class="el" href="namespaceiceberg.html">iceberg</a></li><li class="navelem"><a class="el" href="structiceberg_1_1SessionContext.html">SessionContext</a></li> </ul> |
| </div> |
| </div><!-- top --> |
| <div class="header"> |
| <div class="summary"> |
| <a href="#pub-static-methods">Static Public Member Functions</a> | |
| <a href="#pub-attribs">Public Attributes</a> | |
| <a href="structiceberg_1_1SessionContext-members.html">List of all members</a> </div> |
| <div class="headertitle"><div class="title">iceberg::SessionContext Struct Reference</div></div> |
| </div><!--header--> |
| <div class="contents"> |
| |
| <p>Session state used to bind catalog operations to a caller context. |
| <a href="structiceberg_1_1SessionContext.html#details">More...</a></p> |
| |
| <p><code>#include <<a class="el" href="session__context_8h_source.html">session_context.h</a>></code></p> |
| <table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a> |
| Static Public Member Functions</h2></td></tr> |
| <tr class="memitem:a4e99ec1d24595876c16a651d8d0d03c2" id="r_a4e99ec1d24595876c16a651d8d0d03c2"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structiceberg_1_1SessionContext.html">SessionContext</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structiceberg_1_1SessionContext.html#a4e99ec1d24595876c16a651d8d0d03c2">Empty</a> ()</td></tr> |
| <tr class="memdesc:a4e99ec1d24595876c16a651d8d0d03c2"><td class="mdescLeft"> </td><td class="mdescRight">Create an empty caller context with a generated non-empty session ID. <br /></td></tr> |
| <tr class="separator:a4e99ec1d24595876c16a651d8d0d03c2"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a> |
| Public Attributes</h2></td></tr> |
| <tr class="memitem:a2142195dbea1438bbccec17d8c0927c4" id="r_a2142195dbea1438bbccec17d8c0927c4"><td class="memItemLeft" align="right" valign="top"><a id="a2142195dbea1438bbccec17d8c0927c4" name="a2142195dbea1438bbccec17d8c0927c4"></a> |
| std::string </td><td class="memItemRight" valign="bottom"><b>session_id</b></td></tr> |
| <tr class="memdesc:a2142195dbea1438bbccec17d8c0927c4"><td class="mdescLeft"> </td><td class="mdescRight">Unique session identifier. Explicit contexts must provide a non-empty ID. <br /></td></tr> |
| <tr class="separator:a2142195dbea1438bbccec17d8c0927c4"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a760278eec8fb341c643ee795bd3cf383" id="r_a760278eec8fb341c643ee795bd3cf383"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="structiceberg_1_1SessionContext.html#a760278eec8fb341c643ee795bd3cf383">identity</a></td></tr> |
| <tr class="separator:a760278eec8fb341c643ee795bd3cf383"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ab5e9186862d4bd273f62c33c6a32be4b" id="r_ab5e9186862d4bd273f62c33c6a32be4b"><td class="memItemLeft" align="right" valign="top"><a id="ab5e9186862d4bd273f62c33c6a32be4b" name="ab5e9186862d4bd273f62c33c6a32be4b"></a> |
| std::unordered_map< std::string, std::string > </td><td class="memItemRight" valign="bottom"><b>credentials</b></td></tr> |
| <tr class="memdesc:ab5e9186862d4bd273f62c33c6a32be4b"><td class="mdescLeft"> </td><td class="mdescRight">Sensitive context-specific credentials, such as delegated auth material. <br /></td></tr> |
| <tr class="separator:ab5e9186862d4bd273f62c33c6a32be4b"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aa6c674958e10672e7a07311d984546ed" id="r_aa6c674958e10672e7a07311d984546ed"><td class="memItemLeft" align="right" valign="top"><a id="aa6c674958e10672e7a07311d984546ed" name="aa6c674958e10672e7a07311d984546ed"></a> |
| std::unordered_map< std::string, std::string > </td><td class="memItemRight" valign="bottom"><b>properties</b></td></tr> |
| <tr class="memdesc:aa6c674958e10672e7a07311d984546ed"><td class="mdescLeft"> </td><td class="mdescRight">Non-secret context-specific properties, such as tenant or auth options. <br /></td></tr> |
| <tr class="separator:aa6c674958e10672e7a07311d984546ed"><td class="memSeparator" colspan="2"> </td></tr> |
| </table> |
| <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> |
| <div class="textblock"><p>Session state used to bind catalog operations to a caller context. </p> |
| <p>Session context is the isolation boundary for session-aware catalogs. REST catalogs use <code>session_id</code> to derive contextual authentication sessions while keeping user-visible catalog operations on the normal <code><a class="el" href="classiceberg_1_1Catalog.html" title="A Catalog API for table create, drop, and load operations.">Catalog</a></code> interface.</p> |
| <p>The type is intentionally an aggregate so callers can construct it with designated initializers. <code>properties</code> and <code>credentials</code> are kept separate so authentication implementations can detect conflicting keys instead of silently overriding credentials. </p> |
| </div><h2 class="groupheader">Member Function Documentation</h2> |
| <a id="a4e99ec1d24595876c16a651d8d0d03c2" name="a4e99ec1d24595876c16a651d8d0d03c2"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a4e99ec1d24595876c16a651d8d0d03c2">◆ </a></span>Empty()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">static <a class="el" href="structiceberg_1_1SessionContext.html">SessionContext</a> iceberg::SessionContext::Empty </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Create an empty caller context with a generated non-empty session ID. </p> |
| <p>Each call returns a distinct session ID. </p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Member Data Documentation</h2> |
| <a id="a760278eec8fb341c643ee795bd3cf383" name="a760278eec8fb341c643ee795bd3cf383"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a760278eec8fb341c643ee795bd3cf383">◆ </a></span>identity</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">std::string iceberg::SessionContext::identity</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Caller identity. Empty means no identity was supplied. This value is descriptive and is not implicitly inserted into authentication properties. </p> |
| |
| </div> |
| </div> |
| <hr/>The documentation for this struct was generated from the following file:<ul> |
| <li>iceberg/catalog/<a class="el" href="session__context_8h_source.html">session_context.h</a></li> |
| </ul> |
| </div><!-- contents --> |
| <!-- start footer part --> |
| <hr class="footer"/><address class="footer"><small> |
| Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 |
| </small></address> |
| </body> |
| </html> |