|
|
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: 5120 (0x1400)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Test_Bal, seg_0546c2
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Message;
with B_Constant;
with Liste_Parametre;
with Parametre;
with Bounded_String;
with Parametre_Defs;
with Display_Mess;
with Task_Io;
with Bal;
procedure Test_Bal is
Ma_Bal : Bal.Object;
task Facteur is
entry Start (B : Bal.Object);
end Facteur;
task Woz_Receiver is
entry Start (B : Bal.Object);
end Woz_Receiver;
task body Facteur is
Mess1 : Message.Object;
Mess2 : Message.Object;
Liste_Bidon : Liste_Parametre.List;
begin
accept Start (B : Bal.Object) do
Task_Io.Put_Line
("-----------------------------------------------debut facteur");
Liste_Bidon :=
Liste_Parametre.Make
(Bounded_String.Value
("coucou1", B_Constant.Parametre_Max_Size), Liste_Bidon);
Liste_Bidon :=
Liste_Parametre.Make
(Bounded_String.Value
("cucupopo", B_Constant.Parametre_Max_Size), Liste_Bidon);
Liste_Bidon := Liste_Parametre.Make
(Bounded_String.Value
("barbapapa", B_Constant.Parametre_Max_Size),
Liste_Bidon);
Message.Create (Mess1, "444444", "555555",
Parametre_Defs.Message_Type'Value ("unreg"),
"9999", Liste_Bidon);
Message.Create (Mess2, "123456", "567890",
Parametre_Defs.Message_Type'Value ("Regis"),
"9999", Liste_Bidon);
Task_Io.Put_Line ("je vais deposer 2 messages dans la bal");
Bal.Put (Ma_Bal, Mess1);
Bal.Put (Ma_Bal, Mess2);
Bal.Put (Ma_Bal, Mess2);
Bal.Put (Ma_Bal, Mess1);
Task_Io.Put_Line
("-----------------------------------------------fin_facteur");
end Start;
end Facteur;
task body Woz_Receiver is
Mess3 : Message.Object;
begin
accept Start (B : Bal.Object) do
Task_Io.Put_Line
("-----------------------------------------------debut woz");
Task_Io.Put_Line ("je recupere un element");
Bal.Get (Ma_Bal, Mess3);
Task_Io.Put_Line ("j affiche");
Display_Mess.Get_Trame (Mess3);
if not Bal.Is_Empty (Ma_Bal) then
Task_Io.Put_Line ("bal non vide");
Bal.Get (Ma_Bal, Mess3);
end if;
Display_Mess.Get_Trame (Mess3);
Bal.Get (Ma_Bal, Mess3);
Display_Mess.Get_Trame (Mess3);
Bal.Get (Ma_Bal, Mess3);
Display_Mess.Get_Trame (Mess3);
if Bal.Is_Empty (Ma_Bal) then
Task_Io.Put_Line ("la bal est vide");
end if;
Task_Io.Put_Line
("-----------------------------------------------fin woz");
end Start;
end Woz_Receiver;
begin
Facteur.Start (Ma_Bal);
Woz_Receiver.Start (Ma_Bal);
Bal.Dispose (Ma_Bal);
Task_Io.Dispose;
end Test_Bal;
nblk1=4
nid=0
hdr6=8
[0x00] rec0=26 rec1=00 rec2=01 rec3=048
[0x01] rec0=12 rec1=00 rec2=02 rec3=082
[0x02] rec0=1c rec1=00 rec2=03 rec3=036
[0x03] rec0=0b rec1=00 rec2=04 rec3=000
tail 0x2175d80f087b884a329d3 0x42a00088462060003