|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: B T
Length: 3931 (0xf5b)
Types: TextFile
Names: »B«
└─⟦149519bd4⟧ Bits:30000546 8mm tape, Rational 1000, !projects 93-07-13
└─⟦124ff5788⟧ »DATA«
└─⟦this⟧
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
└─⟦129cab021⟧ »DATA«
└─⟦this⟧
└─⟦f64eaa120⟧ Bits:30000752 8mm tape, Rational 1000, !projects 93 02 16
└─⟦6f12a12be⟧ »DATA«
└─⟦this⟧
└─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04
└─⟦d65440be7⟧ »DATA«
└─⟦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;