|
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: 8192 (0x2000) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Server_Object, seg_055a67, seg_05620f
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Answers_Array; with Bal; with Bls_Constant; with Parametre_Defs; with Parametre; with Bounded_String; with Liste_Parametre; with Message; with Display_Mess; with Channel_Operator; with My_Channel_User; with String_Utilities; with Task_Io; package body Server_Object is My_Channel : My_Channel_User.Object; task T_Server_Object is entry Dispose; end T_Server_Object; procedure Dispose is begin T_Server_Object.Dispose; end Dispose; task body T_Server_Object is Mess : Message.Object; Mess_Ret : Message.Object; Typ : Parametre_Defs.Message_Type; My_List : Liste_Parametre.List; My_List_Ret : Liste_Parametre.List; My_Index : Integer; My_Class : Parametre.Variable_String; My_Method : Parametre.Variable_String; Result : Boolean; Continue : Boolean := True; begin Task_Io.Put_Line ("debut de la partie serveur de l objet"); loop select accept Dispose do Continue := False; end Dispose; else if not Bal.Is_Empty then Bal.Get (Mess); Task_Io.Put_Line ("le serveur de l objet a recu quelque chose"); Typ := Message.Get_Type (Mess); My_List := Message.Get_Containt (Mess); My_Class := Liste_Parametre.First (My_List); My_List := Liste_Parametre.Rest (My_List); My_Method := Liste_Parametre.First (My_List); My_List := Liste_Parametre.Rest (My_List); My_Index := Integer'Value (String (Message.Get_Number (Mess))); Display_Mess.Get_Type (Mess); case Typ is when Parametre_Defs.Answe => Task_Io.Put_Line ("le serveur de l objet a une reponse"); Task_Io.Put_Line ("index reponse" & Integer'Image (My_Index)); Answers_Array.Put (Answers_Array.Index (My_Index), Message.Get_Emet (Mess), My_List); Task_Io.Put_Line ("fin pour reponse"); when Parametre_Defs.Subsc => Subscription_Treatement (Message.Get_Emet (Mess), Bounded_String.Image (My_Class), Bounded_String.Image (My_Method), My_List); when Parametre_Defs.Reque => Task_Io.Put_Line ("le serveur de l objet a recu un request"); Task_Io.Put_Line ("index de request est" & Integer'Image (My_Index)); My_List_Ret := Liste_Parametre.Make (My_Class, My_List_Ret); My_List_Ret := Liste_Parametre.Make (My_Method, My_List_Ret); Server_Work (Bounded_String.Image (My_Method), My_List, My_List_Ret); Task_Io.Put_Line ("le serveur va contruire la reponse"); Task_Io.Put_Line ("la liste du serveur est prete"); Message.Create (Mess_Ret, Message.Get_Dest (Mess), Message.Get_Emet (Mess), Parametre_Defs.Answe, Parametre_Defs.Message_Number (Integer'Image (My_Index)), My_List_Ret); Task_Io.Put_Line ("le message de reponse est cree"); My_Channel_User.Init (My_Channel, Bls_Constant.Orb_Socket, Bls_Constant.Orb_Host, Result); Task_Io.Put_Line ("init channel dans serveur ok"); if Result then Message.Send (Mess_Ret, My_Channel); end if; Task_Io.Put_Line ("reponse est envoyee"); My_Channel_User.Close (My_Channel); when others => null; end case; end if; end select; exit when not Continue; end loop; end T_Server_Object; end Server_Object;
nblk1=7 nid=6 hdr6=c [0x00] rec0=27 rec1=00 rec2=01 rec3=050 [0x01] rec0=16 rec1=00 rec2=02 rec3=02e [0x02] rec0=10 rec1=00 rec2=07 rec3=070 [0x03] rec0=12 rec1=00 rec2=03 rec3=022 [0x04] rec0=15 rec1=00 rec2=05 rec3=02c [0x05] rec0=05 rec1=00 rec2=04 rec3=000 [0x06] rec0=68 rec1=5c rec2=00 rec3=000 tail 0x217608f2887bf595b7b24 0x42a00088462060003 Free Block Chain: 0x6: 0000 00 00 02 7a 80 31 20 20 20 20 20 28 22 6c 65 20 ┆ z 1 ("le ┆