<> <> <> <> <> <> DIRECTORY YggEnvironment USING[PageNumber], YggFileMap USING[Handle], YggFilePageMgrPrivateChunk USING[Chunk, ChunkType, ListChunkType, RefChunk], YggFilePageMgrPrivateFile USING[FPMFileHandle]; YggFilePageMgrLru: CEDAR DEFINITIONS = BEGIN <> PutMappedChunkOnLruList: PROCEDURE[refChunk: YggFilePageMgrPrivateChunk.RefChunk, lruListPlace: LruListPlace]; <> LruListPlace: TYPE = {mru, lru}; PutUnmappedChunkOnLruList: PROCEDURE[refChunk: YggFilePageMgrPrivateChunk.RefChunk]; <> GetOurChunkFromLruList: PROCEDURE [refChunk: YggFilePageMgrPrivateChunk.RefChunk, tellSweeperToHurry: BOOLEAN]; <> GetOtherChunkFromLruList: PROCEDURE [chunkType: YggFilePageMgrPrivateChunk.ListChunkType] RETURNS[mapped: BOOLEAN, refChunk: YggFilePageMgrPrivateChunk.RefChunk, fileHandle: YggFileMap.Handle, startFilePageNumber: YggEnvironment.PageNumber]; <> <> RelinkChunkAsLruOnLruList: PROCEDURE[refChunk: YggFilePageMgrPrivateChunk.RefChunk]; <> UsingTooMuchOfCache: PROCEDURE[fPMFileHandle: YggFilePageMgrPrivateFile.FPMFileHandle] RETURNS [yes: BOOLEAN]; <> <> WaitToSweep: PROCEDURE [oldNeedToHurry: BOOLEAN, currentEpoch: NAT, chunkType: YggFilePageMgrPrivateChunk.ListChunkType] RETURNS[needToHurry: BOOLEAN, sweepList: LIST OF SweepItem]; <> SweepItem: TYPE = RECORD[fileHandle: YggFileMap.Handle, startFilePageNumber: YggEnvironment.PageNumber]; InitializeLruLists: PROCEDURE[nChunks: ARRAY YggFilePageMgrPrivateChunk.ListChunkType OF NAT]; <> CheckCacheInCleanState: PROCEDURE RETURNS [clean: BOOLEAN]; <> END. Edit Log Initial: Kolling: 23-Feb-82 17:21:13: private defs file for the lru lists manager part of File Page Manager. Nodified: Hauser: February 20, 1985 3:10:03 pm PST <> <> <<>>