|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T V
Length: 4626 (0x1212)
Types: TextFile
Names: »V«
└─⟦bad92a95e⟧ Bits:30000535 8mm tape, Rational 1000, RPC 1_0_2
└─⟦bb34fe6e2⟧ »DATA«
└─⟦15d8b76c6⟧
└─⟦this⟧
with Byte_Defs;
with Transport_Defs;
package Transport is
type Connection_Id is private;
-- Identifies the local resources associated with a connection.
Null_Connection_Id : constant Connection_Id;
procedure Open (Connection : out Transport.Connection_Id;
Status : out Transport_Defs.Status_Code;
Network : Transport_Defs.Network_Name;
Local_Socket : Transport_Defs.Socket_Id :=
Transport_Defs.Null_Socket_Id);
-- Allocate the local resources required to establish a
-- connection. Any subsequent connection which may be
-- established will be via the given NETWORK, using the given
-- LOCAL_SOCKET. If LOCAL_SOCKET = NULL_SOCKET_ID, the
-- transport service will invent a socket_id which is not
-- currently in use, and assign it to this connection.
procedure Close (Connection : Transport.Connection_Id);
-- Deallocate local resources.
-- If the connection is connected, disconnect it.
-- If the connection is not open, do nothing.
procedure Connect (Connection : Transport.Connection_Id;
Status : out Transport_Defs.Status_Code;
Remote_Host : Transport_Defs.Host_Id;
Remote_Socket : Transport_Defs.Socket_Id;
Max_Wait : Duration := Duration'Last);
-- Initiate a connection to the specified remote host and socket.
-- The CONNECTION must be open.
procedure Connect (Connection : Transport.Connection_Id;
Status : out Transport_Defs.Status_Code;
Max_Wait : Duration := Duration'Last);
-- Wait for a connection initiated by some other task.
-- The CONNECTION must be open.
procedure Disconnect (Connection : Transport.Connection_Id);
-- Break a connection.
-- If the CONNECTION is not connected, do nothing.
function Is_Open (Connection : Transport.Connection_Id) return Boolean;
function Is_Connected (Connection : Transport.Connection_Id) return Boolean;
procedure Transmit (Connection : Transport.Connection_Id;
Status : out Transport_Defs.Status_Code;
Data : Byte_Defs.Byte_String;
Count : out Natural;
Max_Wait : Duration := Duration'Last;
More : Boolean := False);
-- Transmit some data. The CONNECTION must be connected.
-- STATUS is returned OK, unless the connection is broken.
-- DATA is the data to be transmitted. COUNT is returned the
-- number of bytes actually transmitted. This may differ
-- from DATA'LENGTH if the connection breaks, or if the
-- operation times out.
-- MAX_WAIT is the maximum amount of time to spend trying to
-- transmit the data. The operation completes when all the
-- DATA bytes have been transmitted, or when MAX_WAIT
-- expires, whichever comes first.
-- MORE indicates that the service may hold the data in its
-- local buffers, to be combined with more data which the
-- client is about to transmit. This is a performance hint
-- only: the service is free to ignore it and transmit all
-- data as soon as it gets it.
-- This operation may simply store data in a local buffer,
-- and actually transmit it at some future opportunity. If
-- buffering is involved, the service assumes responsibility
-- for transmitting the buffered data.
procedure Receive (Connection : Transport.Connection_Id;
Status : out Transport_Defs.Status_Code;
Data : out Byte_Defs.Byte_String;
Count : out Natural;
Max_Wait : Duration := Duration'Last);
-- Receive some data. The CONNECTION must be connected.
-- STATUS is returned OK, unless the connection is broken.
-- DATA is the buffer into which to store received data.
-- COUNT is returned the number of bytes actually stored.
-- This may be less than DATA'LENGTH.
-- MAX_WAIT is the maximum amount of time to spend waiting
-- to receive some data. The operation completes when one
-- or more DATA bytes have been received, or when MAX_WAIT
-- expires, whichever comes first.
-- This procedure does not wait to fill up the DATA buffer.
-- As soon as ANY data are received, it returns them.
private
type Connection_Info;
type Connection_Id is access Connection_Info;
Null_Connection_Id : constant Connection_Id := null;
end Transport;