00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include <Basics.H>
00024 #include <ReadConfig.H>
00025 #include <CacheConfig.H>
00026 #include "CacheConfigServer.H"
00027
00028
00029 const int Config_FreePauseDur =
00030 ReadConfig::IntVal(Config_CacheSection, "FreePauseDur");
00031
00032
00033 int Config_MaxRunning(1000);
00034 int Config_MaxBlocked(1000);
00035 int Config_WeedPauseDur(0);
00036 int Config_MaxCacheLogCnt(500);
00037 int Config_MPKFileFlushNum(20);
00038 int Config_FlushWorkerCnt(5);
00039 int Config_FlushNewPeriodCnt(1);
00040 int Config_PurgeWarmPeriodCnt(2);
00041 int Config_EvictPeriodCnt(3);
00042 bool Config_FreeAggressively(false);
00043 bool Config_ReadImmutable(true);
00044 bool Config_KeepNewOnFlush(false);
00045 bool Config_KeepOldOnFlush(false);
00046
00047 class CacheConfigServerInit {
00048 public:
00049 CacheConfigServerInit() throw ();
00050
00051 };
00052 static CacheConfigServerInit cacheConfigServerInit;
00053
00054 CacheConfigServerInit::CacheConfigServerInit() throw ()
00055 {
00056
00057 (void) ReadConfig::OptIntVal(Config_CacheSection,
00058 "MaxRunning", Config_MaxRunning);
00059 (void) ReadConfig::OptIntVal(Config_CacheSection,
00060 "MaxBlocked", Config_MaxBlocked);
00061 (void) ReadConfig::OptIntVal(Config_CacheSection,
00062 "WeedPauseDur", Config_WeedPauseDur);
00063 (void) ReadConfig::OptIntVal(Config_CacheSection,
00064 "MaxCacheLogCnt", Config_MaxCacheLogCnt);
00065 (void) ReadConfig::OptIntVal(Config_CacheSection,
00066 "MPKFileFlushNum", Config_MPKFileFlushNum);
00067 (void) ReadConfig::OptIntVal(Config_CacheSection,
00068 "FlushWorkerCnt", Config_FlushWorkerCnt);
00069
00070 if(!ReadConfig::OptIntVal(Config_CacheSection, "FlushNewPeriodCnt",
00071 Config_FlushNewPeriodCnt))
00072 {
00073
00074
00075 (void) ReadConfig::OptIntVal(Config_CacheSection, "FreePeriodCnt",
00076 Config_FlushNewPeriodCnt);
00077 }
00078
00079 if(!ReadConfig::OptIntVal(Config_CacheSection, "PurgeWarmPeriodCnt",
00080 Config_PurgeWarmPeriodCnt))
00081 {
00082
00083 Config_PurgeWarmPeriodCnt = Config_FlushNewPeriodCnt + 1;
00084 }
00085
00086 if(!ReadConfig::OptIntVal(Config_CacheSection, "EvictPeriodCnt",
00087 Config_EvictPeriodCnt))
00088 {
00089
00090 Config_EvictPeriodCnt = Config_PurgeWarmPeriodCnt + 1;
00091 }
00092
00093 (void) ReadConfig::OptBoolVal(Config_CacheSection,
00094 "FreeAggressively", Config_FreeAggressively);
00095 (void) ReadConfig::OptBoolVal(Config_CacheSection,
00096 "ReadImmutable", Config_ReadImmutable);
00097 (void) ReadConfig::OptBoolVal(Config_CacheSection,
00098 "KeepNewOnFlush", Config_KeepNewOnFlush);
00099 (void) ReadConfig::OptBoolVal(Config_CacheSection,
00100 "KeepOldOnFlush", Config_KeepOldOnFlush);
00101 }