|
|
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: 4096 (0x1000)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Treat_A_Client_Which_Know_The_Requested_Object_Id, seg_05691a, separate Orb_Service.Request
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
separate (Orb_Service.Request)
procedure Treat_A_Client_Which_Know_The_Requested_Object_Id is
begin
The_Object_Id := Object_Manager.Search_Method_By_Object_Id
(Data_Base, Message.Get_Dest (Mess), Method_N);
if not Object_Manager.Is_Equal (The_Object_Id, Object_Manager.Null_Id) then
-- the requested object exist
Task_Io.Put_Line ("l'object demande existe");
The_Object := Object_Manager.Get_Object_By_Id
(Data_Base, Parametre_Defs.Identificator
(The_Object_Id));
Message.Set_Emet (Mess, Message.Get_Emet (Mess));
Message.Set_Dest (Mess, Parametre_Defs.Identificator (The_Object_Id));
Object_Manager.Talk_To_Object (Data_Base => Data_Base,
Id => The_Object_Id,
Mess => Mess,
Result => Result);
if not Result then
Task_Io.Put_Line
("cannot talk to the object specified by the client");
Task_Io.Put_Line ("renvoie une answer bidon au demandeur");
Message.Set_Type (Mess, Parametre_Defs.Answe);
Object_Manager.Talk_To_Object
(Data_Base => Data_Base,
Id => Object_Manager.Object_Id (Message.Get_Emet (Mess)),
Mess => Mess,
Result => Result);
Object_Manager.Set_To_Unknow (Data_Base, The_Object_Id);
else
if Object_Manager.Is_Unknown (Data_Base, The_Object_Id) then
Object_Manager.Set_To_Free (Data_Base, The_Object_Id);
end if;
Object_Manager.Give_Work (Data_Base, The_Object_Id);
Task_Io.Put_Line ("ok request sended");
end if;
else
-- the requested object do not exist
Task_Io.Put_Line ("l'object demande n'existe pas");
Message.Set_Emet (Mess, Message.Get_Emet (Mess));
Message.Set_Dest (Mess, Message.Get_Emet (Mess));
Object_Manager.Talk_To_Object
(Data_Base => Data_Base,
Id => Object_Manager.Object_Id (Message.Get_Emet (Mess)),
Mess => New_Mess,
Result => Result);
if not Result then
Object_Manager.Set_To_Unknow
(Data_Base, Object_Manager.Object_Id (Message.Get_Emet (Mess)));
end if;
end if;
end Treat_A_Client_Which_Know_The_Requested_Object_Id;
nblk1=3
nid=0
hdr6=6
[0x00] rec0=15 rec1=00 rec2=01 rec3=018
[0x01] rec0=17 rec1=00 rec2=03 rec3=010
[0x02] rec0=10 rec1=00 rec2=02 rec3=000
tail 0x21762cefc87c48a2d0735 0x42a00088462060003