<> <> <> <> <<>> DIRECTORY IO USING [STREAM], Rope USING [ROPE]; PerfStats: CEDAR DEFINITIONS = BEGIN ROPE: TYPE = Rope.ROPE; STREAM: TYPE = IO.STREAM; Counter: TYPE = REF CounterObject; CounterObject: PRIVATE TYPE = RECORD [ pName: ROPE, counter: LONG CARDINAL _ NULL, next: Counter]; <> CreateCounter: PROC [name: ROPE] RETURNS [Counter]; DuplicateName: ERROR; <> InitializeCounter: PROC [event: Counter]; DestroyCounter: PROC [event: Counter]; Inc: PROC [event: Counter] = INLINE {event.counter _ event.counter + 1}; Timer: TYPE = REF TimerObject; TimerObject: TYPE; CreateTimer: PROC [name: ROPE] RETURNS [Timer]; InitializeTimer: PROC [event: Timer]; DestroyTimer: PROC [event: Timer]; Start: PROC [event: Timer]; Stop: PROC [event: Timer]; Initialize: PROC[]; <> Print: PROC [heading: ROPE _ NIL, oStream: STREAM, verbose: BOOL _ FALSE]; <> END. <> <> <> <> <> <> <> <> <> <> <> <> <> <> Created by MBrown on November 4, 1980 3:35 PM <> Changed by MBrown on November 7, 1980 9:31 AM <> Changed by MBrown on January 10, 1981 9:24 PM <> Changed by MBrown on January 11, 1981 4:46 PM <> Changed by MBrown on 18-Aug-81 18:28:40 < Rope.>> Changed by MBrown on 7-Dec-81 15:23:08 <> Changed by MBrown on June 24, 1982 1:16 pm < IO, CEDAR.>> Changed by MBrown on August 26, 1982 9:21 pm <>