|
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: 21504 (0x5400) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, seg_057427, 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 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); Error_2 := Service_Table.Subscribe_Service (The_Subscribe_Data => Service_Declaration, Agent_Reference => Agent_Number); 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 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); if not Error_1 then 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; else Service_Connection := Transport.Null_Connection_Id; Service_Ip := Orb_Defs.Null_Host_Id; Service_Socket := Orb_Defs.Null_Socket_Id; Service_Release := not Error_1; end if; 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); 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 => Error); end; Text_Io.Put_Line ("Un agent a tester a ete fourni au control manager."); 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 ALIVE."); end select; end loop; end Manager_Task;
nblk1=14 nid=5 hdr6=22 [0x00] rec0=18 rec1=00 rec2=01 rec3=014 [0x01] rec0=13 rec1=00 rec2=07 rec3=01e [0x02] rec0=16 rec1=00 rec2=12 rec3=00a [0x03] rec0=10 rec1=00 rec2=0e rec3=07e [0x04] rec0=13 rec1=00 rec2=14 rec3=02a [0x05] rec0=14 rec1=00 rec2=09 rec3=00a [0x06] rec0=11 rec1=00 rec2=11 rec3=04e [0x07] rec0=0a rec1=00 rec2=0c rec3=038 [0x08] rec0=13 rec1=00 rec2=10 rec3=016 [0x09] rec0=12 rec1=00 rec2=03 rec3=09c [0x0a] rec0=12 rec1=00 rec2=08 rec3=054 [0x0b] rec0=11 rec1=00 rec2=0f rec3=076 [0x0c] rec0=13 rec1=00 rec2=0a rec3=042 [0x0d] rec0=14 rec1=00 rec2=0d rec3=07e [0x0e] rec0=13 rec1=00 rec2=13 rec3=004 [0x0f] rec0=15 rec1=00 rec2=0b rec3=004 [0x10] rec0=0b rec1=00 rec2=04 rec3=000 [0x11] rec0=15 rec1=00 rec2=0b rec3=004 [0x12] rec0=0b rec1=00 rec2=04 rec3=000 [0x13] rec0=00 rec1=00 rec2=00 rec3=000 tail 0x2154dff1087c770039c0d 0x42a00088462060003 Free Block Chain: 0x5: 0000 00 02 03 fc 80 16 73 20 3a 20 69 6e 20 4f 72 62 ┆ s : in Orb┆ 0x2: 0000 00 06 00 04 80 01 20 01 20 20 20 65 6e 64 3b 20 ┆ end; ┆ 0x6: 0000 00 00 03 fc 80 17 63 6b 65 74 20 3d 3e 20 53 65 ┆ cket => Se┆