| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head> |
| <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
| <meta http-equiv="X-UA-Compatible" content="IE=9"/> |
| <meta name="generator" content="Doxygen 1.8.6"/> |
| <title>Impala: impala::ClientCache< T > Class Template 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="navtree.css" rel="stylesheet" type="text/css"/> |
| <script type="text/javascript" src="resize.js"></script> |
| <script type="text/javascript" src="navtree.js"></script> |
| <script type="text/javascript"> |
| $(document).ready(initResizable); |
| $(window).load(resizeHeight); |
| </script> |
| <link href="search/search.css" rel="stylesheet" type="text/css"/> |
| <script type="text/javascript" src="search/search.js"></script> |
| <script type="text/javascript"> |
| $(document).ready(function() { searchBox.OnSelectItem(0); }); |
| </script> |
| <link href="doxygen.css" rel="stylesheet" type="text/css" /> |
| </head> |
| <body> |
| <div id="top"><!-- do not remove this div, it is closed by doxygen! --> |
| <div id="titlearea"> |
| <table cellspacing="0" cellpadding="0"> |
| <tbody> |
| <tr style="height: 56px;"> |
| <td style="padding-left: 0.5em;"> |
| <div id="projectname">Impala |
| </div> |
| <div id="projectbrief">Impalaistheopensource,nativeanalyticdatabaseforApacheHadoop.</div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <!-- end header part --> |
| <!-- Generated by Doxygen 1.8.6 --> |
| <script type="text/javascript"> |
| var searchBox = new SearchBox("searchBox", "search",false,'Search'); |
| </script> |
| <div id="navrow1" class="tabs"> |
| <ul class="tablist"> |
| <li><a href="index.html"><span>Main Page</span></a></li> |
| <li><a href="namespaces.html"><span>Namespaces</span></a></li> |
| <li class="current"><a href="annotated.html"><span>Classes</span></a></li> |
| <li><a href="files.html"><span>Files</span></a></li> |
| <li> |
| <div id="MSearchBox" class="MSearchBoxInactive"> |
| <span class="left"> |
| <img id="MSearchSelect" src="search/mag_sel.png" |
| onmouseover="return searchBox.OnSearchSelectShow()" |
| onmouseout="return searchBox.OnSearchSelectHide()" |
| alt=""/> |
| <input type="text" id="MSearchField" value="Search" accesskey="S" |
| onfocus="searchBox.OnSearchFieldFocus(true)" |
| onblur="searchBox.OnSearchFieldFocus(false)" |
| onkeyup="searchBox.OnSearchFieldChange(event)"/> |
| </span><span class="right"> |
| <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> |
| </span> |
| </div> |
| </li> |
| </ul> |
| </div> |
| <div id="navrow2" class="tabs2"> |
| <ul class="tablist"> |
| <li><a href="annotated.html"><span>Class List</span></a></li> |
| <li><a href="classes.html"><span>Class Index</span></a></li> |
| <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> |
| <li><a href="functions.html"><span>Class Members</span></a></li> |
| </ul> |
| </div> |
| </div><!-- top --> |
| <div id="side-nav" class="ui-resizable side-nav-resizable"> |
| <div id="nav-tree"> |
| <div id="nav-tree-contents"> |
| <div id="nav-sync" class="sync"></div> |
| </div> |
| </div> |
| <div id="splitbar" style="-moz-user-select:none;" |
| class="ui-resizable-handle"> |
| </div> |
| </div> |
| <script type="text/javascript"> |
| $(document).ready(function(){initNavTree('classimpala_1_1ClientCache.html','');}); |
| </script> |
| <div id="doc-content"> |
| <!-- window showing the filter options --> |
| <div id="MSearchSelectWindow" |
| onmouseover="return searchBox.OnSearchSelectShow()" |
| onmouseout="return searchBox.OnSearchSelectHide()" |
| onkeydown="return searchBox.OnSearchSelectKey(event)"> |
| <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a></div> |
| |
| <!-- iframe showing the search results (closed by default) --> |
| <div id="MSearchResultsWindow"> |
| <iframe src="javascript:void(0)" frameborder="0" |
| name="MSearchResults" id="MSearchResults"> |
| </iframe> |
| </div> |
| |
| <div class="header"> |
| <div class="summary"> |
| <a href="#pub-types">Public Types</a> | |
| <a href="#pub-methods">Public Member Functions</a> | |
| <a href="#pri-methods">Private Member Functions</a> | |
| <a href="#pri-attribs">Private Attributes</a> | |
| <a href="#friends">Friends</a> | |
| <a href="classimpala_1_1ClientCache-members.html">List of all members</a> </div> |
| <div class="headertitle"> |
| <div class="title">impala::ClientCache< T > Class Template Reference</div> </div> |
| </div><!--header--> |
| <div class="contents"> |
| |
| <p><code>#include <<a class="el" href="client-cache_8h_source.html">client-cache.h</a>></code></p> |
| <div class="dynheader"> |
| Collaboration diagram for impala::ClientCache< T >:</div> |
| <div class="dyncontent"> |
| <div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="classimpala_1_1ClientCache__coll__graph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div> |
| </div> |
| <table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a> |
| Public Types</h2></td></tr> |
| <tr class="memitem:adfa5270c52ca179fa3efdc4e834c0a8e"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classimpala_1_1ThriftClient.html">ThriftClient</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCache.html#adfa5270c52ca179fa3efdc4e834c0a8e">Client</a></td></tr> |
| <tr class="separator:adfa5270c52ca179fa3efdc4e834c0a8e"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> |
| Public Member Functions</h2></td></tr> |
| <tr class="memitem:ab08d932e3cab2f83c79cf1b1a9c58dbc"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCache.html#ab08d932e3cab2f83c79cf1b1a9c58dbc">ClientCache</a> (const std::string &service_name="")</td></tr> |
| <tr class="separator:ab08d932e3cab2f83c79cf1b1a9c58dbc"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ab83f3198189d24071974acf294bea2af"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCache.html#ab83f3198189d24071974acf294bea2af">ClientCache</a> (uint32_t num_tries, <a class="el" href="classuint64__t.html">uint64_t</a> wait_ms, int32_t send_timeout_ms=0, int32_t recv_timeout_ms=0, const std::string &service_name="")</td></tr> |
| <tr class="separator:ab83f3198189d24071974acf294bea2af"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:af0f449c7985d09b5a0510d5e972cab3f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCache.html#af0f449c7985d09b5a0510d5e972cab3f">CloseConnections</a> (const TNetworkAddress &address)</td></tr> |
| <tr class="separator:af0f449c7985d09b5a0510d5e972cab3f"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a3ba5936d5d54e5cf4a4aca953d6dc50d"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCache.html#a3ba5936d5d54e5cf4a4aca953d6dc50d">DebugString</a> ()</td></tr> |
| <tr class="memdesc:a3ba5936d5d54e5cf4a4aca953d6dc50d"><td class="mdescLeft"> </td><td class="mdescRight">Helper method which returns a debug string. <a href="#a3ba5936d5d54e5cf4a4aca953d6dc50d">More...</a><br/></td></tr> |
| <tr class="separator:a3ba5936d5d54e5cf4a4aca953d6dc50d"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a8f13cf7cc55cadae632ec2d7801731b5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCache.html#a8f13cf7cc55cadae632ec2d7801731b5">TestShutdown</a> ()</td></tr> |
| <tr class="memdesc:a8f13cf7cc55cadae632ec2d7801731b5"><td class="mdescLeft"> </td><td class="mdescRight">For testing only: shutdown all clients. <a href="#a8f13cf7cc55cadae632ec2d7801731b5">More...</a><br/></td></tr> |
| <tr class="separator:a8f13cf7cc55cadae632ec2d7801731b5"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a25db141e8b489deccf75b4bce1d6d691"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCache.html#a25db141e8b489deccf75b4bce1d6d691">InitMetrics</a> (<a class="el" href="classimpala_1_1MetricGroup.html">MetricGroup</a> *metrics, const std::string &key_prefix)</td></tr> |
| <tr class="separator:a25db141e8b489deccf75b4bce1d6d691"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a> |
| Private Member Functions</h2></td></tr> |
| <tr class="memitem:ad29c93a8e207484ad1b4de16146fcb09"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCache.html#ad29c93a8e207484ad1b4de16146fcb09">GetClient</a> (const TNetworkAddress &address, T **iface)</td></tr> |
| <tr class="separator:ad29c93a8e207484ad1b4de16146fcb09"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a8005c9935ea7f7a894a4e3cd57312905"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCache.html#a8005c9935ea7f7a894a4e3cd57312905">ReopenClient</a> (T **client)</td></tr> |
| <tr class="separator:a8005c9935ea7f7a894a4e3cd57312905"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aebe6a2f7a7403cbb32bc9a6d22823688"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCache.html#aebe6a2f7a7403cbb32bc9a6d22823688">ReleaseClient</a> (T **client)</td></tr> |
| <tr class="memdesc:aebe6a2f7a7403cbb32bc9a6d22823688"><td class="mdescLeft"> </td><td class="mdescRight">Return the client to the cache and set *client to NULL. <a href="#aebe6a2f7a7403cbb32bc9a6d22823688">More...</a><br/></td></tr> |
| <tr class="separator:aebe6a2f7a7403cbb32bc9a6d22823688"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a47152dda080cb7493c714685b2bcf7bf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1ThriftClientImpl.html">ThriftClientImpl</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCache.html#a47152dda080cb7493c714685b2bcf7bf">MakeClient</a> (const TNetworkAddress &address, <a class="el" href="namespaceimpala.html#af882a84ad40478dc121a6bf6dc27f201">ClientKey</a> *client_key, const std::string service_name)</td></tr> |
| <tr class="memdesc:a47152dda080cb7493c714685b2bcf7bf"><td class="mdescLeft"> </td><td class="mdescRight">Factory method to produce a new ThriftClient<T> for the wrapped cache. <a href="#a47152dda080cb7493c714685b2bcf7bf">More...</a><br/></td></tr> |
| <tr class="separator:a47152dda080cb7493c714685b2bcf7bf"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a> |
| Private Attributes</h2></td></tr> |
| <tr class="memitem:ac1210f0837d2383a9b0c86f39db53c13"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1ClientCacheHelper.html">ClientCacheHelper</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCache.html#ac1210f0837d2383a9b0c86f39db53c13">client_cache_helper_</a></td></tr> |
| <tr class="separator:ac1210f0837d2383a9b0c86f39db53c13"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a5ef195971ac28f5a53fb1d67310f0a74"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1ClientCacheHelper.html#a4da1ac222ceff2be3f798650fc4d48f9">ClientCacheHelper::ClientFactory</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCache.html#a5ef195971ac28f5a53fb1d67310f0a74">client_factory_</a></td></tr> |
| <tr class="memdesc:a5ef195971ac28f5a53fb1d67310f0a74"><td class="mdescLeft"> </td><td class="mdescRight">Function pointer, bound to MakeClient, which produces clients when the cache is empty. <a href="#a5ef195971ac28f5a53fb1d67310f0a74">More...</a><br/></td></tr> |
| <tr class="separator:a5ef195971ac28f5a53fb1d67310f0a74"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a> |
| Friends</h2></td></tr> |
| <tr class="memitem:af1a69f4f23afc0ec73a917f0c9161b8d"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ClientCache.html#af1a69f4f23afc0ec73a917f0c9161b8d">ClientConnection< T ></a></td></tr> |
| <tr class="separator:af1a69f4f23afc0ec73a917f0c9161b8d"><td class="memSeparator" colspan="2"> </td></tr> |
| </table> |
| <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> |
| <div class="textblock"><h3>template<class T><br/> |
| class impala::ClientCache< T ></h3> |
| |
| <p>Generic cache of Thrift clients for a given service type. This class is thread-safe. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00187">187</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| </div><h2 class="groupheader">Member Typedef Documentation</h2> |
| <a class="anchor" id="adfa5270c52ca179fa3efdc4e834c0a8e"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<class T> </div> |
| <table class="memname"> |
| <tr> |
| <td class="memname">typedef <a class="el" href="classimpala_1_1ThriftClient.html">ThriftClient</a><T> <a class="el" href="classimpala_1_1ClientCache.html">impala::ClientCache</a>< T >::<a class="el" href="classimpala_1_1ClientCache.html#adfa5270c52ca179fa3efdc4e834c0a8e">Client</a></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00255">255</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Constructor & Destructor Documentation</h2> |
| <a class="anchor" id="ab08d932e3cab2f83c79cf1b1a9c58dbc"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<class T> </div> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1ClientCache.html">impala::ClientCache</a>< T >::<a class="el" href="classimpala_1_1ClientCache.html">ClientCache</a> </td> |
| <td>(</td> |
| <td class="paramtype">const std::string & </td> |
| <td class="paramname"><em>service_name</em> = <code>""</code></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00257">257</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| |
| <p>References <a class="el" href="client-cache_8h_source.html#l00308">impala::ClientCache< T >::client_factory_</a>, and <a class="el" href="client-cache_8h_source.html#l00333">impala::ClientCache< T >::MakeClient()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ab83f3198189d24071974acf294bea2af"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<class T> </div> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1ClientCache.html">impala::ClientCache</a>< T >::<a class="el" href="classimpala_1_1ClientCache.html">ClientCache</a> </td> |
| <td>(</td> |
| <td class="paramtype">uint32_t </td> |
| <td class="paramname"><em>num_tries</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="classuint64__t.html">uint64_t</a> </td> |
| <td class="paramname"><em>wait_ms</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int32_t </td> |
| <td class="paramname"><em>send_timeout_ms</em> = <code>0</code>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int32_t </td> |
| <td class="paramname"><em>recv_timeout_ms</em> = <code>0</code>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">const std::string & </td> |
| <td class="paramname"><em>service_name</em> = <code>""</code> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Create a <a class="el" href="classimpala_1_1ClientCache.html">ClientCache</a> where connections are tried num_tries times, with a pause of wait_ms between attempts. The underlying TSocket's send and receive timeouts of each connection can also be set. If num_tries == 0, retry connections indefinitely. A send/receive timeout of 0 means there is no timeout. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00266">266</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| |
| <p>References <a class="el" href="client-cache_8h_source.html#l00308">impala::ClientCache< T >::client_factory_</a>, and <a class="el" href="client-cache_8h_source.html#l00333">impala::ClientCache< T >::MakeClient()</a>.</p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Member Function Documentation</h2> |
| <a class="anchor" id="af0f449c7985d09b5a0510d5e972cab3f"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<class T> </div> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void <a class="el" href="classimpala_1_1ClientCache.html">impala::ClientCache</a>< T >::CloseConnections </td> |
| <td>(</td> |
| <td class="paramtype">const TNetworkAddress & </td> |
| <td class="paramname"><em>address</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Close all clients connected to the supplied address, (e.g., in case of failure) so that on their next use they will have to be Reopen'ed. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00277">277</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| |
| <p>References <a class="el" href="client-cache_8h_source.html#l00305">impala::ClientCache< T >::client_cache_helper_</a>, and <a class="el" href="client-cache_8cc_source.html#l00148">impala::ClientCacheHelper::CloseConnections()</a>.</p> |
| |
| <p>Referenced by <a class="el" href="impala-server_8cc_source.html#l01317">impala::ImpalaServer::MembershipCallback()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a3ba5936d5d54e5cf4a4aca953d6dc50d"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<class T> </div> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">std::string <a class="el" href="classimpala_1_1ClientCache.html">impala::ClientCache</a>< T >::DebugString </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Helper method which returns a debug string. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00282">282</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| |
| <p>References <a class="el" href="client-cache_8h_source.html#l00305">impala::ClientCache< T >::client_cache_helper_</a>, and <a class="el" href="client-cache_8cc_source.html#l00170">impala::ClientCacheHelper::DebugString()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ad29c93a8e207484ad1b4de16146fcb09"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<class T> </div> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> <a class="el" href="classimpala_1_1ClientCache.html">impala::ClientCache</a>< T >::GetClient </td> |
| <td>(</td> |
| <td class="paramtype">const TNetworkAddress & </td> |
| <td class="paramname"><em>address</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">T ** </td> |
| <td class="paramname"><em>iface</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Obtains a pointer to a Thrift interface object (of type T), backed by a live transport which is already open. Returns <a class="el" href="classimpala_1_1Status.html#a580565665ea944eb64f3f495b1bee1e0">Status::OK</a> unless there was an error opening the transport. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00313">313</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| |
| <p>References <a class="el" href="client-cache_8h_source.html#l00305">impala::ClientCache< T >::client_cache_helper_</a>, <a class="el" href="client-cache_8h_source.html#l00308">impala::ClientCache< T >::client_factory_</a>, and <a class="el" href="client-cache_8cc_source.html#l00040">impala::ClientCacheHelper::GetClient()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a25db141e8b489deccf75b4bce1d6d691"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<class T> </div> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void <a class="el" href="classimpala_1_1ClientCache.html">impala::ClientCache</a>< T >::InitMetrics </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1MetricGroup.html">MetricGroup</a> * </td> |
| <td class="paramname"><em>metrics</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">const std::string & </td> |
| <td class="paramname"><em>key_prefix</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Adds metrics for this cache to the supplied Metrics instance. The metrics have keys that are prefixed by the key_prefix argument (which should not end in a period). Must be called before the cache is used, otherwise the metrics might be wrong </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00295">295</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| |
| <p>References <a class="el" href="client-cache_8h_source.html#l00305">impala::ClientCache< T >::client_cache_helper_</a>, and <a class="el" href="client-cache_8cc_source.html#l00199">impala::ClientCacheHelper::InitMetrics()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a47152dda080cb7493c714685b2bcf7bf"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<class T> </div> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1ThriftClientImpl.html">ThriftClientImpl</a>* <a class="el" href="classimpala_1_1ClientCache.html">impala::ClientCache</a>< T >::MakeClient </td> |
| <td>(</td> |
| <td class="paramtype">const TNetworkAddress & </td> |
| <td class="paramname"><em>address</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="namespaceimpala.html#af882a84ad40478dc121a6bf6dc27f201">ClientKey</a> * </td> |
| <td class="paramname"><em>client_key</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">const std::string </td> |
| <td class="paramname"><em>service_name</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Factory method to produce a new ThriftClient<T> for the wrapped cache. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00333">333</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| |
| <p>References <a class="el" href="thrift-client_8h_source.html#l00114">impala::ThriftClient< InterfaceType >::iface()</a>.</p> |
| |
| <p>Referenced by <a class="el" href="client-cache_8h_source.html#l00257">impala::ClientCache< T >::ClientCache()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="aebe6a2f7a7403cbb32bc9a6d22823688"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<class T> </div> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void <a class="el" href="classimpala_1_1ClientCache.html">impala::ClientCache</a>< T >::ReleaseClient </td> |
| <td>(</td> |
| <td class="paramtype">T ** </td> |
| <td class="paramname"><em>client</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Return the client to the cache and set *client to NULL. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00328">328</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| |
| <p>References <a class="el" href="client-cache_8h_source.html#l00305">impala::ClientCache< T >::client_cache_helper_</a>, and <a class="el" href="client-cache_8cc_source.html#l00127">impala::ClientCacheHelper::ReleaseClient()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a8005c9935ea7f7a894a4e3cd57312905"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<class T> </div> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> <a class="el" href="classimpala_1_1ClientCache.html">impala::ClientCache</a>< T >::ReopenClient </td> |
| <td>(</td> |
| <td class="paramtype">T ** </td> |
| <td class="paramname"><em>client</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Close and delete the underlying transport. Return a new client connecting to the same host/port. Returns an error status if a new connection cannot be established and *client will be unaffected in that case. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00322">322</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| |
| <p>References <a class="el" href="client-cache_8h_source.html#l00305">impala::ClientCache< T >::client_cache_helper_</a>, <a class="el" href="client-cache_8h_source.html#l00308">impala::ClientCache< T >::client_factory_</a>, and <a class="el" href="client-cache_8cc_source.html#l00068">impala::ClientCacheHelper::ReopenClient()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a8f13cf7cc55cadae632ec2d7801731b5"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<class T> </div> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void <a class="el" href="classimpala_1_1ClientCache.html">impala::ClientCache</a>< T >::TestShutdown </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>For testing only: shutdown all clients. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00287">287</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| |
| <p>References <a class="el" href="client-cache_8h_source.html#l00305">impala::ClientCache< T >::client_cache_helper_</a>, and <a class="el" href="client-cache_8cc_source.html#l00186">impala::ClientCacheHelper::TestShutdown()</a>.</p> |
| |
| <p>Referenced by <a class="el" href="data-stream-test_8cc_source.html#l00149">impala::DataStreamTest::TearDown()</a>.</p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Friends And Related Function Documentation</h2> |
| <a class="anchor" id="af1a69f4f23afc0ec73a917f0c9161b8d"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<class T> </div> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">friend class <a class="el" href="classimpala_1_1ClientConnection.html">ClientConnection</a>< T ></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">friend</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00300">300</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Member Data Documentation</h2> |
| <a class="anchor" id="ac1210f0837d2383a9b0c86f39db53c13"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<class T> </div> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1ClientCacheHelper.html">ClientCacheHelper</a> <a class="el" href="classimpala_1_1ClientCache.html">impala::ClientCache</a>< T >::client_cache_helper_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Most operations in this class are thin wrappers around the equivalent in <a class="el" href="classimpala_1_1ClientCacheHelper.html" title="This class is thread-safe. ">ClientCacheHelper</a>, which is a non-templated cache to avoid inlining lots of code wherever this cache is used. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00305">305</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="client-cache_8h_source.html#l00277">impala::ClientCache< T >::CloseConnections()</a>, <a class="el" href="client-cache_8h_source.html#l00282">impala::ClientCache< T >::DebugString()</a>, <a class="el" href="client-cache_8h_source.html#l00313">impala::ClientCache< T >::GetClient()</a>, <a class="el" href="client-cache_8h_source.html#l00295">impala::ClientCache< T >::InitMetrics()</a>, <a class="el" href="client-cache_8h_source.html#l00328">impala::ClientCache< T >::ReleaseClient()</a>, <a class="el" href="client-cache_8h_source.html#l00322">impala::ClientCache< T >::ReopenClient()</a>, and <a class="el" href="client-cache_8h_source.html#l00287">impala::ClientCache< T >::TestShutdown()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a5ef195971ac28f5a53fb1d67310f0a74"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<class T> </div> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1ClientCacheHelper.html#a4da1ac222ceff2be3f798650fc4d48f9">ClientCacheHelper::ClientFactory</a> <a class="el" href="classimpala_1_1ClientCache.html">impala::ClientCache</a>< T >::client_factory_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Function pointer, bound to MakeClient, which produces clients when the cache is empty. </p> |
| |
| <p>Definition at line <a class="el" href="client-cache_8h_source.html#l00308">308</a> of file <a class="el" href="client-cache_8h_source.html">client-cache.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="client-cache_8h_source.html#l00257">impala::ClientCache< T >::ClientCache()</a>, <a class="el" href="client-cache_8h_source.html#l00313">impala::ClientCache< T >::GetClient()</a>, and <a class="el" href="client-cache_8h_source.html#l00322">impala::ClientCache< T >::ReopenClient()</a>.</p> |
| |
| </div> |
| </div> |
| <hr/>The documentation for this class was generated from the following file:<ul> |
| <li>be/src/runtime/<a class="el" href="client-cache_8h_source.html">client-cache.h</a></li> |
| </ul> |
| </div><!-- contents --> |
| </div><!-- doc-content --> |
| <!-- start footer part --> |
| <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> |
| <ul> |
| <li class="navelem"><a class="el" href="namespaceimpala.html">impala</a></li><li class="navelem"><a class="el" href="classimpala_1_1ClientCache.html">ClientCache</a></li> |
| <li class="footer">Generated on Thu May 7 2015 16:10:49 for Impala by |
| <a href="http://www.doxygen.org/index.html"> |
| <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li> |
| </ul> |
| </div> |
| </body> |
| </html> |