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 - 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;