The TransportRegistry interface provides the network objects runtime
with access to the registry of transport classes known within the
current runtime environment.
INTERFACETransportRegistry ; IMPORT NetObj, Transport; PROCEDURE LocationFromAdr( where: NetObj.Address) : Transport.Location;
LocationFromAdr calls tr.fromEndpoint for each member
of where for each transport tr known to the runtime. If any
such call returns a non-NIL result, it is returned. Otherwise,
LocationFromAdr returns NIL.
PROCEDURE LocalAdr() : NetObj.Address;
LocalAdr calls tr.toEndpoint for each transport tr known
to the runtime, and returns the list as a NetObj.Addresss.
PROCEDURE Iterate() : Iterator;
Iterate returns an Iterator over the known transports.
TYPE
Iterator <: IteratorPublic;
IteratorPublic = OBJECT METHODS
next (VAR (*OUT*) tr: Transport.T): BOOLEAN;
END;
If it is the result of the call Iterate(), then the call
it.next(tr) selects a Transport.T that has not already
been returned by it, sets tr to that Transport.T, and
returns TRUE. If no transports remain, the call returns FALSE
without setting tr. It is a checked runtime error to call
next after it has returned FALSE.
END TransportRegistry.