Copyright (C) 1994, Digital Equipment Corp.
NetObjMon.i3
The interface NetObjMon provides a way of inspecting the state
of the network object runtime at a program.
INTERFACE NetObjMon;
IMPORT NetObj, RefList, Thread;
TYPE
(* a "NetObjMon.T" is used to query the state of the network object
runtime, and to simulate the death of surrogate objects and remote
program instances *)
T = NetObj.T OBJECT METHODS
dump (): REFANY (* NGCMonitor.Dump *)
RAISES {NetObj.Error, Thread.Alerted};
dumpNames (): RefList.T (* of NGCMonitor.NDump *)
RAISES {NetObj.Error, Thread.Alerted};
END;
Binding to NetObjMon.Ts is performed via a NetObjMon.Registry.
TYPE
Registry = NetObj.T OBJECT METHODS
register (t: T; id: TEXT)
RAISES {NetObj.Error, Thread.Alerted};
list (): REF ARRAY OF TEXT
RAISES {NetObj.Error, Thread.Alerted};
(* "list" would return an array of "(id: TEXT, t: T)" pairs,
but for the fact that if any of the owners of the "t"s
are dead, it won't be possible to unmarshal {\em any} of
the "t"s. So we give a list of "id"s, which can be passed
as needed to "get", below. *)
get (id: TEXT): T
RAISES {NetObj.Error, Thread.Alerted};
END;
CONST
RegistryServiceName = "NetObjMon.Registry";
PROCEDURE Register (); (* create and register a local monitor *)
END NetObjMon.