|
|
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, procedure Put, seg_04b0ad, separate Message_Transport_Old
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
separate (Message_Transport_Old)
procedure Put (Message : String;
Remote_Host : String;
Remote_Socket : Socket;
Number_Of_Retry : Positive := 1;
Retry_Delay : Duration := 0.1;
Status : out Status_Code) is
C : T.Connection_Id;
S : T_Defs.Status_Code;
N : constant T_Defs.Network_Name := "TCP/IP";
Lsid : constant Transport_Defs.Socket_Id := Transport_Defs.Null_Socket_Id;
Rsid : constant Transport_Defs.Socket_Id :=
(Byte_Defs.Byte (Remote_Socket / 256),
Byte_Defs.Byte (Remote_Socket mod 256));
Rh : constant Transport_Defs.Host_Id :=
Transport_Name.Host_To_Host_Id (Remote_Host);
Cnt : Natural;
begin
T.Open (Connection => C, Status => S, Network => N, Local_Socket => Lsid);
if S /= Transport_Defs.Ok then
Status := Connection_Failed;
return;
end if;
for I in 1 .. Number_Of_Retry loop
T.Connect (Connection => C,
Status => S,
Remote_Host => Rh,
Remote_Socket => Rsid,
Max_Wait => Duration'Last);
if S = Transport_Defs.Ok then
exit; -- We are connected and will try to transmit
elsif I = Number_Of_Retry then
Status := Connection_Failed;
T.Close (Connection => C);
return;
end if;
delay Retry_Delay;
end loop;
T.Transmit (Connection => C,
Status => S,
Data => Utils.String_To_Byte_String (Message),
Count => Cnt,
Max_Wait => Duration'Last,
More => False);
if S /= Transport_Defs.Ok then
Status := Connection_Failed;
return;
elsif Cnt /= Message'Length then
Status := Incomplete_Transmission;
return;
else
Status := Ok;
end if;
T.Close (Connection => C);
end Put;
nblk1=4
nid=4
hdr6=6
[0x00] rec0=1f rec1=00 rec2=01 rec3=01c
[0x01] rec0=21 rec1=00 rec2=02 rec3=00c
[0x02] rec0=08 rec1=00 rec2=03 rec3=000
[0x03] rec0=07 rec1=00 rec2=03 rec3=000
tail 0x215481640867a6ec3761c 0x42a00088462060003
Free Block Chain:
0x4: 0000 00 00 01 60 80 22 20 20 20 20 20 20 53 74 61 74 ┆ ` " Stat┆