| <html> |
| <head> |
| <title> |
| log4cxx - Documentation |
| </title> |
| <link href="../css/doxygen.css" rel="stylesheet" type="text/css"/> |
| </head> |
| |
| <body bgcolor="#ffffff" text="#000000" link="#525D76"> |
| <!-- START Header table --> |
| <table border="0" cellspacing="0" width="90%"> |
| <!-- TOP IMAGE --> |
| <tr> |
| <td colspan="2"> |
| <a href="http://logging.apache.org"> |
| <img src="http://logging.apache.org/images/ls-logo.jpg" align="left" border="0"/> |
| </a> |
| </td> |
| |
| </tr> |
| </table> |
| <!-- END Header table --> |
| |
| <!-- START main table --> |
| <table id="main" border="0" width="90%" cellspacing="2" cellpadding="0"> |
| <tr><td colspan="2"> |
| <hr noshade="" size="1"/> |
| </td></tr> |
| |
| <tr> |
| <!-- LEFT SIDE NAVIGATION --> |
| <td id="navbar" valign="top"> |
| <!-- ============================================================ --> |
| <table id="navbar" border="0" cellspacing="0" cellpadding="0"> |
| <tr > |
| <td class="navbarHeader" nowrap="true"> |
| <strong>Apache</strong> |
| </td> |
| </tr> |
| <tr><td class="navbarItem"><small> <a href="http://www.apache.org">Apache Home</a> |
| </small></td></tr> |
| <tr><td class="navbarItem"><small> <a href="http://logging.apache.org/">Logging Services</a> |
| </small></td></tr> |
| <tr > |
| <td class="navbarHeader" nowrap="true"> |
| <strong>log4cxx project</strong> |
| </td> |
| </tr> |
| <tr><td class="navbarItem"><small> <a href="../index.html">About</a> |
| </small></td></tr> |
| <tr><td class="navbarItem"><small> <a href="../news.html">News</a> |
| </small></td></tr> |
| <tr><td class="navbarItem"><small> <a href="../team.html">Team</a> |
| </small></td></tr> |
| <tr><td class="navbarItem"><small> <a href="../manual/index.html">Documentation</a> |
| </small></td></tr> |
| <tr><td class="navbarItem"><small> <a href="../performance.html">Performance</a> |
| </small></td></tr> |
| <tr><td class="navbarItem"><small> <a href="../download.html">Download</a> |
| </small></td></tr> |
| </table> |
| |
| </td> |
| <td id="mainContents" align="left" valign="top"> |
| <hr> |
| <!-- Generated by Doxygen 1.3.5 --> |
| <div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="pages.html">Related Pages</a></div> |
| <h1>BoundedFIFO Class Reference</h1>Inheritance diagram for BoundedFIFO:<p><center><img src="classlog4cxx_1_1helpers_1_1BoundedFIFO__inherit__graph.png" border="0" usemap="#BoundedFIFO__inherit__map" alt="Inheritance graph"></center> |
| <map name="BoundedFIFO__inherit__map"> |
| <area href="classlog4cxx_1_1helpers_1_1Object.html" shape="rect" coords="32,18,82,42" alt=""> |
| <area href="classlog4cxx_1_1helpers_1_1ObjectImpl.html" shape="rect" coords="57,93,132,117" alt=""> |
| </map> |
| <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for BoundedFIFO:<p><center><img src="classlog4cxx_1_1helpers_1_1BoundedFIFO__coll__graph.png" border="0" usemap="#BoundedFIFO__coll__map" alt="Collaboration graph"></center> |
| <map name="BoundedFIFO__coll__map"> |
| <area href="classlog4cxx_1_1helpers_1_1Object.html" shape="rect" coords="32,18,82,42" alt=""> |
| <area href="classlog4cxx_1_1helpers_1_1ObjectImpl.html" shape="rect" coords="57,93,132,117" alt=""> |
| </map> |
| <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classlog4cxx_1_1helpers_1_1BoundedFIFO-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0> |
| <tr><td></td></tr> |
| <tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr> |
| <tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="classlog4cxx_1_1helpers_1_1BoundedFIFO.html#a0">BoundedFIFO</a> (int maxSize)</td></tr> |
| |
| <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classlog4cxx_1_1helpers_1_1ObjectPtrT.html">spi::LoggingEventPtr</a> </td><td class="memItemRight" valign=bottom><a class="el" href="classlog4cxx_1_1helpers_1_1BoundedFIFO.html#a1">get</a> ()</td></tr> |
| |
| <tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classlog4cxx_1_1helpers_1_1BoundedFIFO.html#a2">put</a> (const <a class="el" href="classlog4cxx_1_1helpers_1_1ObjectPtrT.html">spi::LoggingEventPtr</a> &o)</td></tr> |
| |
| <tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="classlog4cxx_1_1helpers_1_1BoundedFIFO.html#a3">getMaxSize</a> () const </td></tr> |
| |
| <tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="classlog4cxx_1_1helpers_1_1BoundedFIFO.html#a4">isFull</a> () const </td></tr> |
| |
| <tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="classlog4cxx_1_1helpers_1_1BoundedFIFO.html#a5">length</a> () const </td></tr> |
| |
| <tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classlog4cxx_1_1helpers_1_1BoundedFIFO.html#a6">resize</a> (int newSize)</td></tr> |
| |
| <tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="classlog4cxx_1_1helpers_1_1BoundedFIFO.html#a7">wasEmpty</a> () const </td></tr> |
| |
| <tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="classlog4cxx_1_1helpers_1_1BoundedFIFO.html#a8">wasFull</a> () const </td></tr> |
| |
| </table> |
| <hr><a name="_details"></a><h2>Detailed Description</h2> |
| <code><a class="el" href="classlog4cxx_1_1helpers_1_1BoundedFIFO.html">BoundedFIFO</a></code> serves as the bounded first-in-first-out buffer heavily used by the <a class="el" href="classlog4cxx_1_1AsyncAppender.html">AsyncAppender</a>. |
| <p> |
| <hr><h2>Constructor & Destructor Documentation</h2> |
| <a class="anchor" name="a0" doxytag="log4cxx::helpers::BoundedFIFO::BoundedFIFO" ></a><p> |
| <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> |
| <tr> |
| <td class="mdRow"> |
| <table cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td class="md" nowrap valign="top"> <a class="el" href="classlog4cxx_1_1helpers_1_1BoundedFIFO.html">BoundedFIFO</a> </td> |
| <td class="md" valign="top">( </td> |
| <td class="md" nowrap valign="top">int </td> |
| <td class="mdname1" valign="top" nowrap> <em>maxSize</em> </td> |
| <td class="md" valign="top"> ) </td> |
| <td class="md" nowrap></td> |
| </tr> |
| |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </td> |
| <td> |
| |
| <p> |
| Instantiate a new <a class="el" href="classlog4cxx_1_1helpers_1_1BoundedFIFO.html">BoundedFIFO</a> with a maximum size passed as argument. </td> |
| </tr> |
| </table> |
| <hr><h2>Member Function Documentation</h2> |
| <a class="anchor" name="a1" doxytag="log4cxx::helpers::BoundedFIFO::get" ></a><p> |
| <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> |
| <tr> |
| <td class="mdRow"> |
| <table cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td class="md" nowrap valign="top"> <a class="el" href="classlog4cxx_1_1helpers_1_1ObjectPtrT.html">LoggingEventPtr</a> get </td> |
| <td class="md" valign="top">( </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top"> ) </td> |
| <td class="md" nowrap></td> |
| </tr> |
| |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </td> |
| <td> |
| |
| <p> |
| Get the first element in the buffer. Returns <code>null</code> if there are no elements in the buffer. </td> |
| </tr> |
| </table> |
| <a class="anchor" name="a3" doxytag="log4cxx::helpers::BoundedFIFO::getMaxSize" ></a><p> |
| <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> |
| <tr> |
| <td class="mdRow"> |
| <table cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td class="md" nowrap valign="top"> int getMaxSize </td> |
| <td class="md" valign="top">( </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top"> ) </td> |
| <td class="md" nowrap> const<code> [inline]</code></td> |
| </tr> |
| |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </td> |
| <td> |
| |
| <p> |
| Get the maximum size of the buffer. </td> |
| </tr> |
| </table> |
| <a class="anchor" name="a4" doxytag="log4cxx::helpers::BoundedFIFO::isFull" ></a><p> |
| <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> |
| <tr> |
| <td class="mdRow"> |
| <table cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td class="md" nowrap valign="top"> bool isFull </td> |
| <td class="md" valign="top">( </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top"> ) </td> |
| <td class="md" nowrap> const<code> [inline]</code></td> |
| </tr> |
| |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </td> |
| <td> |
| |
| <p> |
| Return <code>true</code> if the buffer is full, i.e. of the number of elements in the buffer equals the buffer size. </td> |
| </tr> |
| </table> |
| <a class="anchor" name="a5" doxytag="log4cxx::helpers::BoundedFIFO::length" ></a><p> |
| <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> |
| <tr> |
| <td class="mdRow"> |
| <table cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td class="md" nowrap valign="top"> int length </td> |
| <td class="md" valign="top">( </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top"> ) </td> |
| <td class="md" nowrap> const<code> [inline]</code></td> |
| </tr> |
| |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </td> |
| <td> |
| |
| <p> |
| Get the number of elements in the buffer. This number is guaranteed to be in the range 0 to <code>maxSize</code> (inclusive). </td> |
| </tr> |
| </table> |
| <a class="anchor" name="a2" doxytag="log4cxx::helpers::BoundedFIFO::put" ></a><p> |
| <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> |
| <tr> |
| <td class="mdRow"> |
| <table cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td class="md" nowrap valign="top"> void put </td> |
| <td class="md" valign="top">( </td> |
| <td class="md" nowrap valign="top">const <a class="el" href="classlog4cxx_1_1helpers_1_1ObjectPtrT.html">spi::LoggingEventPtr</a> & </td> |
| <td class="mdname1" valign="top" nowrap> <em>o</em> </td> |
| <td class="md" valign="top"> ) </td> |
| <td class="md" nowrap></td> |
| </tr> |
| |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </td> |
| <td> |
| |
| <p> |
| Place a <a class="el" href="classlog4cxx_1_1spi_1_1LoggingEvent.html">LoggingEvent</a> in the buffer. If the buffer is full then the event is <b>silently dropped</b>. It is the caller's responsability to make sure that the buffer has free space. </td> |
| </tr> |
| </table> |
| <a class="anchor" name="a6" doxytag="log4cxx::helpers::BoundedFIFO::resize" ></a><p> |
| <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> |
| <tr> |
| <td class="mdRow"> |
| <table cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td class="md" nowrap valign="top"> void resize </td> |
| <td class="md" valign="top">( </td> |
| <td class="md" nowrap valign="top">int </td> |
| <td class="mdname1" valign="top" nowrap> <em>newSize</em> </td> |
| <td class="md" valign="top"> ) </td> |
| <td class="md" nowrap></td> |
| </tr> |
| |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </td> |
| <td> |
| |
| <p> |
| Resize the buffer to a new size. If the new size is smaller than the old size events might be lost. </td> |
| </tr> |
| </table> |
| <a class="anchor" name="a7" doxytag="log4cxx::helpers::BoundedFIFO::wasEmpty" ></a><p> |
| <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> |
| <tr> |
| <td class="mdRow"> |
| <table cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td class="md" nowrap valign="top"> bool wasEmpty </td> |
| <td class="md" valign="top">( </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top"> ) </td> |
| <td class="md" nowrap> const<code> [inline]</code></td> |
| </tr> |
| |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </td> |
| <td> |
| |
| <p> |
| Returns <code>true</code> if there is just one element in the buffer. In other words, if there were no elements before the last <a class="el" href="classlog4cxx_1_1helpers_1_1BoundedFIFO.html#a2">put</a> operation completed. </td> |
| </tr> |
| </table> |
| <a class="anchor" name="a8" doxytag="log4cxx::helpers::BoundedFIFO::wasFull" ></a><p> |
| <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> |
| <tr> |
| <td class="mdRow"> |
| <table cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td class="md" nowrap valign="top"> bool wasFull </td> |
| <td class="md" valign="top">( </td> |
| <td class="mdname1" valign="top" nowrap> </td> |
| <td class="md" valign="top"> ) </td> |
| <td class="md" nowrap> const<code> [inline]</code></td> |
| </tr> |
| |
| </table> |
| </td> |
| </tr> |
| </table> |
| <table cellspacing=5 cellpadding=0 border=0> |
| <tr> |
| <td> |
| |
| </td> |
| <td> |
| |
| <p> |
| Returns <code>true</code> if the number of elements in the buffer plus 1 equals the maximum buffer size, returns <code>false</code> otherwise. </td> |
| </tr> |
| </table> |
| <hr>The documentation for this class was generated from the following files:<ul> |
| <li>boundedfifo.h<li>boundedfifo.cpp</ul> |
| |
| </td> |
| </tr> |
| |
| <!-- FOOTER --> |
| <tr><td colspan="2"> |
| <hr noshade="" size="1"/> |
| </td></tr> |
| <tr><td colspan="2"> |
| <div align="center"><font color="#525D76" size="-1"><em> |
| Copyright © 1999-2004, Apache Software Foundation |
| </em></font></div> |
| </td></tr> |
| </table> |
| <!-- END main table --> |
| </body> |
| </html> |
| <!-- end the processing --> |