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: 3816 (0xee8) 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 Mailbox_Msg_To_Send; with Mailbox_Received_Msg; with My_String; 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; procedure Init is The_Local_Listen_Socket_Port : Socket_Port.Object; The_Broker_Listen_Socket_Port : Socket_Port.Object; The_Broker_Host_Name : My_String.Object; The_Broker_Connection_Socket_Id : Socket_Defs.Socket_Id; The_Msg_Asking_A_Server_Port_Number : My_String.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 := My_String.Object'(The_Size => Default_Brocker_Host_Name'Length, The_String => (others => ' ')); The_Broker_Host_Name.The_String := 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 ("I got my number."); -- I received a socket port for my server so I can start it ! Behavior_Link_Layer.Server.Start (The_Local_Listen_Socket_Port, Task_Performing_Mailbox_Received_Msg); Text_Io.Put_Line ("The Behavior server started."); Physical_Layer.Close_Socket (The_Broker_Connection_Socket_Id); Behavior_Link_Layer.Client.Start (The_Broker_Listen_Socket_Port, The_Broker_Host_Name, Task_Performing_Mailbox_Msg_To_Send); end Init; procedure Put (Something : in out String; Result : out Boolean) is The_Msg_To_Send : My_String.Object; begin The_Msg_To_Send := My_String.Object'(The_Size => Something'Length, The_String => (others => ' ')); The_Msg_To_Send.The_String := 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 : My_String.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;