|
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: 7168 (0x1c00) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Time, seg_02d468
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦this⟧
with Behavior; with Identifier; with Method; with Message; with Message_Transport; with Parameter; with Signature; with Text_Io; with Time_Utilities; use Text_Io; package body Time is procedure Process_Message (M : Message.Object); task Tx is entry Start; entry Go; end Tx; package B is new Behavior (Tx.Go, Process_Message); procedure Notification (M : Message.Object) is begin null; end Notification; procedure Request (M : Message.Object) is Time : constant String := Time_Utilities.Image (Date => Time_Utilities.Get_Time, Date_Style => Time_Utilities.Expanded, Time_Style => Time_Utilities.Expanded, Contents => Time_Utilities.Both); Status : Message_Transport.Status_Code; use Message_Transport; begin if Method.Get_Name (Message.Get_Method (M)) = "DATE" then B.Send_Message (Message => Message.Create (Class => Message.Forward, Addressee => Message.Get_Sender (M), Sender => Identifier.Hash (B.Get_Identity), Method => "date", Parameter_Name => "date", Parameter_Class => "string", Parameter_Value => Time), Status => Status); if Status = Ok then --Put_Line ("--- asking broker to forward"); null; else Put_Line ("*** failed asking broker to forward"); end if; end if; end Request; task body Tx is Status : Message_Transport.Status_Code; begin accept Start; accept Go; -- we have been registered, and can publish declare begin Message_Transport.Put (Message => Message.Image (Message => Message.Create (Class => Message.Publication, Addressee => Identifier.Hash (Id => Identifier.Broker), Sender => Identifier.Hash (Id => B.Get_Identity), Method => "date", Parameter_Name => "date", Parameter_Class => "string", Parameter_Value => Parameter.Void)), Remote_Host => Identifier.Get_Host (Id => Identifier.Broker), Remote_Socket => Identifier.Get_Socket (Id => Identifier.Broker), Number_Of_Retry => 10, Retry_Delay => 0.1, Status => Status); exception when others => Put_Line ("ca a foire"); end; loop delay Duration'Last; end loop; end Tx; procedure Process_Message (M : Message.Object) is use Message; begin case Message.Get_Class (M) is when Message.Request => Request (M); when Message.Notification => Notification (M); when others => null; end case; end Process_Message; procedure Start is begin Tx.Start; end Start; end Time;
nblk1=6 nid=6 hdr6=8 [0x00] rec0=28 rec1=00 rec2=01 rec3=02e [0x01] rec0=1a rec1=00 rec2=03 rec3=02a [0x02] rec0=17 rec1=00 rec2=02 rec3=004 [0x03] rec0=21 rec1=00 rec2=05 rec3=000 [0x04] rec0=22 rec1=00 rec2=05 rec3=000 [0x05] rec0=22 rec1=00 rec2=05 rec3=001 tail 0x215267dd4844e52b5a460 0x42a00088462060003 Free Block Chain: 0x6: 0000 00 04 00 24 00 09 20 20 20 20 62 65 67 69 6e 09 ┆ $ begin ┆ 0x4: 0000 00 00 00 2c 80 05 43 6f 64 65 3b 05 00 09 20 20 ┆ , Code; ┆