DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

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 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ B T

⟦b0219f5e7⟧ TextFile

    Length: 2803 (0xaf3)
    Types: TextFile
    Names: »B«

Derivation

└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
    └─ ⟦129cab021⟧ »DATA« 
        └─⟦this⟧ 
└─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04
    └─ ⟦d65440be7⟧ »DATA« 
        └─⟦this⟧ 

TextFile

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

use Text_Io;
package body Time_Client is

    Iteration : Positive;
    Count : Natural := 0;

    procedure Process_Message (M : Message.Object);

    task Synchro is
        entry Receiver_Ready;
        entry Wait_For_Registration;
    end Synchro;

    task body Synchro is
    begin
        accept Receiver_Ready;

        accept Wait_For_Registration;
    end Synchro;

    procedure Null_Procedure is
    begin
        null;
    end Null_Procedure;

    package B is new Behavior (Synchro.Receiver_Ready, Process_Message);


    procedure Process_Message (M : Message.Object) is
        Status : Message_Transport.Status_Code;
    begin

        if Count mod Iteration = 0 then
            Put_Line (Message.Image (M));
            Count := 0;
        end if;
        Count := Count + 1;

        B.Send_Message (Message =>
                           Message.Create (Class => Message.Request,
                                           Addressee => Identifier.Hash
                                                           (Identifier.Broker),
                                           Sender => Identifier.Hash
                                                        (B.Get_Identity),
                                           Method => "date",
                                           Parameter_Name => "date",
                                           Parameter_Class => "string",
                                           Parameter_Value => Parameter.Void),
                        Status => Status);

    end Process_Message;


    procedure Start (Iteration : Positive := 1000) is
        Status : Message_Transport.Status_Code;
    begin  
        Time_Client.Iteration := Iteration;

        Put_Line ("--- delaying waiting for registration");

        Synchro.Wait_For_Registration;

        Put_Line ("+++ registration done");

        B.Send_Message (Message =>
                           Message.Create (Class => Message.Request,
                                           Addressee => Identifier.Hash
                                                           (Identifier.Broker),
                                           Sender => Identifier.Hash
                                                        (B.Get_Identity),
                                           Method => "date",
                                           Parameter_Name => "date",
                                           Parameter_Class => "string",
                                           Parameter_Value => Parameter.Void),
                        Status => Status);

        loop
            delay Duration'Last;
        end loop;

    end Start;

end Time_Client;