| <!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::BlockingQueue< 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_1BlockingQueue.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-methods">Public Member Functions</a> | |
| <a href="#pri-attribs">Private Attributes</a> | |
| <a href="classimpala_1_1BlockingQueue-members.html">List of all members</a> </div> |
| <div class="headertitle"> |
| <div class="title">impala::BlockingQueue< T > Class Template Reference</div> </div> |
| </div><!--header--> |
| <div class="contents"> |
| |
| <p><code>#include <<a class="el" href="blocking-queue_8h_source.html">blocking-queue.h</a>></code></p> |
| <div class="dynheader"> |
| Collaboration diagram for impala::BlockingQueue< T >:</div> |
| <div class="dyncontent"> |
| <div class="center"><iframe scrolling="no" frameborder="0" src="classimpala_1_1BlockingQueue__coll__graph.svg" width="651" height="360"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div> |
| </div> |
| <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:a14a20737c4b39e80d1fcd99aa36dee1c"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingQueue.html#a14a20737c4b39e80d1fcd99aa36dee1c">BlockingQueue</a> (size_t max_elements)</td></tr> |
| <tr class="separator:a14a20737c4b39e80d1fcd99aa36dee1c"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aa8639067a55baaabb34d6cd528b63fd6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingQueue.html#aa8639067a55baaabb34d6cd528b63fd6">BlockingGet</a> (T *out)</td></tr> |
| <tr class="separator:aa8639067a55baaabb34d6cd528b63fd6"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a11574794e2cd95011cb481a26c1fd8fd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingQueue.html#a11574794e2cd95011cb481a26c1fd8fd">BlockingPut</a> (const T &val)</td></tr> |
| <tr class="separator:a11574794e2cd95011cb481a26c1fd8fd"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aad4e758ac9d197526843abc7172faf3e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingQueue.html#aad4e758ac9d197526843abc7172faf3e">Shutdown</a> ()</td></tr> |
| <tr class="memdesc:aad4e758ac9d197526843abc7172faf3e"><td class="mdescLeft"> </td><td class="mdescRight">Shut down the queue. Wakes up all threads waiting on BlockingGet or BlockingPut. <a href="#aad4e758ac9d197526843abc7172faf3e">More...</a><br/></td></tr> |
| <tr class="separator:aad4e758ac9d197526843abc7172faf3e"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a170159833fa487dff16da4e5504ff1c1"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingQueue.html#a170159833fa487dff16da4e5504ff1c1">GetSize</a> () const </td></tr> |
| <tr class="separator:a170159833fa487dff16da4e5504ff1c1"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a6793a3736802e814a5bab99c5739998f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classuint64__t.html">uint64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingQueue.html#a6793a3736802e814a5bab99c5739998f">total_get_wait_time</a> () const </td></tr> |
| <tr class="memdesc:a6793a3736802e814a5bab99c5739998f"><td class="mdescLeft"> </td><td class="mdescRight">Returns the total amount of time threads have blocked in BlockingGet. <a href="#a6793a3736802e814a5bab99c5739998f">More...</a><br/></td></tr> |
| <tr class="separator:a6793a3736802e814a5bab99c5739998f"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a144015da794bb8e3671c69b64179e130"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classuint64__t.html">uint64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingQueue.html#a144015da794bb8e3671c69b64179e130">total_put_wait_time</a> () const </td></tr> |
| <tr class="memdesc:a144015da794bb8e3671c69b64179e130"><td class="mdescLeft"> </td><td class="mdescRight">Returns the total amount of time threads have blocked in BlockingPut. <a href="#a144015da794bb8e3671c69b64179e130">More...</a><br/></td></tr> |
| <tr class="separator:a144015da794bb8e3671c69b64179e130"><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:a5796bdb140f04e36698bca3e2f65afe9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingQueue.html#a5796bdb140f04e36698bca3e2f65afe9">shutdown_</a></td></tr> |
| <tr class="separator:a5796bdb140f04e36698bca3e2f65afe9"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ae4f99c80796f942650e45e12b9beff59"><td class="memItemLeft" align="right" valign="top">const int </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingQueue.html#ae4f99c80796f942650e45e12b9beff59">max_elements_</a></td></tr> |
| <tr class="separator:ae4f99c80796f942650e45e12b9beff59"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aa902d8c6d217b12c903805ea6914ebc3"><td class="memItemLeft" align="right" valign="top">boost::condition_variable </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingQueue.html#aa902d8c6d217b12c903805ea6914ebc3">get_cv_</a></td></tr> |
| <tr class="separator:aa902d8c6d217b12c903805ea6914ebc3"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ac831a34f93e29bfcc36bec8ab1e8b920"><td class="memItemLeft" align="right" valign="top">boost::condition_variable </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingQueue.html#ac831a34f93e29bfcc36bec8ab1e8b920">put_cv_</a></td></tr> |
| <tr class="separator:ac831a34f93e29bfcc36bec8ab1e8b920"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:af32cd404581c13fb4bd026cabec979c9"><td class="memItemLeft" align="right" valign="top">boost::mutex </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingQueue.html#af32cd404581c13fb4bd026cabec979c9">lock_</a></td></tr> |
| <tr class="memdesc:af32cd404581c13fb4bd026cabec979c9"><td class="mdescLeft"> </td><td class="mdescRight">lock_ guards access to list_, total_get_wait_time, and total_put_wait_time <a href="#af32cd404581c13fb4bd026cabec979c9">More...</a><br/></td></tr> |
| <tr class="separator:af32cd404581c13fb4bd026cabec979c9"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a1907438b7ff9ec0eb30c490f26da0e8e"><td class="memItemLeft" align="right" valign="top">std::list< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingQueue.html#a1907438b7ff9ec0eb30c490f26da0e8e">list_</a></td></tr> |
| <tr class="separator:a1907438b7ff9ec0eb30c490f26da0e8e"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a6848baca498a81028b41c4a8fa93e4bc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classuint64__t.html">uint64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingQueue.html#a6848baca498a81028b41c4a8fa93e4bc">total_get_wait_time_</a></td></tr> |
| <tr class="separator:a6848baca498a81028b41c4a8fa93e4bc"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ace7576edcf0666a5fc89f1d63e6d27da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classuint64__t.html">uint64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingQueue.html#ace7576edcf0666a5fc89f1d63e6d27da">total_put_wait_time_</a></td></tr> |
| <tr class="separator:ace7576edcf0666a5fc89f1d63e6d27da"><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<typename T><br/> |
| class impala::BlockingQueue< T ></h3> |
| |
| <p>Fixed capacity FIFO queue, where both BlockingGet and BlockingPut operations block if the queue is empty or full, respectively. TODO: Add some double-buffering so that readers do not block writers and vice versa. Or, implement a mostly lock-free blocking queue. </p> |
| |
| <p>Definition at line <a class="el" href="blocking-queue_8h_source.html#l00034">34</a> of file <a class="el" href="blocking-queue_8h_source.html">blocking-queue.h</a>.</p> |
| </div><h2 class="groupheader">Constructor & Destructor Documentation</h2> |
| <a class="anchor" id="a14a20737c4b39e80d1fcd99aa36dee1c"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<typename T> </div> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1BlockingQueue.html">impala::BlockingQueue</a>< T >::<a class="el" href="classimpala_1_1BlockingQueue.html">BlockingQueue</a> </td> |
| <td>(</td> |
| <td class="paramtype">size_t </td> |
| <td class="paramname"><em>max_elements</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>Definition at line <a class="el" href="blocking-queue_8h_source.html#l00036">36</a> of file <a class="el" href="blocking-queue_8h_source.html">blocking-queue.h</a>.</p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Member Function Documentation</h2> |
| <a class="anchor" id="aa8639067a55baaabb34d6cd528b63fd6"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<typename T> </div> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classbool.html">bool</a> <a class="el" href="classimpala_1_1BlockingQueue.html">impala::BlockingQueue</a>< T >::BlockingGet </td> |
| <td>(</td> |
| <td class="paramtype">T * </td> |
| <td class="paramname"><em>out</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>Get an element from the queue, waiting indefinitely for one to become available. Returns false if we were shut down prior to getting the element, and there are no more elements available. </p> |
| |
| <p>Definition at line <a class="el" href="blocking-queue_8h_source.html#l00046">46</a> of file <a class="el" href="blocking-queue_8h_source.html">blocking-queue.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="blocking-queue-test_8cc_source.html#l00075">impala::MultiThreadTest::RemoverThread()</a>, and <a class="el" href="blocking-queue-test_8cc_source.html#l00028">impala::TEST()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a11574794e2cd95011cb481a26c1fd8fd"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<typename T> </div> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classbool.html">bool</a> <a class="el" href="classimpala_1_1BlockingQueue.html">impala::BlockingQueue</a>< T >::BlockingPut </td> |
| <td>(</td> |
| <td class="paramtype">const T & </td> |
| <td class="paramname"><em>val</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>Puts an element into the queue, waiting indefinitely until there is space. If the queue is shut down, returns false. </p> |
| |
| <p>Definition at line <a class="el" href="blocking-queue_8h_source.html#l00069">69</a> of file <a class="el" href="blocking-queue_8h_source.html">blocking-queue.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="blocking-queue-test_8cc_source.html#l00062">impala::MultiThreadTest::InserterThread()</a>, and <a class="el" href="blocking-queue-test_8cc_source.html#l00028">impala::TEST()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a170159833fa487dff16da4e5504ff1c1"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<typename T> </div> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">uint32_t <a class="el" href="classimpala_1_1BlockingQueue.html">impala::BlockingQueue</a>< T >::GetSize </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td> const</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="blocking-queue_8h_source.html#l00099">99</a> of file <a class="el" href="blocking-queue_8h_source.html">blocking-queue.h</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="aad4e758ac9d197526843abc7172faf3e"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<typename T> </div> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void <a class="el" href="classimpala_1_1BlockingQueue.html">impala::BlockingQueue</a>< T >::Shutdown </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>Shut down the queue. Wakes up all threads waiting on BlockingGet or BlockingPut. </p> |
| |
| <p>Definition at line <a class="el" href="blocking-queue_8h_source.html#l00089">89</a> of file <a class="el" href="blocking-queue_8h_source.html">blocking-queue.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="blocking-queue-test_8cc_source.html#l00062">impala::MultiThreadTest::InserterThread()</a>, and <a class="el" href="blocking-queue-test_8cc_source.html#l00042">impala::TEST()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a6793a3736802e814a5bab99c5739998f"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<typename T> </div> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classuint64__t.html">uint64_t</a> <a class="el" href="classimpala_1_1BlockingQueue.html">impala::BlockingQueue</a>< T >::total_get_wait_time </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td> const</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>Returns the total amount of time threads have blocked in BlockingGet. </p> |
| |
| <p>Definition at line <a class="el" href="blocking-queue_8h_source.html#l00105">105</a> of file <a class="el" href="blocking-queue_8h_source.html">blocking-queue.h</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a144015da794bb8e3671c69b64179e130"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<typename T> </div> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classuint64__t.html">uint64_t</a> <a class="el" href="classimpala_1_1BlockingQueue.html">impala::BlockingQueue</a>< T >::total_put_wait_time </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td> const</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>Returns the total amount of time threads have blocked in BlockingPut. </p> |
| |
| <p>Definition at line <a class="el" href="blocking-queue_8h_source.html#l00111">111</a> of file <a class="el" href="blocking-queue_8h_source.html">blocking-queue.h</a>.</p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Member Data Documentation</h2> |
| <a class="anchor" id="aa902d8c6d217b12c903805ea6914ebc3"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<typename T> </div> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">boost::condition_variable <a class="el" href="classimpala_1_1BlockingQueue.html">impala::BlockingQueue</a>< T >::get_cv_</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>Definition at line <a class="el" href="blocking-queue_8h_source.html#l00119">119</a> of file <a class="el" href="blocking-queue_8h_source.html">blocking-queue.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="blocking-queue_8h_source.html#l00046">impala::BlockingQueue< TRowBatch * >::BlockingGet()</a>, <a class="el" href="blocking-queue_8h_source.html#l00069">impala::BlockingQueue< TRowBatch * >::BlockingPut()</a>, and <a class="el" href="blocking-queue_8h_source.html#l00089">impala::BlockingQueue< TRowBatch * >::Shutdown()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a1907438b7ff9ec0eb30c490f26da0e8e"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<typename T> </div> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">std::list<T> <a class="el" href="classimpala_1_1BlockingQueue.html">impala::BlockingQueue</a>< T >::list_</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>Definition at line <a class="el" href="blocking-queue_8h_source.html#l00123">123</a> of file <a class="el" href="blocking-queue_8h_source.html">blocking-queue.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="blocking-queue_8h_source.html#l00046">impala::BlockingQueue< TRowBatch * >::BlockingGet()</a>, <a class="el" href="blocking-queue_8h_source.html#l00069">impala::BlockingQueue< TRowBatch * >::BlockingPut()</a>, and <a class="el" href="blocking-queue_8h_source.html#l00099">impala::BlockingQueue< TRowBatch * >::GetSize()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="af32cd404581c13fb4bd026cabec979c9"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<typename T> </div> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">boost::mutex <a class="el" href="classimpala_1_1BlockingQueue.html">impala::BlockingQueue</a>< T >::lock_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">mutable</span><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>lock_ guards access to list_, total_get_wait_time, and total_put_wait_time </p> |
| |
| <p>Definition at line <a class="el" href="blocking-queue_8h_source.html#l00122">122</a> of file <a class="el" href="blocking-queue_8h_source.html">blocking-queue.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="blocking-queue_8h_source.html#l00046">impala::BlockingQueue< TRowBatch * >::BlockingGet()</a>, <a class="el" href="blocking-queue_8h_source.html#l00069">impala::BlockingQueue< TRowBatch * >::BlockingPut()</a>, <a class="el" href="blocking-queue_8h_source.html#l00099">impala::BlockingQueue< TRowBatch * >::GetSize()</a>, <a class="el" href="blocking-queue_8h_source.html#l00089">impala::BlockingQueue< TRowBatch * >::Shutdown()</a>, <a class="el" href="blocking-queue_8h_source.html#l00105">impala::BlockingQueue< TRowBatch * >::total_get_wait_time()</a>, and <a class="el" href="blocking-queue_8h_source.html#l00111">impala::BlockingQueue< TRowBatch * >::total_put_wait_time()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ae4f99c80796f942650e45e12b9beff59"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<typename T> </div> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">const int <a class="el" href="classimpala_1_1BlockingQueue.html">impala::BlockingQueue</a>< T >::max_elements_</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>Definition at line <a class="el" href="blocking-queue_8h_source.html#l00118">118</a> of file <a class="el" href="blocking-queue_8h_source.html">blocking-queue.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="blocking-queue_8h_source.html#l00069">impala::BlockingQueue< TRowBatch * >::BlockingPut()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ac831a34f93e29bfcc36bec8ab1e8b920"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<typename T> </div> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">boost::condition_variable <a class="el" href="classimpala_1_1BlockingQueue.html">impala::BlockingQueue</a>< T >::put_cv_</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>Definition at line <a class="el" href="blocking-queue_8h_source.html#l00120">120</a> of file <a class="el" href="blocking-queue_8h_source.html">blocking-queue.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="blocking-queue_8h_source.html#l00046">impala::BlockingQueue< TRowBatch * >::BlockingGet()</a>, <a class="el" href="blocking-queue_8h_source.html#l00069">impala::BlockingQueue< TRowBatch * >::BlockingPut()</a>, and <a class="el" href="blocking-queue_8h_source.html#l00089">impala::BlockingQueue< TRowBatch * >::Shutdown()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a5796bdb140f04e36698bca3e2f65afe9"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<typename T> </div> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classbool.html">bool</a> <a class="el" href="classimpala_1_1BlockingQueue.html">impala::BlockingQueue</a>< T >::shutdown_</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>Definition at line <a class="el" href="blocking-queue_8h_source.html#l00117">117</a> of file <a class="el" href="blocking-queue_8h_source.html">blocking-queue.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="blocking-queue_8h_source.html#l00046">impala::BlockingQueue< TRowBatch * >::BlockingGet()</a>, <a class="el" href="blocking-queue_8h_source.html#l00069">impala::BlockingQueue< TRowBatch * >::BlockingPut()</a>, and <a class="el" href="blocking-queue_8h_source.html#l00089">impala::BlockingQueue< TRowBatch * >::Shutdown()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a6848baca498a81028b41c4a8fa93e4bc"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<typename T> </div> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classuint64__t.html">uint64_t</a> <a class="el" href="classimpala_1_1BlockingQueue.html">impala::BlockingQueue</a>< T >::total_get_wait_time_</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>Definition at line <a class="el" href="blocking-queue_8h_source.html#l00124">124</a> of file <a class="el" href="blocking-queue_8h_source.html">blocking-queue.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="blocking-queue_8h_source.html#l00046">impala::BlockingQueue< TRowBatch * >::BlockingGet()</a>, and <a class="el" href="blocking-queue_8h_source.html#l00105">impala::BlockingQueue< TRowBatch * >::total_get_wait_time()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ace7576edcf0666a5fc89f1d63e6d27da"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<typename T> </div> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classuint64__t.html">uint64_t</a> <a class="el" href="classimpala_1_1BlockingQueue.html">impala::BlockingQueue</a>< T >::total_put_wait_time_</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>Definition at line <a class="el" href="blocking-queue_8h_source.html#l00125">125</a> of file <a class="el" href="blocking-queue_8h_source.html">blocking-queue.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="blocking-queue_8h_source.html#l00069">impala::BlockingQueue< TRowBatch * >::BlockingPut()</a>, and <a class="el" href="blocking-queue_8h_source.html#l00111">impala::BlockingQueue< TRowBatch * >::total_put_wait_time()</a>.</p> |
| |
| </div> |
| </div> |
| <hr/>The documentation for this class was generated from the following file:<ul> |
| <li>be/src/util/<a class="el" href="blocking-queue_8h_source.html">blocking-queue.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_1BlockingQueue.html">BlockingQueue</a></li> |
| <li class="footer">Generated on Thu May 7 2015 16:10:50 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> |