dat_ep_disconnect(3Direct Access Transport Library Funcdat_ep_disconnect(3DAT)NAMEdat_ep_disconnect - terminate a connection or a connection establish‐
ment
SYNOPSIS
cc [ flag... ] file... -ldat [ library... ]
#include <dat/udat.h>
DAT_RETURN
dat_ep_disconnect (
IN DAT_EP_HANDLE ep_handle,
IN DAT_CLOSE_FLAGS disconnect_flags
)
PARAMETERS
ep_handle Handle for an instance of Endpoint.
disconnect_flags Flags for disconnect. Flag values are as fol‐
lows:
DAT_CLOSE_ABRUPT_FLAG
Abrupt close. This is the default value.
DAT_CLOSE_GRACEFUL_FLAG
Graceful close.
DESCRIPTION
The dat_ep_disconnect() function requests a termination of a connection
or connection establishment. This operation is used by the
active/client or a passive/server side Consumer of the connection
model.
The disconnect_flags parameter allows Consumers to specify whether they
want graceful or abrupt disconnect. Upon disconnect, all outstanding
and in-progress DTOs and RMR Binds must be completed.
For abrupt disconnect, all outstanding DTOs and RMR Binds are completed
unsuccessfully, and in-progress DTOs and RMR Binds can be completed
successfully or unsuccessfully. If an in-progress DTO is completed
unsuccessfully, all follow on in-progress DTOs in the same direction
also must be completed unsuccessfully. This order is presented to the
Consumer through a DTO completion Event Stream of the recv_evd_handle
and and request_evd_handle of the Endpoint.
For graceful disconnect, all outstanding and in-progress request DTOs
and RMR Binds must try to be completed successfully first, before dis‐
connect proceeds. During that time, the local Endpoint is in a
DAT_EP_DISCONNECT_PENDING state.
The Consumer can call abrupt dat_ep_disconnect() when the local End‐
point is in the DAT_EP_DISCONNECT_PENDING state. This causes the End‐
point to transition into DAT_EP_STATE_DISCONNECTED without waiting for
outstanding and in-progress request DTOs and RMR Binds to successfully
complete. The graceful dat_ep_disconnect() call when the local Endpoint
is in the DAT_EP_DISCONNECT_PENDING state has no effect.
If the Endpoint is not in DAT_EP_STATE_CONNECTED, the semantic of the
operation is the same for graceful or abrupt disconnect_flags value.
No new Send, RDMA Read, and RDMA Write DTOs, or RMR Binds can be posted
to the Endpoint when the local Endpoint is in the DAT_EP_DISCON‐
NECT_PENDING state.
The successful completion of the disconnect is reported to the Consumer
through a DAT_CONNECTION_EVENT_DISCONNECTED event on connect_evd_handle
of the Endpoint. The Endpoint is automatically transitioned into a
DAT_EP_STATE_DISCONNECTED state upon successful asynchronous comple‐
tion. If the same EVD is used for connect_evd_handle and any
recv_evd_handle and request_evd_handle, all successful Completion
events of in-progress DTOs precede the Disconnect Completion event.
Disconnecting an unconnected Disconnected Endpoint is no-op. Discon‐
necting an Endpoint in DAT_EP_STATE_UNCONNECTED, DAT_EP_STATE_RESERVED,
DAT_EP_STATE_PASSIVE_CONNECTION_PENDING, and DAT_EP_STATE_TENTA‐
TIVE_CONNECTION_PENDING is disallowed.
Both abrupt and graceful disconnect of the Endpoint during connection
establishment, DAT_EP_STATE_ACTIVE_CONNECTION_PENDING and
DAT_EP_STATE_COMPLETION_PENDING, "aborts" the connection establishment
and transitions the local Endpoint into DAT_EP_STATE_DISCONNECTED. That
causes preposted Recv DTOs to be flushed to recv_evd_handle.
RETURN VALUES
DAT_SUCCESS The operation was successful.
DAT_INVALID_HANDLE The ep_handle parameter is invalid.
DAT_INSUFFICIENT_RESOURCES The operation failed due to resource
limitations.
DAT_INVALID_PARAMETER The disconnect_flags parameter is
invalid.
DAT_INVALID_STATE A parameter is in an invalid state.
Endpoint is not in the valid state for
disconnect.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Interface Stability │Standard: uDAPL, 1.1, 1.2 │
├─────────────────────────────┼─────────────────────────────┤
│MT-Level │ Unsafe │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOlibdat(3LIB), attributes(5)SunOS 5.10 16 Jul 2004 dat_ep_disconnect(3DAT)