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

⟦5e9a10b19⟧ TextFile

    Length: 5393 (0x1511)
    Types: TextFile
    Names: »B«

Derivation

└─⟦149519bd4⟧ Bits:30000546 8mm tape, Rational 1000, !projects 93-07-13
    └─ ⟦124ff5788⟧ »DATA« 
        └─⟦this⟧ 
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
    └─ ⟦129cab021⟧ »DATA« 
        └─⟦this⟧ 
└─⟦f64eaa120⟧ Bits:30000752 8mm tape, Rational 1000, !projects 93 02 16
    └─ ⟦6f12a12be⟧ »DATA« 
        └─⟦this⟧ 
└─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04
    └─ ⟦d65440be7⟧ »DATA« 
        └─⟦this⟧ 

TextFile

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

use Text_Io;
package body First_Behavior is

    Id : Behavior.Object;

    procedure Register (Host : String; Socket : Message_Transport.Socket) is
    begin
        Text_Io.Put_Line ("Host => " & Host);
        Text_Io.Put_Line ("socket => " & Integer'Image (Integer ((Socket))));
        Id := Behavior.Register (Host, Socket);
    end Register;


    procedure Process_Message (M : String) is
    begin
        Put_Line ("process message: " & M);
    end Process_Message;


    procedure Transport_Start is new Message_Transport.Start_Server
                                        (Register_Service => Register,
                                         Receive_Callback => Process_Message);

    task Server is
        entry Start;
    end Server;

    task body Server is
    begin
        accept Start;
        Transport_Start (Local_Socket => 0, Buffer_Size => 1024);
    end Server;


    procedure Start is
        P1 : Parameter.Object;
        P2 : Parameter.Object;
        S : Signature.Object;
        M : Method.Object;

        Mes1 : Message.Object;  
        Mes2 : Message.Object;  
        Mes3 : Message.Object;  
        Mes4 : Message.Object;  
        Status : Message_Transport.Status_Code;
    begin
        Server.Start;
        P1 := Parameter.Create
                 (Name => "message", Class => "string", Value => "hello world");
        P2 := Parameter.Create (Name => "message",
                                Class => Parameter.Void,
                                Value => Parameter.Void);

        S := Signature.Create;  
        Signature.Add (To_Signature => S,
                       The_Parameter => P1,
                       At_Position => 1);
        Signature.Add (To_Signature => S,
                       The_Parameter => P2,
                       At_Position => 2);

        M := Method.Create (Name => "Send", Signature => S);

        Mes1 := Message.Create (Class => Message.Subscription,
                                Addressee => 0,
                                Sender => 123,
                                Method => M);

        Mes2 := Message.Create (Class => Message.Publication,
                                Addressee => 0,
                                Sender => 444,
                                Method => M);

        Mes4 := Message.Create (Class => Message.Publication,
                                Addressee => 0,
                                Sender => 68,
                                Method => M);

        Mes3 := Message.Create (Class => Message.Request,
                                Addressee => 0,
                                Sender => 140763,
                                Method => M);

        Put_Line (Message.Image (Message.Value (Message.Image (Mes1))));
        Message_Transport.Put (Message => Message.Image (Mes1),
                               Remote_Host => "Ancolie",
                               Remote_Socket => 2605,
                               Number_Of_Retry => 1,
                               Retry_Delay => 0.1,
                               Status => Status);
        Put_Line (Message_Transport.Status_Code'Image (Status));


        Put_Line (Message.Image (Message.Value (Message.Image (Mes2))));
        Message_Transport.Put (Message => Message.Image (Mes2),
                               Remote_Host => "Ancolie",
                               Remote_Socket => 2605,
                               Number_Of_Retry => 1,
                               Retry_Delay => 0.1,
                               Status => Status);
        Put_Line (Message_Transport.Status_Code'Image (Status));

        Put_Line (Message.Image (Message.Value (Message.Image (Mes4))));
        Message_Transport.Put (Message => Message.Image (Mes4),
                               Remote_Host => "Ancolie",
                               Remote_Socket => 2605,
                               Number_Of_Retry => 1,
                               Retry_Delay => 0.1,
                               Status => Status);
        Put_Line (Message_Transport.Status_Code'Image (Status));

        Mes1 := Message.Create (Class => Message.Notification,
                                Addressee => 0,
                                Sender => 428,
                                Method => M);

        Put_Line (Message.Image (Message.Value (Message.Image (Mes1))));
        Message_Transport.Put (Message => Message.Image (Mes1),
                               Remote_Host => "Ancolie",
                               Remote_Socket => 2605,
                               Number_Of_Retry => 1,
                               Retry_Delay => 0.1,
                               Status => Status);
        Put_Line (Message_Transport.Status_Code'Image (Status));

        Put_Line (Message.Image (Message.Value (Message.Image (Mes3))));
        Message_Transport.Put (Message => Message.Image (Mes3),
                               Remote_Host => "Ancolie",
                               Remote_Socket => 2605,
                               Number_Of_Retry => 1,
                               Retry_Delay => 0.1,
                               Status => Status);
        Put_Line (Message_Transport.Status_Code'Image (Status));


    end Start;




end First_Behavior;