|
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: 11264 (0x2c00) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Date_Client, seg_056ce4
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Constant_Start_End, All_String; with Com_Defs, T_Message, T_Status; with Text_Manager; package body Date_Client is My_Receive_Frame : My_Message.T_Frame; My_Send_Frame : My_Message.T_Frame; My_Status : Boolean := False; My_Status1 : Boolean := False; My_Status2 : Boolean := False; Stop : Boolean := False; Orb_Appli_Number : constant Com_Defs.Com_Number := 0; My_Appli_Number : Com_Defs.Com_Number; My_Quest_Number : Com_Defs.Com_Number := 0; My_Quest_Number1 : Com_Defs.Com_Number := 1; My_Quest_Number2 : Com_Defs.Com_Number := 2; My_Data_To_Send : Com_Defs.V_String; My_Adress_String_And_Apply_Number : All_String.Adress_String_And_Apply_Number; My_Adress_String : All_String.Adress_String; My_Machine_Name, My_Adress_Ip : Com_Defs.V_String; Null_Data : Com_Defs.V_String := Com_Defs.Value (""); My_Integer_Type_Of_Message : Integer; My_Integer_Type_Of_Status : Integer; My_Type_Of_Message : T_Message.T_Mess := T_Message.Response; My_Type_Of_Status : T_Status.T_State := T_Status.Client_To_Orb; My_V_String_Data : Com_Defs.V_String; My_Request1 : String (1 .. 34) := "calendar/date/give_the_date/0/null"; My_Request2 : String (1 .. 13) := "calendar/date"; Compteur : Natural := 0; procedure Init is begin My_Message.Init (My_Appli_Number, My_Machine_Name, My_Adress_Ip, My_Status); My_Message.Init_T_Frame (My_Send_Frame, My_Adress_Ip, My_Appli_Number, My_Quest_Number); end Init; procedure Treatment_Of_The_Response is begin Compteur := Compteur + 1; Text_Manager.Text.Put_Line ("CLIENT has received : " & My_Message.Image (My_Receive_Frame)); My_Integer_Type_Of_Message := My_Message.Read_Type_Of_Message (My_Receive_Frame); My_Message.Copy (My_Send_Frame, My_Receive_Frame); case My_Integer_Type_Of_Message is when T_Message.T_Mess'Pos (T_Message.Response) => begin Text_Manager.Text.Put_Line ("CLIENT : The response is arrived : "); My_Message.Put_Data (My_Receive_Frame); end; when T_Message.T_Mess'Pos (T_Message.Error) => begin Text_Manager.Text.Put_Line ("CLIENT : Your request has no response"); end; when others => Text_Manager.Text.Put_Line ("CLIENT : type of message is unknown"); end case; end Treatment_Of_The_Response; task body Go_Client is begin delay (240.0); Init; -- REGISTRATION My_Message.Init_Data_Message (My_Machine_Name, My_Send_Frame); Text_Manager.Text.Put_Line ("CLIENT has sent : " & My_Message.Image (My_Send_Frame)); My_Message.Send (Orb_Appli_Number, Com_Defs.Orb_Name_Machine_V_String, T_Message.Registration, My_Type_Of_Status, My_Send_Frame, My_Status); -- REQUEST SERVICE My_Message.Init_T_Frame (My_Send_Frame, My_Adress_Ip, My_Appli_Number, My_Quest_Number1); My_Message.Remove_Data (My_Send_Frame); My_V_String_Data := My_Message.Value (My_Request1); My_Message.Init_Data_Message (My_V_String_Data, My_Send_Frame); Text_Manager.Text.Put_Line ("CLIENT has sent : " & My_Message.Image (My_Send_Frame)); My_Message.Send (Orb_Appli_Number, Com_Defs.Orb_Name_Machine_V_String, T_Message.Request_Service, My_Type_Of_Status, My_Send_Frame, My_Status); -- REQUEST METHODS My_Message.Init_T_Frame (My_Send_Frame, My_Adress_Ip, My_Appli_Number, My_Quest_Number2); My_Message.Remove_Data (My_Send_Frame); My_V_String_Data := My_Message.Value (My_Request2); My_Message.Init_Data_Message (My_V_String_Data, My_Send_Frame); Text_Manager.Text.Put_Line ("CLIENT has sent : " & My_Message.Image (My_Send_Frame)); My_Message.Send (Orb_Appli_Number, Com_Defs.Orb_Name_Machine_V_String, T_Message.Request_Method, My_Type_Of_Status, My_Send_Frame, My_Status); loop delay (30.0); Text_Manager.Text.Put_Line ("CLIENT : tests if something is arrived"); My_Message.Receive (My_Appli_Number, My_Receive_Frame, My_Status); -- POUR L'INSTANT, ON NE TESTE LE Numero de QUEST if My_Status then Treatment_Of_The_Response; end if; -- Text_Manager.Text.Put_Line ("client : test receive"); if Compteur = 2 then -- on sortira de la boucle principale apres avoir recu les deux reponses attendues -- de maniere a simuler un Unregistration Stop := True; end if; exit when Stop; end loop; My_Message.Init_T_Frame (My_Send_Frame, My_Adress_Ip, My_Appli_Number, My_Quest_Number); -- UNREGISTRATION My_Message.Init_Data_Message (Null_Data, My_Send_Frame); Text_Manager.Text.Put_Line ("CLIENT has sent : " & My_Message.Image (My_Send_Frame)); My_Message.Send (Orb_Appli_Number, Com_Defs.Orb_Name_Machine_V_String, T_Message.Unregistration, My_Type_Of_Status, My_Send_Frame, My_Status); -- On desalloue notre numero d'application My_Message.Remove (My_Appli_Number); end Go_Client; end Date_Client;
nblk1=a nid=6 hdr6=e [0x00] rec0=1d rec1=00 rec2=01 rec3=03a [0x01] rec0=18 rec1=00 rec2=0a rec3=07c [0x02] rec0=1b rec1=00 rec2=05 rec3=028 [0x03] rec0=12 rec1=00 rec2=02 rec3=000 [0x04] rec0=14 rec1=00 rec2=04 rec3=01a [0x05] rec0=16 rec1=00 rec2=08 rec3=00e [0x06] rec0=03 rec1=00 rec2=03 rec3=000 [0x07] rec0=15 rec1=00 rec2=08 rec3=058 [0x08] rec0=03 rec1=00 rec2=06 rec3=000 [0x09] rec0=30 rec1=00 rec2=20 rec3=000 tail 0x217634f3a87c556052a49 0x42a00088462060003 Free Block Chain: 0x6: 0000 00 07 00 04 80 01 6e 01 20 20 65 6e 64 20 47 6f ┆ n end Go┆ 0x7: 0000 00 09 03 fc 80 30 61 67 65 2e 49 6e 69 74 5f 54 ┆ 0age.Init_T┆ 0x9: 0000 00 00 00 44 80 05 61 6d 65 29 3b 05 00 39 20 20 ┆ D ame); 9 ┆