<> <> <> <> <> <> <> <> DIRECTORY BTree USING [ ReferencePage, ReleasePage ], File USING [ Handle, PageNumber ]; BTreeVM: CEDAR DEFINITIONS = BEGIN FilePagesPerPage: TYPE = [1..16]; CacheSize: TYPE = [8..255]; -- in BTree pages -- Handle: TYPE = REF VMObject; VMObject: TYPE; Open: PROC [ file: File.Handle, filePagesPerPage: FilePagesPerPage, cacheSize: CacheSize, base: File.PageNumber _ [0] ] RETURNS [ Handle ]; <> <<>> <> ReferencePage: BTree.ReferencePage; <> ReleasePage: BTree.ReleasePage; <> GetStats: PROC [ h: Handle ] RETURNS [hits, misses, reads, writes, cumChainLength, cumReadWriteTime: LONG CARDINAL]; <> FlushCache: PROC [ h: Handle ]; <> FreeBuffers: PROC [ h: Handle ]; <> <<>> END.