-- /ivy/binding/hickory/hickoryCache.mesa -- Last edited by: Binding, July 23, 1984 3:29:12 pm PDT DIRECTORY BasicTime USING [ GMT], Hickory USING [ RepetitionType, Event, EventTuple, EventList], Rope USING [ ROPE] ; HickoryCache: CEDAR DEFINITIONS = BEGIN OPEN Hickory; -- Routines dealing with caches for generating sequences of repeated events MaxCost: PRIVATE CARDINAL; -- evaluates the frequency of insertion of occurrences into a cache LoadCaches: PRIVATE --INTERNAL-- PROCEDURE; StoreCaches: PRIVATE --INTERNAL-- PROCEDURE; InvalidateCaches: PRIVATE --INTERNAL-- PROCEDURE []; InvalidateOneCache: PRIVATE --INTERNAL-- PROCEDURE [ ev: Event, erase: BOOLEAN _ FALSE]; <> FindNextOccurrence: PRIVATE --INTERNAL-- PROCEDURE [ ev: Event, firstTime, lastOccurred, after: BasicTime.GMT, repType: RepetitionType, repTime: Rope.ROPE] RETURNS [ nextTime: BasicTime.GMT]; <= after>> MaintainCache: PRIVATE --INTERNAL-- PROCEDURE [ ev: Event, lastOccurred: BasicTime.GMT]; <> <> IsInEnteredEvents: PRIVATE --INTERNAL-- PROCEDURE [ ev: EventTuple] RETURNS [ duplicate: BOOLEAN, key: Event]; DeleteFromEnteredEvents: PRIVATE -- INTERNAL-- PROCEDURE [ key: Event]; InsertEvent: PRIVATE --INTERNAL-- PROC [ evt: EventTuple]; ForgetCachedEvent: PRIVATE --INTERNAL-- PROC [ ev: Event, on: BOOLEAN]; FindCachedEvent: PRIVATE --INTERNAL-- PROC [ ev: Event] RETURNS [ evl: EventList]; InvalidateEventCache: PRIVATE -- INTERNAL -- PROC; END.