|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 5120 (0x1400) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Com_Trans_Orb, seg_054950
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Transport, Transport_Defs, Byte_Defs, Text_Io; package body Com_Trans_Orb is task body Orb_Receiver is Connection : Transport.Connection_Id; Status : Transport_Defs.Status_Code; Network_Name : constant Transport_Defs.Network_Name := "TCP/IP"; Count : Natural; Receive_Socket_Data : Byte_Defs.Byte_String (1 .. 2); Receive_Host_Data : Byte_Defs.Byte_String (1 .. 4); Receive_Data : Byte_Defs.Byte_String (1 .. 500); Init_Flag : Boolean; New_Machine : Byte_Defs.Byte := 0; begin loop select accept Init (Init_Host_Answer : in Transport_Defs.Host_Id; Init_Socket_Answer : in Transport_Defs.Socket_Id) do begin loop Transport.Open (Connection, Status, Network_Name, Init_Socket_Answer); exit when Transport.Is_Open (Connection) = True; end loop; end; Text_Io.Put_Line ("Orb is opened"); loop Transport.Connect (Connection, Status, Duration'Last); exit when Transport.Is_Connected (Connection) = True; end loop; Text_Io.Put_Line ("Orb is passive connected"); Init_Flag := True; end Init; end select; exit when Init_Flag = True; end loop; loop loop Transport.Receive (Connection, Status, Receive_Data, Count, Duration'Last); exit when Transport_Defs."=" (Status, Transport_Defs.Ok); end loop; if Byte_Defs."=" (Receive_Data (1), New_Machine) = True then Receive_Host_Data := Receive_Data (2 .. 5); Receive_Socket_Data := Receive_Data (6 .. 7); Text_Io.Put_Line ("new machine encountered"); Orb_Transmitter.Init (Transport_Defs.Host_Id (Receive_Host_Data), Transport_Defs.Socket_Id (Receive_Socket_Data)); else null; end if; end loop; end Orb_Receiver; task body Orb_Transmitter is Connection : Transport.Connection_Id; Status : Transport_Defs.Status_Code; Network_Name : constant Transport_Defs.Network_Name := "TCP/IP"; Count : Natural; Receive_Data : Byte_Defs.Byte_String (1 .. 500); begin loop select accept Init (Init_Host_Answer : in Transport_Defs.Host_Id; Init_Socket_Answer : in Transport_Defs.Socket_Id) do begin loop Transport.Open (Connection, Status, Network_Name); exit when Transport.Is_Open (Connection) = True; end loop; Text_Io.Put_Line ("Orb transmitter is opened"); loop Transport.Connect (Connection, Status, Init_Host_Answer, Init_Socket_Answer, Duration'Last); exit when Transport.Is_Connected (Connection) = True; end loop; Text_Io.Put_Line ("Orb is active connected"); end; end Init; end select; end loop; end Orb_Transmitter; end Com_Trans_Orb;
nblk1=4 nid=0 hdr6=8 [0x00] rec0=17 rec1=00 rec2=01 rec3=070 [0x01] rec0=16 rec1=00 rec2=02 rec3=024 [0x02] rec0=19 rec1=00 rec2=03 rec3=028 [0x03] rec0=15 rec1=00 rec2=04 rec3=001 tail 0x2175da89687b8878b5b3d 0x42a00088462060003