DelegatingCacheAccessor.cpp

Go to the documentation of this file.
00001 /*
00002 // $Id: //open/dev/fennel/cache/DelegatingCacheAccessor.cpp#11 $
00003 // Fennel is a library of data storage and processing components.
00004 // Copyright (C) 2005-2009 The Eigenbase Project
00005 // Copyright (C) 2005-2009 SQLstream, Inc.
00006 // Copyright (C) 2005-2009 LucidEra, Inc.
00007 // Portions Copyright (C) 1999-2009 John V. Sichi
00008 //
00009 // This program is free software; you can redistribute it and/or modify it
00010 // under the terms of the GNU General Public License as published by the Free
00011 // Software Foundation; either version 2 of the License, or (at your option)
00012 // any later version approved by The Eigenbase Project.
00013 //
00014 // This program is distributed in the hope that it will be useful,
00015 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017 // GNU General Public License for more details.
00018 //
00019 // You should have received a copy of the GNU General Public License
00020 // along with this program; if not, write to the Free Software
00021 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00022 */
00023 
00024 #include "fennel/common/CommonPreamble.h"
00025 #include "fennel/cache/DelegatingCacheAccessor.h"
00026 
00027 FENNEL_BEGIN_CPPFILE("$Id: //open/dev/fennel/cache/DelegatingCacheAccessor.cpp#11 $");
00028 
00029 DelegatingCacheAccessor::DelegatingCacheAccessor(
00030     SharedCacheAccessor pDelegateInit)
00031     : pDelegate(pDelegateInit)
00032 {
00033 }
00034 
00035 CachePage *DelegatingCacheAccessor::lockPage(
00036     BlockId blockId,
00037     LockMode lockMode,
00038     bool readIfUnmapped,
00039     MappedPageListener *pMappedPageListener,
00040     TxnId txnId)
00041 {
00042     return pDelegate->lockPage(
00043         blockId,lockMode,readIfUnmapped,pMappedPageListener,txnId);
00044 }
00045 
00046 void DelegatingCacheAccessor::unlockPage(
00047     CachePage &page,
00048     LockMode lockMode,
00049     TxnId txnId)
00050 {
00051     pDelegate->unlockPage(page,lockMode,txnId);
00052 }
00053 
00054 void DelegatingCacheAccessor::discardPage(
00055     BlockId blockId)
00056 {
00057     pDelegate->discardPage(blockId);
00058 }
00059 
00060 bool DelegatingCacheAccessor::prefetchPage(
00061     BlockId blockId,
00062     MappedPageListener *pMappedPageListener)
00063 {
00064     return pDelegate->prefetchPage(blockId,pMappedPageListener);
00065 }
00066 
00067 void DelegatingCacheAccessor::prefetchBatch(
00068     BlockId blockId,uint nPages,
00069     MappedPageListener *pMappedPageListener)
00070 {
00071     pDelegate->prefetchBatch(blockId,nPages,pMappedPageListener);
00072 }
00073 
00074 void DelegatingCacheAccessor::flushPage(CachePage &page,bool async)
00075 {
00076     pDelegate->flushPage(page,async);
00077 }
00078 
00079 void DelegatingCacheAccessor::nicePage(CachePage &page)
00080 {
00081     pDelegate->nicePage(page);
00082 }
00083 
00084 SharedCache DelegatingCacheAccessor::getCache()
00085 {
00086     return pDelegate->getCache();
00087 }
00088 
00089 uint DelegatingCacheAccessor::getMaxLockedPages()
00090 {
00091     return pDelegate->getMaxLockedPages();
00092 }
00093 
00094 void DelegatingCacheAccessor::setMaxLockedPages(uint nPages)
00095 {
00096     pDelegate->setMaxLockedPages(nPages);
00097 }
00098 
00099 TxnId DelegatingCacheAccessor::getTxnId() const
00100 {
00101     return pDelegate->getTxnId();
00102 }
00103 
00104 void DelegatingCacheAccessor::setTxnId(TxnId txnId)
00105 {
00106     pDelegate->setTxnId(txnId);
00107 }
00108 
00109 void DelegatingCacheAccessor::getPrefetchParams(
00110     uint &prefetchPagesMax,
00111     uint &prefetchThrottleRate)
00112 {
00113     pDelegate->getPrefetchParams(prefetchPagesMax, prefetchThrottleRate);
00114 }
00115 
00116 FENNEL_END_CPPFILE("$Id: //open/dev/fennel/cache/DelegatingCacheAccessor.cpp#11 $");
00117 
00118 // End DelegatingCacheAccessor.cpp

Generated on Mon Jun 22 04:00:13 2009 for Fennel by  doxygen 1.5.1