|
|
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 - metrics - 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; ┆