|
|
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 - metrics - 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