DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

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 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ T V

⟦f36e4b603⟧ TextFile

    Length: 2258 (0x8d2)
    Types: TextFile
    Names: »V«

Derivation

└─⟦5f3412b64⟧ Bits:30000745 8mm tape, Rational 1000, ENVIRONMENT 12_6_5 TOOLS 
    └─ ⟦91c658230⟧ »DATA« 
        └─⟦458657fb6⟧ 
            └─⟦a5bbbb819⟧ 
                └─⟦this⟧ 
└─⟦d10a02448⟧ Bits:30000409 8mm tape, Rational 1000, ENVIRONMENT, D_12_7_3
    └─ ⟦fc9b38f02⟧ »DATA« 
        └─⟦9b46a407a⟧ 
            └─⟦eec0a994f⟧ 
                └─⟦this⟧ 

TextFile

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;