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 - downloadIndex: ┃ B T ┃
Length: 3855 (0xf0f) 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 Behavior_Link_Layer; with Host_Name; with Low_Level_Message; with Mailbox_Msg_To_Send; with Mailbox_Received_Msg; with Physical_Layer; with Protocol; with Socket_Defs; with Socket_Port; with Text_Io; with Umps_Utilities; package body Umps_Message is -- Create the tasks witch controlled the fifo where are stocked temporary the messages : Task_Performing_Mailbox_Received_Msg : Mailbox_Received_Msg.Access_Task_Mailbox := new Mailbox_Received_Msg.Task_Mailbox; Task_Performing_Mailbox_Msg_To_Send : Mailbox_Msg_To_Send.Access_Task_Mailbox := new Mailbox_Msg_To_Send.Task_Mailbox; Task_Server : Behavior_Link_Layer.T_Server; Task_Client : Behavior_Link_Layer.T_Client; procedure Init (The_Socket_Port : out Socket_Port.Object) is The_Local_Listen_Socket_Port : Socket_Port.Object; The_Broker_Listen_Socket_Port : Socket_Port.Object; The_Broker_Host_Name : Host_Name.Object; The_Broker_Connection_Socket_Id : Socket_Defs.Socket_Id; The_Msg_Asking_A_Server_Port_Number : Low_Level_Message.Object; The_Result : Boolean; The_Number_Of_Caracteres_Received : Integer; -- for the tests : Default_Brocker_Host_Name : constant String := "belladone"; begin -- Read "parameters" file to find the Brocker Listen socket port : -- TO CHANGE .... The_Broker_Listen_Socket_Port := Socket_Port.Create (9860); The_Broker_Host_Name := Host_Name.Create (Default_Brocker_Host_Name); -- .... TO CHANGE !!! -- Establish a connection with the broker to ask a number : Text_Io.Put ("Try to establish a connection with " & The_Broker_Host_Name.The_String & "..."); The_Broker_Connection_Socket_Id := Physical_Layer.Join_Server (The_Broker_Host_Name, The_Broker_Listen_Socket_Port); Text_Io.Put_Line ("to ask a socket port number."); The_Local_Listen_Socket_Port := Protocol.Ask_A_Behavior_Socket_Port (The_Broker_Connection_Socket_Id); Text_Io.Put_Line ("(umps_message) I got my number."); Physical_Layer.Close_Socket (The_Broker_Connection_Socket_Id); Text_Io.Put_Line ("(umps_message) Connection closed"); -- I received a socket port for my server so I can start it ! Task_Server.Start (The_Local_Listen_Socket_Port, Task_Performing_Mailbox_Received_Msg); Text_Io.Put_Line ("(umps_message) Task_Server Started"); Task_Client.Start (The_Broker_Listen_Socket_Port, The_Broker_Host_Name, Task_Performing_Mailbox_Msg_To_Send); Text_Io.Put_Line ("(umps_message) Task_Client Started"); The_Socket_Port := The_Local_Listen_Socket_Port; end Init; procedure Put (Something : in out String; Result : out Boolean) is The_Msg_To_Send : Low_Level_Message.Object; begin The_Msg_To_Send := Low_Level_Message.Create (Something); Task_Performing_Mailbox_Msg_To_Send.Put (The_Msg_To_Send, Result); end Put; procedure Get (Something : in out String; Number_Of_Characters_Received : out Natural; Result : in out Boolean) is Received_Msg : Low_Level_Message.Object; begin Task_Performing_Mailbox_Received_Msg.Get (Received_Msg, Result); if Result = True then Something := Umps_Utilities.Normalize (Received_Msg.The_String, Something'Length); Number_Of_Characters_Received := Received_Msg.The_Size; end if; end Get; end Umps_Message;