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

⟦796476472⟧ Ada Source

    Length: 6144 (0x1800)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Orb, seg_05487c

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 Filter_Storage;
with Abonnement_Storage;
with Observator_Storage;
with Contrat_Storage;
with Filter_Storage;
with Text_Io;
package body Orb is
    procedure Type_Supervisor (Message : in out Message_Content) is
        Id : Natural;
        Place : Natural := 1;
        Success : Boolean := False;
    begin
        case Message.Type_Msg is

            when Registration =>
                Text_Io.Put_Line ("demande d'enregistrement d'un objet");
                Message.Source_Id := Abonnement_Storage.Add
                                        (Message.Name, Message.Socket);
                Text_Io.Put_Line (Natural'Image (Message.Source_Id));
                --envoyer message avec identificateur
                Text_Io.Put_Line ("abonnement realise");

            when Unregistration =>
                Text_Io.Put_Line ("demande de retrait d'un objet ");
                Abonnement_Storage.Delete (Message.Source_Id);
                Observator_Storage.Delete (Message.Source_Id);
                Filter_Storage.Delete (Message.Source_Id);
                Text_Io.Put_Line ("abonnement resilie ");

            when Query =>
                Text_Io.Put_Line ("demande de maintenance");
                --affichage de la table interne
                Text_Io.Put_Line ("non  realise");

            when Request =>
                Text_Io.Put_Line ("demande de travail");
                Id := Contrat_Storage.Search (Message.Content, Place);
                while not (Success) loop
                    if Abonnement_Storage.See_State (Id) = 1 then
                        --envoyer message avec para see_name et see_socket
                        --si message transmi success:=true sinon place++
                        Text_Io.Put_Line ("message envoye pour la requete");
                    else
                        Text_Io.Put_Line ("serveur n'est plus abonne);");
                        Place := Place + 1;
                        Id := Contrat_Storage.Search (Message.Content, Place);
                    end if;
                end loop;

            when Notification =>
                Text_Io.Put_Line ("demande d'information");
                Text_Io.Put_Line (" non realise");

            when Forward =>
                Text_Io.Put_Line ("demande de propagation de message");
                --envoyer message au client concerne par destination_id
                Text_Io.Put_Line ("envoi  realise");

            when Publication =>
                Text_Io.Put_Line ("demande d'enregistrement de contrat");
                Contrat_Storage.Add (Message.Content, Message.Source_Id);
                Text_Io.Put_Line ("stockage du contrat realise");

            when Unpublication =>
                Text_Io.Put_Line ("demande de retrait de contrat");
                Contrat_Storage.Delete (Message.Content, Message.Source_Id);
                Text_Io.Put_Line (" realise");

            when Subscription =>
                Text_Io.Put_Line ("demande d'abonnement espion");
                if Abonnement_Storage.See_State (Message.Source_Id) = 1 then
                    Observator_Storage.Add (Message.Source_Id);
                    Text_Io.Put_Line (" abonnement espion realise");
                end if;

            when Unsubscription =>
                Text_Io.Put_Line ("demande de retrait d'abonnement espion");
                Observator_Storage.Delete (Message.Source_Id);
                Text_Io.Put_Line ("abonnement espion resilie ");

            when Filtration =>
                Text_Io.Put_Line ("demande d'enregistrement de filtre");
                if Abonnement_Storage.See_State (Message.Source_Id) = 1 then
                    Filter_Storage.Add (Message.Source_Id);
                    Text_Io.Put_Line (" abonnement filtre realise");
                end if;

            when Unfiltration =>
                Text_Io.Put_Line ("demande de retrait  de filtre");
                Filter_Storage.Delete (Message.Source_Id);
                Text_Io.Put_Line ("abonnement filtre resilie");

            when others =>
                Text_Io.Put_Line ("Le type de contrat ne convient pas");
                --envoyer message a la source

        end case;
    end Type_Supervisor;
end Orb;

E3 Meta Data

    nblk1=5
    nid=0
    hdr6=a
        [0x00] rec0=1b rec1=00 rec2=01 rec3=038
        [0x01] rec0=14 rec1=00 rec2=02 rec3=00c
        [0x02] rec0=16 rec1=00 rec2=03 rec3=000
        [0x03] rec0=15 rec1=00 rec2=04 rec3=044
        [0x04] rec0=0b rec1=00 rec2=05 rec3=000
    tail 0x2175d9b3287b886b6f3dc 0x42a00088462060003