|
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: 21504 (0x5400) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, seg_05436d, separate Service_Manager
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦this⟧
separate (Service_Manager) task body Manager_Task is begin Text_Io.Put_Line ("Demmarrage de la tache Service Manager."); loop select accept Add_Service (Service_Name : in Orb_Defs.Name; Service_Connection : in Orb_Defs.Connection_Id; Service_Ip : in Orb_Defs.Host_Id; Service_Socket : in Orb_Defs.Socket_Id; Service_Declaration : in Orb_Defs.Message; Add : out Boolean) do declare Agent_Number : Service_Manager_Defs.Number_Of_Agent; Error_1, Error_2 : Boolean := True; begin Text_Io.Put_Line ("Add Service a ete active."); Agent_Toolbox.Add_Agent (Agent_Name => Service_Name, Agent_Number => Agent_Number, Agent_Connection => Service_Connection, Agent_Ip => Service_Ip, Agent_Socket => Service_Socket, Error => Error_1); Text_Io.Put_Line ("L'agent a ete rajoute."); Error_2 := Service_Table.Subscribe_Service (The_Subscribe_Data => Service_Declaration, Agent_Reference => Agent_Number); Text_Io.Put_Line ("Les services ont ete rajoute au tableau"); Add := not Error_1 and Error_2; end; end Add_Service; or accept Remove_Service (Service_Ip_Adress : in Orb_Defs.Host_Id; Service_Socket : in Orb_Defs.Socket_Id; Destruct : out Boolean) do declare Agent_Connection : Orb_Defs.Connection_Id; Agent_Number : Service_Manager_Defs.Number_Of_Agent; Error_1, Error_2 : Boolean := True; begin Text_Io.Put_Line ("Remove Service"); Agent_Toolbox.Find_Agent (Agent_Connection => Agent_Connection, Agent_Ip => Service_Ip_Adress, Agent_Socket => Service_Socket, Agent_Number => Agent_Number, Error => Error_1); if not Error_1 then Agent_Toolbox.Remove_Agent (Agent_Ip => Service_Ip_Adress, Agent_Socket => Service_Socket, Error => Error_2); if not Error_1 and not Error_2 then Error_2 := Service_Table.Remove_Service (Agent_Reference => Agent_Number); else Error_2 := False; end if; end if; Destruct := not Error_1 and Error_2; end; end Remove_Service; or accept Ask_Service (Ask_Class : in Orb_Defs.Class; Ask_Fct : in Orb_Defs.Funct; Service_Connection : out Orb_Defs.Connection_Id; Service_Ip : out Orb_Defs.Host_Id; Service_Socket : out Orb_Defs.Socket_Id; Service_Release : out Boolean) do declare Agent_Number : Service_Manager_Defs.Number_Of_Agent; Error_1, Error_2 : Boolean; begin Service_Table.Ask_Service (Service_Class => Ask_Class, Service_Fct => Ask_Fct, Agent_Reference => Agent_Number, Error => Error_1); Service_Connection := Agent_Toolbox.Get_Connection (Agent_Number => Agent_Number); Service_Ip := Agent_Toolbox.Get_Ip (Agent_Number => Agent_Number); Service_Socket := Agent_Toolbox.Get_Socket (Agent_Number); Service_Release := not Error_1; end; end Ask_Service; or accept Exist_Service (Ask_Class : in Orb_Defs.Class; Ask_Fct : in Orb_Defs.Funct; Service_Connection : out Orb_Defs.Connection_Id; Service_Ip : in Orb_Defs.Host_Id; Service_Socket : in Orb_Defs.Socket_Id; Service_Release : out Boolean) do declare Agent_Number : Service_Manager_Defs.Number_Of_Agent; Error : Boolean; begin Agent_Toolbox.Find_Agent (Agent_Connection => Service_Connection, Agent_Ip => Service_Ip, Agent_Socket => Service_Socket, Agent_Number => Agent_Number, Error => Error); -- On pourrait tester la classe si j ai le temps Service_Release := not Error; end; end Exist_Service; or accept Add_Filter (Filter_Name : in Orb_Defs.Name; Filter_Connection : in Orb_Defs.Connection_Id; Filter_Ip_Adress : in Orb_Defs.Host_Id; Filter_Socket : in Orb_Defs.Socket_Id; Filter_Declaration : in Orb_Defs.Message; Add : out Boolean) do declare Agent_Number : Service_Manager_Defs.Number_Of_Agent; Error_1, Error_2 : Boolean := True; begin Agent_Toolbox.Add_Agent (Agent_Name => Filter_Name, Agent_Number => Agent_Number, Agent_Connection => Filter_Connection, Agent_Ip => Filter_Ip_Adress, Agent_Socket => Filter_Socket, Error => Error_1); Error_2 := Filter_Table.Subscribe_Service (The_Subscribe_Data => Filter_Declaration, Agent_Reference => Agent_Number); Add := not Error_1 and Error_2; end; end Add_Filter; or accept Remove_Filter (Agent_Ip_Adress : in Orb_Defs.Host_Id; Agent_Socket : in Orb_Defs.Socket_Id; Destruct : out Boolean) do declare Agent_Connection : Orb_Defs.Connection_Id; Agent_Number : Service_Manager_Defs.Number_Of_Agent; Error_1, Error_2 : Boolean := True; begin Agent_Toolbox.Find_Agent (Agent_Connection => Agent_Connection, Agent_Ip => Agent_Ip_Adress, Agent_Socket => Agent_Socket, Agent_Number => Agent_Number, Error => Error_1); if not Error_1 then Agent_Toolbox.Remove_Agent (Agent_Ip => Agent_Ip_Adress, Agent_Socket => Agent_Socket, Error => Error_2); if not Error_1 and not Error_2 then Error_2 := Filter_Table.Remove_Service (Agent_Reference => Agent_Number); else Error_2 := False; end if; end if; Destruct := not Error_1 and Error_2; end; end Remove_Filter; or accept Ask_Filter (Ask_Class : in Orb_Defs.Class; Ask_Function : in Orb_Defs.Funct; Filter_Connection : out Orb_Defs.Connection_Id; Filter_Ip_Adress : out Orb_Defs.Host_Id; Filter_Socket : out Orb_Defs.Socket_Id; Filter_Delivered : out Boolean) do declare Agent_Number : Service_Manager_Defs.Number_Of_Agent; Error_1, Error_2 : Boolean; begin Filter_Table.Ask_Service (Service_Class => Ask_Class, Service_Fct => Ask_Function, Agent_Reference => Agent_Number, Error => Error_1); Filter_Connection := Agent_Toolbox.Get_Connection (Agent_Number => Agent_Number); Filter_Ip_Adress := Agent_Toolbox.Get_Ip (Agent_Number => Agent_Number); Filter_Socket := Agent_Toolbox.Get_Socket (Agent_Number); Filter_Delivered := not Error_1; end; end Ask_Filter; or accept Add_Spy (Spy_Name : in Orb_Defs.Name; Spy_Connection : in Orb_Defs.Connection_Id; Spy_Ip_Adress : in Orb_Defs.Host_Id; Spy_Socket : in Orb_Defs.Socket_Id; Spy_Declaration : in Orb_Defs.Message; Add : out Boolean) do declare Agent_Number : Service_Manager_Defs.Number_Of_Agent; Error_1, Error_2 : Boolean := True; begin Agent_Toolbox.Add_Agent (Agent_Name => Spy_Name, Agent_Number => Agent_Number, Agent_Connection => Spy_Connection, Agent_Ip => Spy_Ip_Adress, Agent_Socket => Spy_Socket, Error => Error_1); Error_2 := Spy_Table.Subscribe_Service (The_Subscribe_Data => Spy_Declaration, Agent_Reference => Agent_Number); Add := not Error_1 and Error_2; end; end Add_Spy; or accept Remove_Spy (Spy_Ip_Adress : in Orb_Defs.Host_Id; Spy_Socket : in Orb_Defs.Socket_Id; Destruct : out Boolean) do declare Agent_Connection : Orb_Defs.Connection_Id; Agent_Number : Service_Manager_Defs.Number_Of_Agent; Error_1, Error_2 : Boolean := True; begin Agent_Toolbox.Find_Agent (Agent_Connection => Agent_Connection, Agent_Ip => Spy_Ip_Adress, Agent_Socket => Spy_Socket, Agent_Number => Agent_Number, Error => Error_1); if not Error_1 then Agent_Toolbox.Remove_Agent (Agent_Ip => Spy_Ip_Adress, Agent_Socket => Spy_Socket, Error => Error_2); if not Error_1 and not Error_2 then Error_2 := Spy_Table.Remove_Service (Agent_Reference => Agent_Number); else Error_2 := False; end if; end if; Destruct := not Error_1 and Error_2; end; end Remove_Spy; or accept Ask_Spy (Ask_Class : in Orb_Defs.Class; Ask_Function : in Orb_Defs.Funct; Spy_Connection : out Orb_Defs.Connection_Id; Spy_Ip_Adress : out Orb_Defs.Host_Id; Spy_Socket : out Orb_Defs.Socket_Id; Spy_Release : out Boolean) do declare Agent_Number : Service_Manager_Defs.Number_Of_Agent; Error_1, Error_2 : Boolean; begin Spy_Table.Ask_Service (Service_Class => Ask_Class, Service_Fct => Ask_Function, Agent_Reference => Agent_Number, Error => Error_1); Spy_Connection := Agent_Toolbox.Get_Connection (Agent_Number => Agent_Number); Spy_Ip_Adress := Agent_Toolbox.Get_Ip (Agent_Number => Agent_Number); Spy_Socket := Agent_Toolbox.Get_Socket (Agent_Number); Spy_Release := not Error_1; end; end Ask_Spy; or accept Ask_Agent_To_Test (Agent_Connection : out Orb_Defs.Connection_Id; Agent_Ip_Adress : out Orb_Defs.Host_Id; Agent_Socket : out Orb_Defs.Socket_Id; Error : out Boolean) do declare Agent_Name : Orb_Defs.Name; begin Agent_Toolbox.Next_Agent_To_Test (Agent_Name => Agent_Name, Agent_Connection => Agent_Connection, Agent_Ip => Agent_Ip_Adress, Agent_Socket => Agent_Socket); Error := False; -- Rajouter gestion d erreur end; end Ask_Agent_To_Test; or accept Set_Agent_To_Failure (Agent_Ip : in Orb_Defs.Host_Id; Agent_Socket : in Orb_Defs.Socket_Id) do Agent_Toolbox.To_Failure (Agent_Ip => Agent_Ip, Agent_Socket => Agent_Socket); end Set_Agent_To_Failure; or accept Set_Agent_To_Ok (Agent_Ip : in Orb_Defs.Host_Id; Agent_Socket : in Orb_Defs.Socket_Id) do Agent_Toolbox.To_Ok (Agent_Ip => Agent_Ip, Agent_Socket => Agent_Socket); end Set_Agent_To_Ok; or delay 5.0; Text_Io.Put_Line ("The Task Service Manager is a live."); end select; end loop; end Manager_Task;
nblk1=14 nid=5 hdr6=24 [0x00] rec0=18 rec1=00 rec2=01 rec3=00c [0x01] rec0=12 rec1=00 rec2=14 rec3=050 [0x02] rec0=03 rec1=00 rec2=12 rec3=028 [0x03] rec0=14 rec1=00 rec2=07 rec3=036 [0x04] rec0=13 rec1=00 rec2=02 rec3=066 [0x05] rec0=12 rec1=00 rec2=0e rec3=024 [0x06] rec0=13 rec1=00 rec2=11 rec3=020 [0x07] rec0=14 rec1=00 rec2=0c rec3=008 [0x08] rec0=04 rec1=00 rec2=09 rec3=038 [0x09] rec0=13 rec1=00 rec2=10 rec3=016 [0x0a] rec0=12 rec1=00 rec2=03 rec3=09c [0x0b] rec0=12 rec1=00 rec2=08 rec3=054 [0x0c] rec0=11 rec1=00 rec2=0f rec3=076 [0x0d] rec0=13 rec1=00 rec2=0a rec3=042 [0x0e] rec0=14 rec1=00 rec2=0d rec3=07e [0x0f] rec0=13 rec1=00 rec2=13 rec3=004 [0x10] rec0=14 rec1=00 rec2=0b rec3=08e [0x11] rec0=0b rec1=00 rec2=04 rec3=000 [0x12] rec0=00 rec1=00 rec2=00 rec3=000 [0x13] rec0=00 rec1=00 rec2=00 rec3=000 tail 0x2154cf15487b650e8118b 0x42a00088462060003 Free Block Chain: 0x5: 0000 00 06 00 ac 00 43 20 20 20 20 20 20 20 20 20 20 ┆ C ┆ 0x6: 0000 00 00 03 fc 80 17 63 6b 65 74 20 3d 3e 20 53 65 ┆ cket => Se┆