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

⟦12453e8cd⟧ Ada Source

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

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 

E3 Source Code



with Behavior;
with Identifier;
with Method;
with Message_New;
with Message_Transport;
with Parameter;
with Signature;
with Text_Io;

use Text_Io;
package body Date is

    procedure Process_Message (S : Message_Transport.Stream_Id; M : String);

    task Tx is  
        entry Start;
        entry Go;  
    end Tx;


    package B is new Behavior (Tx.Go, Process_Message);


    procedure Request (M : Message_New.Object;
                       S : Message_Transport.Stream_Id;
                       Address : in out Natural) is separate;


    procedure Notification (M : Message_New.Object;
                            S : Message_Transport.Stream_Id;
                            Address : in out Natural) is separate;


    task body Tx is  
        Status : Message_Transport.Status_Code;
    begin
        accept Start;

        accept Go; -- we have been registered, and can publish

--        declare
--        begin
--            Message_Transport.Put
--               (Message =>
--                   Message.Image
--                      (Message =>
--                          Message.Create
--                             (Class => Message.Publication,
--                              Addressee =>
--                                 Identifier.Hash (Id => Identifier.Broker),
--                              Sender => Identifier.Hash (Id => B.Get_Identity),
--                              Method => "date",
--                              Parameter_Name => "date",
--                              Parameter_Class => "string",
        --                             Parameter_Value => Parameter.Void)),
        --               Remote_Host => Identifier.Get_Host (Id => Identifier.Broker),
        --               Remote_Socket =>
        --                  Identifier.Get_Socket (Id => Identifier.Broker),
        --              Number_Of_Retry => 10,
--                Retry_Delay => 0.1,
--                Status => Status);
--        exception
--            when others =>
--                Put_Line ("ca a foire");
--        end;
--
--        loop
--            delay Duration'Last;
--        end loop;
    end Tx;


    procedure Process_Message (S : Message_Transport.Stream_Id; M : String) is
        use Message_New;
        Mes : Message_New.Object;  
        Address : Natural;
    begin  
        Put_Line ("--- processing message => " & Message_New.Image (Mes));
        Mes := Message_New.Value (M);
        case Message_New.Get_Class (Mes) is
            when Message_New.Request =>
                Request (Mes, S, Address);
            when Message_New.Notification =>
                Notification (Mes, S, Address);
            when others =>
                null;
        end case;
    end Process_Message;


    procedure Start is
    begin
        Tx.Start;
    end Start;

end Date;

E3 Meta Data

    nblk1=5
    nid=5
    hdr6=8
        [0x00] rec0=2c rec1=00 rec2=01 rec3=006
        [0x01] rec0=05 rec1=00 rec2=02 rec3=036
        [0x02] rec0=15 rec1=00 rec2=04 rec3=004
        [0x03] rec0=1c rec1=00 rec2=03 rec3=000
        [0x04] rec0=80 rec1=00 rec2=00 rec3=100
    tail 0x21549098a868a47121ad7 0x42a00088462060003
Free Block Chain:
  0x5: 0000  00 00 00 f1 80 04 6e 20 3d 3e 04 00 21 20 20 20  ┆      n =>  !   ┆