Transport Service Interface Sequence of Primitives
The allowable sequence of primitives are described in the state
diagrams and tables in
``Allowable Sequence of TPI Primitives''
for both the connection-mode and
connectionless-mode transport services.
The following are rules regarding the maintenance of the
state of the interface:
-
It is the responsibility of the transport provider to keep record of
the state of the interface as viewed by the transport user.
-
The transport provider must never issue a primitive that places the
interface out of state.
-
The uninitialized state of a stream is the initial and final state,
and it must be bound (see
T_BIND_REQ
primitive) before the transport provider may view it as
an active stream.
-
If the transport provider sends a
M_ERROR
upstream,
it should also drop any further messages received
on its write side of the stream.
The following rules apply only to the connection-mode transport services.
-
A transport connection release procedure can be initiated at any time
during the transport connection establishment or data transfer phase.
-
The state tables for the connection-mode transport service
providers include the
management of the sequence numbering when a transport provider sends
multiple
T_CONN_IND
requests without waiting for the response of the
previously sent indication.
It is the responsibility of the transport providers not to change state
until all the indications have been responded to, therefore the provider
should remain in the
T_WRES_CIND
state while there are any outstanding
connect indications pending response.
The provider should change state appropriately when all the connect
indications have been responded to.
-
The state of a transport service interface of a
stream may only be transferred to another stream when it is
indicated in a
T_CONN_RES
primitive.
The following rules then apply to the cooperating ``streams'':
-
The stream which is to accept the current state of the interface
must be bound to an appropriate protocol address and must be in the
idle state.
-
The user transferring the current state of a stream must have
correct permissions for the use of the
protocol address
bound to the accepting stream.
-
The stream which transfers the state
of the transport interface must be placed into an appropriate state after
the completion of the transfer.
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005