<> <> <> <<>> <> <<>> DIRECTORY BasicTime USING [Pulses], Pup USING [Address, Net]; PupHop: CEDAR DEFINITIONS = { Milliseconds: TYPE = INT; Pulses: TYPE = BasicTime.Pulses; <> maxHop: NAT = 15; unreachable: NAT = maxHop+1; <> <<>> Hop: TYPE = [0..maxHop+1]; RoutingTableEntry: TYPE = RECORD [ hop: Hop, -- 0 => directly connected immediate: Pup.Address, -- socket will be null time: CARDINAL ]; <<>> GetHop: PROC [Pup.Net] RETURNS [Hop]; <> <> <<>> GetRouting: PROC [Pup.Net] RETURNS [RoutingTableEntry]; <> <> Fast: PROC [Pup.Net] RETURNS [yes: BOOL]; <> <> <> <<>> <> <<>> <> <<>> <> <> <<>> InitialTimeout: PROC [net: Pup.Net, base: Milliseconds] RETURNS [Milliseconds]; InitialTimeoutPulses: PROC [net: Pup.Net, base: Pulses] RETURNS [Pulses]; <> <> }.