|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 4096 (0x1000) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Transport_Server_Proc, seg_0009dc
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦this⟧
procedure Transport_Server_Proc (Service : in out Service_Type; Connection : in out Transport.Connection_Id; Network : Transport_Defs.Network_Name; Local_Socket : Transport_Defs.Socket_Id) is Status : Transport_Defs.Status_Code; Fatal_Error : exception; Min_Backoff : constant Duration := 0.1; Max_Backoff : constant Duration := 5 * 60.0; Backoff : Duration := Min_Backoff; procedure Do_Backoff (Backoff : in out Duration) is begin delay Backoff; Backoff := 2 * Backoff; if Backoff > Max_Backoff then Backoff := Max_Backoff; end if; end Do_Backoff; function Status_Ok return Boolean is begin case Status is when Transport_Defs.Ok => return True; when Transport_Defs.Too_Many_Clients | Transport_Defs.No_Hardware | Transport_Defs.No_Such_Network | Transport_Defs.Socket_In_Use | Transport_Defs.Access_Denied => raise Fatal_Error; when others => Do_Backoff (Backoff); return False; end case; end Status_Ok; begin loop Transport.Open (Connection, Status, Network, Local_Socket); if Status_Ok then Transport.Connect (Connection, Status); if Status_Ok then Serve (Service, Connection); Backoff := Min_Backoff; end if; Transport.Disconnect (Connection); end if; Transport.Close (Connection); end loop; exception when Fatal_Error => Transport.Close (Connection); when others => Transport.Close (Connection); raise; end Transport_Server_Proc;
nblk1=3 nid=0 hdr6=6 [0x00] rec0=1d rec1=00 rec2=01 rec3=004 [0x01] rec0=1d rec1=00 rec2=02 rec3=00c [0x02] rec0=02 rec1=00 rec2=03 rec3=000 tail 0x201007cea7bac64ca0b61 0x42a00088462060003