<> <> <> <> <> DIRECTORY AlpineEnvironment USING[PageNumber], FileMap USING[Handle], FilePageMgrPrivateChunk USING[Chunk, ChunkType, ListChunkType, RefChunk], FilePageMgrPrivateFile USING[FPMFileHandle]; FilePageMgrLru: CEDAR DEFINITIONS = BEGIN <> PutMappedChunkOnLruList: PROCEDURE[refChunk: FilePageMgrPrivateChunk.RefChunk, lruListPlace: LruListPlace]; <> LruListPlace: TYPE = {mru, lru}; PutUnmappedChunkOnLruList: PROCEDURE[refChunk: FilePageMgrPrivateChunk.RefChunk]; <> GetOurChunkFromLruList: PROCEDURE [refChunk: FilePageMgrPrivateChunk.RefChunk, tellSweeperToHurry: BOOLEAN]; <> GetOtherChunkFromLruList: PROCEDURE [chunkType: FilePageMgrPrivateChunk.ListChunkType] RETURNS[mapped: BOOLEAN, refChunk: FilePageMgrPrivateChunk.RefChunk, fileHandle: FileMap.Handle, startFilePageNumber: AlpineEnvironment.PageNumber]; <> <> RelinkChunkAsLruOnLruList: PROCEDURE[refChunk: FilePageMgrPrivateChunk.RefChunk]; <> UsingTooMuchOfCache: PROCEDURE[fPMFileHandle: FilePageMgrPrivateFile.FPMFileHandle] RETURNS [yes: BOOLEAN]; <> <> WaitToSweep: PROCEDURE [oldNeedToHurry: BOOLEAN, chunkType: FilePageMgrPrivateChunk.ListChunkType] RETURNS[needToHurry: BOOLEAN, sweepList: LIST OF SweepItem]; <> SweepItem: TYPE = RECORD[fileHandle: FileMap.Handle, startFilePageNumber: AlpineEnvironment.PageNumber]; InitializeLruLists: PROCEDURE[nChunks: ARRAY FilePageMgrPrivateChunk.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 <> <> <<>>