|
|
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: 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┆