|
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 Behav_Msg, seg_024221
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Couche_Haute_Msg; with Interface_C; with Fifo_Msg_To_Send; with Fifo_Received_Msg; with My_Utilities; with Socket_Defs; with Text_Io; package body Behav_Msg is -- Create the tasks witch controlled the fifo where are stocked temporary the messages : Task_Performing_Fifo_Received_Msg : Fifo_Received_Msg.Access_Task_Fifo := new Fifo_Received_Msg.Task_Fifo; Task_Performing_Fifo_Msg_To_Send : Fifo_Msg_To_Send.Access_Task_Fifo := new Fifo_Msg_To_Send.Task_Fifo; procedure Init is Brocker_Listen_Socket_Port : Socket_Defs.Socket_Port; Brocker_Host_Name : Socket_Defs.Host_Name; begin Text_Io.Put_Line ("Behavior Messages performer V.0.1"); -- Read "parameters" file to find the Brocker Listen socket port. Brocker_Listen_Socket_Port := 9876; -- .... to complete ... -- Read "parameters" file to find the Brocker Host name. Brocker_Host_Name (1 .. 9) := "belladone"; -- .... to complete ... -- Establish a temporaly connection with the Broker to ask a port number -- for the task Server : -- Create a temporaly Server to get the Broker response : -- we wait for the right Server port number : declare Temporaly_Listen_Socket_Id : Socket_Defs.Socket_Id; Temporaly_Service_Socket_Id : Socket_Defs.Socket_Id; Msg_Asking_A_Server_Port_Number : Socket_Defs.Msg; Result : Boolean; Buffer_To_Receive : Socket_Defs.Msg; Length_Of_Buffer_To_Receive : Integer := Socket_Defs.Msg_Length; Number_Of_Caracteres_Received : Integer; begin Text_Io.Put_Line ("Create temporaly server..."); Temporaly_Listen_Socket_Id := Interface_C.Create_Server (Brocker_Listen_Socket_Port + 1); Msg_Asking_A_Server_Port_Number (1 .. 25) := "PROTOCOL GIVE_ME_A_NUMBER"; Msg_Asking_A_Server_Port_Number (26 .. 26 + Socket_Defs.Host_Name_Length) := Brocker_Host_Name; Msg_Asking_A_Server_Port_Number (26 + Socket_Defs.Host_Name_Length .. 26 + Socket_Defs.Host_Name_Length + 6) := Integer'Image (Temporaly_Listen_Socket_Id); Task_Performing_Fifo_Msg_To_Send.Put (Msg_Asking_A_Server_Port_Number, Result); Text_Io.Put_Line ("temporaly server wait a connection ..."); Temporaly_Service_Socket_Id := Interface_C.Server_Wait_For_A_Connection (Temporaly_Listen_Socket_Id); Text_Io.Put_Line ("connection to the temporaly server."); Interface_C.Receive_String (Temporaly_Service_Socket_Id,Buffer_To_Receive, Length_Of_Buffer_To_Receive, Number_Of_Caracteres_Received); Text_Io.Put_Line ("Get to the temporaly server."); Interface_C.Close_Socket (Temporaly_Service_Socket_Id); Text_Io.Put_Line ("close the temporaly server.!"); end; -- Couche_Haute_Msg.Client_Task.Start -- (Brocker_Listen_Socket_Port, Brocker_Host_Name, -- Listen_Socket_Port, Task_Performing_Fifo_Msg_To_Send); -- -- -- end Init; procedure Put (Something : in out String; Result : out Boolean) is The_Msg : Socket_Defs.Msg; begin My_Utilities.Normalize (Something, The_Msg); Task_Performing_Fifo_Msg_To_Send.Put (The_Msg, Result); end Put; procedure Get (Something : in out String; Result : out Boolean) is The_Msg : Socket_Defs.Msg; begin Task_Performing_Fifo_Received_Msg.Get (The_Msg, Result); My_Utilities.Normalize (The_Msg, Something); end Get; end Behav_Msg;
nblk1=7 nid=5 hdr6=c [0x00] rec0=25 rec1=00 rec2=01 rec3=00e [0x01] rec0=19 rec1=00 rec2=03 rec3=050 [0x02] rec0=17 rec1=00 rec2=07 rec3=058 [0x03] rec0=00 rec1=00 rec2=02 rec3=002 [0x04] rec0=1f rec1=00 rec2=04 rec3=068 [0x05] rec0=04 rec1=00 rec2=06 rec3=001 [0x06] rec0=3e rec1=64 rec2=00 rec3=019 tail 0x2171f61ec839c4a2a50dd 0x42a00088462063203 Free Block Chain: 0x5: 0000 00 00 00 41 80 1b 61 6c 69 7a 65 20 28 54 68 65 ┆ A alize (The┆