Hauptseite   Klassenhierarchie   Übersicht   Auflistung der Dateien   Elementübersicht   Datei-Elemente  

blockpool.h

gehe zur Dokumentation dieser Datei
00001 
00006 #ifndef BLOCKPOOL_H
00007 #define BLOCKPOOL_H
00008 #include"growingpersistentmseg.h"
00009 #include"rpointer.h"
00010 #include"common_page.h"
00011 
00016 struct ManagementInfo
00017 {
00018   char info[80];
00019   off_t freepagelist;
00020   off_t unused_pages;
00021 };
00022 
00026 class Blockpool
00027 {
00028 protected:
00029   RAMS::PersistentGrowingMseg gm;
00030   ManagementInfo *info;
00031   int as_;
00032 public:
00033   Blockpool():as_(256) { info=NULL; }
00034   Blockpool(const char *filename,int as=256):as_(as)
00035   {
00036     RAMS::RPointer_s sud;
00037     init(filename,sud);
00038   }
00042   int init(const char *filename,RAMS::RPointer_s &sud); // return 1 if neu
00043   void free(RAMS::RPointer<CommonPage,PAGESIZE>& page);
00044   // ret muß schon fuer gm da sein !
00045   void getpage(RAMS::RPointer<CommonPage,PAGESIZE>& ret);
00046   RAMS::Mseg *getseg() { return &gm; }
00047 };
00048 #endif 
00049 
00050 
00051 
00052 
00053 
00054 
00055 
00056 
00057 

Erzeugt am Sat Dec 7 22:11:52 2002 für ramsbtree von doxygen1.2.12 geschrieben von Dimitri van Heesch, © 1997-2001