DLPI Programmer's Guide
36 Chapter 1
Introduction to DLPI
DLPI Services
Figure 1-12 Message Flow: Successful Connection Establishment
Once the connection is established, the DLS users may exchange user
data using DL_DATA_REQ and DL_DATA_IND.
The DLS user may accept an incoming connect request on either the
stream where the connect indication arrived or at an alternate,
responding stream. The responding stream is indicated by a token in the
DL_CONNECT_RES. This token is a value associated with the
responding stream and is obtained by issuing a DL_TOKEN_REQ on
that stream. The DLS provider responds to this request by generating a
token for the stream and returning it to the DLS user in a
DL_TOKEN_ACK.
Connection Handoff
Connections may be established on a stream other than that which
received the DL_CONNECT_IND by passing a non-zero dl_resp_token in
the DL_CONNECT_RES. The dl_resp_token value is obtained by doing a
DL_TOKEN_REQ on the stream the connection is being passed to (the
data stream). The DL_CONNECT_RES is done on the stream which
received the DL_CONNECT_IND (the control stream). Both the control
and data streams must be bound on the same local SAP. After the
DL_CONNECT_RES, the control stream will be left in the
INCON_PEND state if there are more outstanding connect indications;
otherwise, it will be left in the IDLE state. The data stream will be in the
DATAXFER state.
The normal sequence of messages for obtaining a token is illustrated in
Figure 1-13.
DL_CONNECT
request
DL_CONNECT
confirm
DL_CONNECT
DL_CONNECT
DL_OK
response
indication
acknowledge