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: 2181 (0x885) Types: TextFile Names: »V«
└─⟦bad92a95e⟧ Bits:30000535 8mm tape, Rational 1000, RPC 1_0_2 └─ ⟦bb34fe6e2⟧ »DATA« └─⟦15d8b76c6⟧ └─⟦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; end Transport_Server;