DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦6cf8b8b60⟧ Ada Source

    Length: 4096 (0x1000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, generic, package Transport_Server, pragma Module_Name 4 2520, pragma Subsystem Network, seg_0284f6

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



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

    pragma Subsystem (Network, Private_Part => Closed);
    pragma Module_Name (4, 2520);

    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.

end Transport_Server;

E3 Meta Data

    nblk1=3
    nid=0
    hdr6=6
        [0x00] rec0=1e rec1=00 rec2=01 rec3=074
        [0x01] rec0=15 rec1=00 rec2=02 rec3=03e
        [0x02] rec0=07 rec1=00 rec2=03 rec3=000
    tail 0x217223cfc83c1748d7d7f 0x42a00088462065003