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

⟦24aac9228⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, generic, package Scheduler, seg_05719b

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, Transport_Defs, Byte_Defs, Bounded_String;

-- ******************************************************************************
-- Package de Scheduling encapsulant la communication, le traitement des tableaux
-- de reception et le dispatchage des taches.
-- ******************************************************************************

generic
package Scheduler is
    type Object is private;

    -- Change le socket avant une emission
    procedure Init_Socket_Emetteur (S : Transport_Defs.Socket_Id);

    -- Emission sur Socket 2606 et Reception definie automatiquement
    procedure Definir_Communication_Pour_Objet;

    -- Emision depend du contexte et Reception sur 2606
    procedure Definir_Communication_Pour_Orb;

    -- Emission d un message avec retour d un ticket d identite
    procedure Envoi_Demande (Message : in String; Num_Requete : out Positive);

    -- Extrait un champ du tableau de reception
    function Extrait_Parametre (Num_Param : in Positive) return String;

    -- Extrait un des param de sortie d une reponse provenant d une requete
    function Extrait_Reponse
                (Num_Requete : in Positive; Num_Param : in Positive)
                return String;

    -- Libere l'enregistrement ou se trouve la trame codee par Num_Requete
    procedure Efface_Par_Requete (Num_Requete : in Positive);

    -- Libere l'enregistrement d'index Index
    procedure Efface_Par_Index (Index : in Positive);

    -- Libere tous les enregistrements
    procedure Init_Tab_Reception;

    -- Registration
    procedure Enregistre_Service (Message : in String);

    -- Unregistration
    procedure Supprime_Service (Message : in String);

    --procedure Envoi_Reponse (Message : in String);

    procedure Donne_Taille_Buffer_Reception (Taille : out Positive);

    -- Extrait un Entier du tableau de reception
    procedure Donne_Champ_Type_Integer (Index : in Positive;
                                        Rang : in Positive;
                                        Resultat : in out Integer);

    -- Replace une reponse dans le tableau dans le champ de reponse
    procedure Place_Reponse (Index : in Positive; Message : in String);

    -- Fait une trame depuis un enregistrement d index INDEX
    procedure Fabrique_Trame (Index : in Positive;
                              Trame : out Byte_Defs.Byte_String);

    -- Transmit d une trame
    procedure Envoi_Trame (Trame : Byte_Defs.Byte_String);

    -- Mise en route de la reception
    procedure Accepte_Reception;


private
    type Object is
        record
            Connection : Transport.Connection_Id;
            Host : Transport_Defs.Host_Id (1 .. 4) := (193, 54, 146, 132);
            Status : Transport_Defs.Status_Code;
            Network : Transport_Defs.Network_Name (1 .. 6) := "TCP/IP";
            Socket : Transport_Defs.Socket_Id (1 .. 2);
            Count : Natural;
            Max_Wait : Duration := Duration'Last;
            More_Data : Boolean := False;
        end record;
end Scheduler;

E3 Meta Data

    nblk1=4
    nid=0
    hdr6=8
        [0x00] rec0=1a rec1=00 rec2=01 rec3=03e
        [0x01] rec0=1c rec1=00 rec2=04 rec3=01a
        [0x02] rec0=19 rec1=00 rec2=02 rec3=036
        [0x03] rec0=05 rec1=00 rec2=03 rec3=000
    tail 0x21763cd8a87c6405f80d9 0x42a00088462060003