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

⟦10666f9dc⟧ Ada Source

    Length: 9216 (0x2400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure The_Orb, seg_0566f3

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 Orb_Service;
with Parametre_Defs;
with Bls_Constant;
with Message;
with Channel_Operator_To_Bal;
with Bal;
with Task_Io;
with Channel_Operator;

procedure The_Orb is
    Liaison_Operator : Channel_Operator.Object;
    Resultat : Boolean;
    A_Message : Message.Object;
begin  
    Task_Io.Put_Line ("debut orb");
    Channel_Operator.Init (O => Liaison_Operator,
                           S => Bls_Constant.Orb_Socket,
                           H => Bls_Constant.Orb_Host,
                           Result => Resultat);
    if Resultat then  
        Channel_Operator_To_Bal.Init (My_Channel => Liaison_Operator);  
        loop  
            begin
                Task_Io.Put_Line ("attente d'un message");
                Bal.Get (A_Message);  
                Task_Io.Put_Line ("un message recu");
                case Message.Get_Type (A_Message) is
                    when Parametre_Defs.Regis =>  
                        Task_Io.Put_Line ("c'est une registration !");
                        Orb_Service.Registration (A_Message);
                        Task_Io.Put_Line ("registration traitee");
                    when Parametre_Defs.Unreg =>  
                        Task_Io.Put_Line ("c'est une unregistration !");
                        Orb_Service.Unregistration (A_Message);
                        Task_Io.Put_Line ("unregistration traitee");
                    when Parametre_Defs.Publi =>
                        Task_Io.Put_Line ("c'est une publication !");
                        Orb_Service.Publication (A_Message);
                        Task_Io.Put_Line ("publication traitee");
                    when Parametre_Defs.Unpub =>
                        Task_Io.Put_Line ("c'est une unpublication !");
                        Orb_Service.Unpublication (A_Message);
                        Task_Io.Put_Line ("unpublication traitee");
                    when Parametre_Defs.Subsc =>
                        Task_Io.Put_Line ("c'est une subscription !");
                        Orb_Service.Subscription (A_Message);
                        Task_Io.Put_Line ("subscription traitee");
                    when Parametre_Defs.Unsub =>
                        Task_Io.Put_Line ("c'est une unsubscription !");
                        Orb_Service.Unsubscription (A_Message);
                        Task_Io.Put_Line ("unsubscription traitee");
                    when Parametre_Defs.Filtr =>
                        Task_Io.Put_Line ("c'est une filtartion !");
                        Orb_Service.Filtration (A_Message);
                        Task_Io.Put_Line ("filtration traitee");
                    when Parametre_Defs.Unfil =>
                        Task_Io.Put_Line ("c'est une unfiltartion !");
                        Orb_Service.Unfiltration (A_Message);
                        Task_Io.Put_Line ("unfiltration traitee");
                    when Parametre_Defs.Reque =>
                        Task_Io.Put_Line ("c'est une request !");
                        Orb_Service.Request (A_Message);
                        Task_Io.Put_Line ("request traitee");
                    when Parametre_Defs.Answe =>
                        Task_Io.Put_Line ("c'est une answer !");
                        Orb_Service.Answer (A_Message);
                        Task_Io.Put_Line ("answer traitee");
                    when Parametre_Defs.Forwa =>
                        Task_Io.Put_Line ("c'est une forward !");
                        Orb_Service.Forward (A_Message);
                        Task_Io.Put_Line ("forward traitee");
                    when others =>
                        Task_Io.Put_Line
                           ("erreur : reception de message inconnu");
                end case;
            exception
                when Constraint_Error =>
                    Task_Io.Put_Line ("constraint_error");
                when Numeric_Error =>
                    Task_Io.Put_Line ("numeric_error");
                when Program_Error =>
                    Task_Io.Put_Line ("program_error");
                when Storage_Error =>
                    Task_Io.Put_Line ("storage_error");
                when Tasking_Error =>
                    Task_Io.Put_Line ("tasking_error");
                when others =>
                    Task_Io.Put_Line ("an  exception was raised");
            end;
        end loop;
        Channel_Operator_To_Bal.Dispose;
    else
        Task_Io.Put_Line ("erreur reseau");
    end if;  
    Task_Io.Put_Line ("fin de l'orb");
    Task_Io.Dispose;  
end The_Orb;

E3 Meta Data

    nblk1=8
    nid=8
    hdr6=a
        [0x00] rec0=1e rec1=00 rec2=01 rec3=058
        [0x01] rec0=0b rec1=00 rec2=02 rec3=060
        [0x02] rec0=10 rec1=00 rec2=03 rec3=04a
        [0x03] rec0=11 rec1=00 rec2=05 rec3=04a
        [0x04] rec0=19 rec1=00 rec2=04 rec3=000
        [0x05] rec0=17 rec1=00 rec2=04 rec3=022
        [0x06] rec0=03 rec1=00 rec2=08 rec3=000
        [0x07] rec0=02 rec1=40 rec2=01 rec3=37c
    tail 0x2176279a087c453ceadbe 0x42a00088462060003
Free Block Chain:
  0x8: 0000  00 07 00 19 80 04 65 3b 20 20 04 00 0c 65 6e 64  ┆      e;     end┆
  0x7: 0000  00 06 00 12 80 0f 20 20 20 20 20 20 20 20 20 20  ┆                ┆
  0x6: 0000  00 00 00 38 80 02 29 3b 02 00 30 20 20 20 20 20  ┆   8  );  0     ┆