DIRECTORY DragOpsCross USING [Word], IO USING [STREAM], Rope USING [ROPE]; CacheModels: CEDAR DEFINITIONS = BEGIN Word: TYPE = DragOpsCross.Word; wordsPerPage: CARDINAL = 128; logWordsPerPage: CARDINAL = 7; Cache: TYPE = REF CacheRec; CacheRec: TYPE = RECORD [ private: REF _ NIL, -- private data to the cache implementation fetch: CacheFetchProc _ NIL, -- this hook allows the user to intercept cache accesses store: CacheStoreProc _ NIL, -- this hook allows the user to intercept cache accesses reset: CacheResetProc _ NIL, -- Resets the given cache to its initial state flush: CacheFlushProc _ NIL, -- Forget everything it knows, but don't effect stats print: CachePrintProc _ NIL, -- Print statistics, and eventually resets them data: REF _ NIL -- private data for clients intercepting fetch & store ]; CacheFetchProc: TYPE = PROC [cache: Cache, addr: Word, fromJump: BOOL _ FALSE]; CacheStoreProc: TYPE = PROC [cache: Cache, addr: Word]; CacheResetProc: TYPE = PROC [cache: Cache]; CacheFlushProc: TYPE = PROC [cache: Cache]; CachePrintProc: TYPE = PROC [cache: Cache, stream: IO.STREAM, name: Rope.ROPE, resetStatistics: BOOL _ TRUE]; Fetch: CacheFetchProc; Store: CacheStoreProc; Reset: CacheResetProc; Flush: CacheFlushProc; Print: CachePrintProc; END. XCacheModels.mesa Copyright c 1984, 1985 by Xerox Corporation. All rights reserved. Bertrand Serlet, April 4, 1985 5:31:54 pm PST Last Edited by: Serlet, April 12, 1985 2:32:35 pm PST Last Edited by: Sindhu, May 7, 1985 11:29:20 am PDT Pradeep Sindhu February 17, 1986 3:56:23 pm PST Basic Types Cache Related Types Short ways of calling Κλ˜codešœ™Kšœ Οmœ7™BKšœ-™-Kšœ5™5K™3K™/—K˜šΟk ˜ Kšœ žœ ˜Kšžœžœžœ˜Kšœžœžœ˜K˜—šΟb œžœž œž˜&K˜šœ ™ K˜Kšœžœ˜Kšœžœ˜Kšœžœ˜—K˜šœ™K˜KšŸœžœžœ ˜–36 sp tabStopsšœ žœžœ˜K–36 sp tabStopsšœ žœžœΟc+˜?K–36 sp tabStopsšœžœ 8˜UK–36 sp tabStopsšœžœ 8˜UK–36 sp tabStopsšœžœ .˜KK–36 sp tabStopsšœžœ 5˜RK–36 sp tabStopsšœžœ /˜LK–36 sp tabStopsšœžœžœ 6˜FK–36 sp tabStops˜K–36 sp tabStops˜—K–36 sp tabStopsš Οnœžœžœ&žœžœ˜OK˜Kš‘œžœžœ˜8K˜Kš‘œžœžœ˜,K˜Kš‘œžœžœ˜,K˜Kš‘œžœžœžœžœ žœžœžœ˜n—K˜™K˜KšŸœ˜K˜KšŸœ˜K˜KšŸœ˜K˜KšŸœ˜K˜KšŸœ˜—K˜Kšžœ˜K˜K˜——…— K