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: ┃ T V ┃
Length: 2522 (0x9da) Types: TextFile Names: »V«
└─⟦149519bd4⟧ Bits:30000546 8mm tape, Rational 1000, !projects 93-07-13 └─ ⟦124ff5788⟧ »DATA« └─⟦this⟧ └─⟦f64eaa120⟧ Bits:30000752 8mm tape, Rational 1000, !projects 93 02 16 └─ ⟦6f12a12be⟧ »DATA« └─⟦this⟧
WITH Transport; WITH Transport_Defs; GENERIC WITH PROCEDURE Serve (Connection : Transport.Connection_Id) IS <>; -- Service an incoming connection. The connection is already -- open and connected when passed, and will be closed on return. PACKAGE Transport_Server IS TYPE Pool_Id IS PRIVATE; FUNCTION Create (Network : Transport_Defs.Network_Name; Local_Socket : Transport_Defs.Socket_Id; Max_Servers : Natural := Natural'Last) RETURN Pool_Id; -- Create a pool of server tasks, which may expand to have -- as many as MAX_SERVERS tasks in it. Tasks are created -- in response to incoming connections on the given NETWORK -- and LOCAL_SOCKET. PROCEDURE Set_Max_Servers (Pool : Pool_Id; Max_Servers : Natural); -- Set the maximum number of server tasks which may be -- created for the pool. If more tasks currently exist, -- they will continue to exist until they are done serving -- their connections, but no new tasks will be created. FUNCTION Network (Pool : Pool_Id) RETURN Transport_Defs.Network_Name; FUNCTION Local_Socket (Pool : Pool_Id) RETURN Transport_Defs.Socket_Id; FUNCTION Max_Servers (Pool : Pool_Id) RETURN Natural; FUNCTION Servers (Pool : Pool_Id) RETURN Natural; PROCEDURE Finalize (Abort_Servers : Boolean := False); -- Terminate the tasks which depend on this instantiation, -- and close the transport.connections which they have open. -- By default, existing server tasks will continue to run -- until their clients (somewhere else in the network) close -- their connections. If ABORT_SERVERS => TRUE, then the -- servers will be aborted immediately. -- Procedure finalize must be called before leaving a scope -- in which this package is instantiated (because of the Ada -- rules for task termination: see LRM section 9.4). -- In the cross-compiled version of this package (i.e. the -- one that uses shared elaboration), Finalize does nothing. PRIVATE TYPE Pool_Type (Network_Length, Local_Socket_Length : Natural); TYPE Pool_Id IS ACCESS Pool_Type; TYPE Pool_Type (Network_Length, Local_Socket_Length : Natural) IS RECORD Servers : Natural := 0; Max_Servers : Natural; Network : Transport_Defs.Network_Name (1 .. Network_Length); Local_Socket : Transport_Defs.Socket_Id (1 .. Local_Socket_Length); Next : Pool_Id; END RECORD; END Transport_Server;