|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 4096 (0x1000) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, seg_00b2ec
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦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;
nblk1=3 nid=0 hdr6=6 [0x00] rec0=1d rec1=00 rec2=01 rec3=060 [0x01] rec0=16 rec1=00 rec2=02 rec3=03a [0x02] rec0=11 rec1=00 rec2=03 rec3=000 tail 0x21708296081fa639fc39a 0x489e0066482863c01