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

⟦dda5a52b2⟧ Ada Source

    Length: 6144 (0x1800)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Objet_Requete, seg_057154

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 Client_Request_To_Orb;
with Bounded_String;
with Task_Io;
with Parametre;
with Liste_Parametre;
with Queue_Parametre;
with Parametre_Defs;
with Queue_Parametre;
with Bls_Constant;
procedure Objet_Requete is
    My_Class : constant String (1 .. 6) := "client";
    Result : Boolean;
    Empty_Queue : Queue_Parametre.Queue;
    Answer_List : Liste_Parametre.List;
    Number_Of_Request_1, Number_Of_Request_2 : Parametre_Defs.Message_Number;
    The_Answer : Parametre.Variable_String;
    Response_Arrived : Boolean;
    A_Calendar_Server : Parametre_Defs.Identificator;

    Iter : Liste_Parametre.Iterator;

    function Init return Boolean is
        Resultat : Boolean;
        Parametres_Entree, Parametres_Sortie : Queue_Parametre.Queue;
    begin
        Client_Request_To_Orb.Init (Bls_Constant.Orb_Socket,
                                    Bls_Constant.Orb_Host, Resultat);
        Task_Io.Put_Line ("apres init  Client_Request_To_Orb");
        if Resultat = True then
            Client_Request_To_Orb.Registration (My_Class);
        end if;
        return Resultat;
    end Init;

    procedure Close is
    begin
        Client_Request_To_Orb.Unregistration;
        Client_Request_To_Orb.Close;
    end Close;

begin
    Result := Init;  
    if Result then  
        Queue_Parametre.Initialize (Empty_Queue);
        Number_Of_Request_1 := Client_Request_To_Orb.Request
                                  ("calendrier", "DATE", Empty_Queue);
        Response_Arrived := Client_Request_To_Orb.Answer_Arrived
                               (Number_Of_Request_1);
        while not Response_Arrived loop
            Response_Arrived := Client_Request_To_Orb.Answer_Arrived
                                   (Number_Of_Request_1);
        end loop;
        Client_Request_To_Orb.Get_Emet_Answer
           (Number_Of_Request_1, A_Calendar_Server, Answer_List);
        if not Liste_Parametre.Is_Empty (Answer_List) then
            begin
                Liste_Parametre.Init (Iter, Answer_List);
                The_Answer := Liste_Parametre.Value (Iter);
                Task_Io.Put_Line (" reponse numero 2 : " &
                                  Bounded_String.Image (The_Answer));
                Number_Of_Request_2 := Client_Request_To_Orb.Request
                                          ("calendrier", "DATE",
                                           Empty_Queue); -- a_calendar_server);
                Response_Arrived := Client_Request_To_Orb.Answer_Arrived
                                       (Number_Of_Request_2);
                while not Response_Arrived loop
                    Response_Arrived := Client_Request_To_Orb.Answer_Arrived
                                           (Number_Of_Request_2);
                end loop;  
                Client_Request_To_Orb.Get_Answer
                   (Number_Of_Request_2, Answer_List);
                Task_Io.Put_Line ("j'ai lu la reponse 2");
                Liste_Parametre.Init (Iter, Answer_List);
                The_Answer := Liste_Parametre.Value (Iter);
                Task_Io.Put_Line (" reponse numero 1 : " &
                                  Bounded_String.Image (The_Answer));
            end;
        else
            Task_Io.Put_Line ("aucun serveur n'a ete trouve");
        end if;
        Close;
    end if;  
    Task_Io.Put_Line ("c'est la fin");
    Task_Io.Dispose;
end Objet_Requete;

E3 Meta Data

    nblk1=5
    nid=4
    hdr6=8
        [0x00] rec0=1e rec1=00 rec2=01 rec3=008
        [0x01] rec0=1a rec1=00 rec2=03 rec3=056
        [0x02] rec0=11 rec1=00 rec2=05 rec3=03c
        [0x03] rec0=0e rec1=00 rec2=02 rec3=000
        [0x04] rec0=00 rec1=00 rec2=00 rec3=008
    tail 0x21763c4ee87c59e46469f 0x42a00088462060003
Free Block Chain:
  0x4: 0000  00 00 00 79 00 0e 20 20 20 20 20 20 20 20 43 6c  ┆   y          Cl┆