-- Copyright (C) 1985 by Xerox Corporation. All rights reserved. -- ArpaStatsImpl.mesa; last edited by SMA 13-Jul-85 13:10:25 DIRECTORY ArpaStats, CommHeap USING [zone]; ArpaStatsImpl: PROGRAM IMPORTS CommHeap EXPORTS ArpaStats = BEGIN counters: ArpaStats.Counters; Bump: PUBLIC PROC[i: ArpaStats.CounterIndex, n: CARDINAL] = {counters[i] ← counters[i] + n}; Clear: PUBLIC PROC = {FOR i: ArpaStats.CounterIndex IN ArpaStats.CounterIndex DO counters[i] ← 0; ENDLOOP}; GetCounter: PUBLIC PROC[i: ArpaStats.CounterIndex] RETURNS [LONG CARDINAL] = {RETURN[counters[i]]}; GetCounters: PUBLIC PROC RETURNS [ArpaStats.Counters] = {RETURN[counters]}; Incr: PUBLIC PROC [i: ArpaStats.CounterIndex] = {counters[i] ← counters[i] + 1}; --mainline code. counters ← CommHeap.zone.NEW[ARRAY ArpaStats.CounterIndex OF LONG CARDINAL]; Clear[]; END.. LOG 13-Jul-85 12:47:55 SMA Created file.