<!--$Id: mempfile_class.so,v 10.24 2004/08/13 03:38:58 bostic Exp $--> <!--Copyright (c) 1997,2007 Oracle. All rights reserved.--> <!--See the file LICENSE for redistribution information.--> <html> <head> <title>Berkeley DB: DbMpoolFile</title> <meta name="description" content="Berkeley DB: An embedded database programmatic toolkit."> <meta name="keywords" content="embedded,database,programmatic,toolkit,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,Java,C,C++"> </head> <body bgcolor=white> <table width="100%"><tr valign=top> <td> <h3>DbMpoolFile</h3> </td> <td align=right> <a href="../../db46-devel-4.6.21/api_cxx/api_core.html"><img src="../../db46-devel-4.6.21/images/api.gif" alt="API"></a> <a href="../../db46-devel-4.6.21/ref/toc.html"><img src="../../db46-devel-4.6.21/images/ref.gif" alt="Ref"></a></td> </tr></table> <hr size=1 noshade> <tt> <h3><pre> #include <db_cxx.h> <p> class DbMpoolFile { public: DB_MPOOLFILE *DbMpoolFile::get_DB_MPOOLFILE(); const DB_MPOOLFILE *DbMpoolFile::get_const_DB_MPOOLFILE() const; ... }; </pre></h3> <hr size=1 noshade> <h3>Description: DbMpoolFile</h3> <p>The memory pool interfaces for the Berkeley DB database environment are methods of the <a href="../../db46-devel-4.6.21/api_cxx/env_class.html">DbEnv</a> handle. The <a href="../../db46-devel-4.6.21/api_cxx/env_class.html">DbEnv</a> memory pool methods and the DbMpoolFile class provide general-purpose, page-oriented buffer management of files. Although designed to work with the other <a href="../../db46-devel-4.6.21/api_cxx/db_class.html">Db</a> classes, they are also useful for more general purposes. The memory pools are referred to in this document as simply <i>pools</i>.</p> <p>Pools may be shared between processes. Pools are usually filled by pages from one or more files. Pages in the pool are replaced in LRU (least-recently-used) order, with each new page replacing the page that has been unused the longest. Pages retrieved from the pool using <a href="../../db46-devel-4.6.21/api_cxx/memp_fget.html">DbMpoolFile::get</a> are <i>pinned</i> in the pool until they are returned to the control of the buffer pool using the <a href="../../db46-devel-4.6.21/api_cxx/memp_fput.html">DbMpoolFile::put</a> method.</p> <p>The DbMpoolFile object is the handle for a file in the memory pool. The handle is not free-threaded. Once the <a href="../../db46-devel-4.6.21/api_cxx/memp_fclose.html">DbMpoolFile::close</a> method is called, the handle may not be accessed again, regardless of that method's return.</p> <p>Each DbMpoolFile object has an associated DB_MPOOLFILE structure, which is used by the underlying implementation of Berkeley DB and its C-language API. The DbMpoolFile::get_DB_MPOOLFILE method returns a pointer to this struct. Given a const DbMpoolFile object, DbMpoolFile::get_const_DB_MPOOLFILE returns a const pointer to the same struct.</p> <p>These methods may be useful for Berkeley DB applications including both C and C++ language software. It should not be necessary to use these calls in a purely C++ application.</p> <hr size=1 noshade> <h3>Class</h3> <a href="../../db46-devel-4.6.21/api_cxx/env_class.html">DbEnv</a>, DbMpoolFile <h3>See Also</h3> <a href="../../db46-devel-4.6.21/api_cxx/memp_list.html">Memory Pools and Related Methods</a> </tt> <table width="100%"><tr><td><br></td><td align=right> <a href="../../db46-devel-4.6.21/api_cxx/api_core.html"><img src="../../db46-devel-4.6.21/images/api.gif" alt="API"></a><a href="../../db46-devel-4.6.21/ref/toc.html"><img src="../../db46-devel-4.6.21/images/ref.gif" alt="Ref"></a> </td></tr></table> <p><font size=1>Copyright (c) 1996,2007 Oracle. All rights reserved.</font> </body> </html>