The interface NGCMonitor
provides a way of inspecting the state
of the network object runtime at a program.
INTERFACENGCMonitor ; IMPORT WireRep, DirtyElem, Fingerprint, Transport, RefList; TYPE (* A value of type "Dump" is a snapshot of the state of the network object garbage collector in some program. *) Dump = REF RECORD concs: RefList.T (* of CDump *) := NIL; srgts: RefList.T (* of SDump *) := NIL; locs: RefList.T (* of LDump *) := NIL; END; ODump = OBJECT obj: WireRep.T; fp: Fingerprint.T; typeName: TEXT; END; CDump = ODump OBJECT pinCount: CARDINAL; END; SDump = ODump OBJECT owner: Transport.Endpoint; END; LDump = REF RECORD info: TEXT; ep: Transport.Endpoint; exports: RefList.T (* of DDump *) := NIL; END; DDump = REF RECORD wrep: WireRep.T; de: DirtyElem.T; END; NDump = REF RECORD name: TEXT; (* in export table *) obj: WireRep.T; END; PROCEDURE MonitorDump() : Dump; (* return snapshot of local network object state *) PROCEDURE MonitorDumpNames() : RefList.T (*of NDump*); (* return snapshot of local agent table *) END NGCMonitor.