1dat_ep_disconnect(3DDAiTr)ect Access Transport Library Functdiaotn_sep_disconnect(3DAT)
2
3
4
6 dat_ep_disconnect - terminate a connection or a connection establish‐
7 ment
8
10 cc [ flag... ] file... -ldat [ library... ]
11 #include <dat/udat.h>
12
13 DAT_RETURN
14 dat_ep_disconnect (
15 IN DAT_EP_HANDLE ep_handle,
16 IN DAT_CLOSE_FLAGS disconnect_flags
17 )
18
19
21 ep_handle Handle for an instance of Endpoint.
22
23
24 disconnect_flags Flags for disconnect. Flag values are as follows:
25
26 DAT_CLOSE_ABRUPT_FLAG Abrupt close. This is
27 the default value.
28
29
30 DAT_CLOSE_GRACEFUL_FLAG Graceful close.
31
32
33
35 The dat_ep_disconnect() function requests a termination of a connection
36 or connection establishment. This operation is used by the
37 active/client or a passive/server side Consumer of the connection
38 model.
39
40
41 The disconnect_flags parameter allows Consumers to specify whether they
42 want graceful or abrupt disconnect. Upon disconnect, all outstanding
43 and in-progress DTOs and RMR Binds must be completed.
44
45
46 For abrupt disconnect, all outstanding DTOs and RMR Binds are completed
47 unsuccessfully, and in-progress DTOs and RMR Binds can be completed
48 successfully or unsuccessfully. If an in-progress DTO is completed
49 unsuccessfully, all follow on in-progress DTOs in the same direction
50 also must be completed unsuccessfully. This order is presented to the
51 Consumer through a DTO completion Event Stream of the recv_evd_handle
52 and and request_evd_handle of the Endpoint.
53
54
55 For graceful disconnect, all outstanding and in-progress request DTOs
56 and RMR Binds must try to be completed successfully first, before dis‐
57 connect proceeds. During that time, the local Endpoint is in a
58 DAT_EP_DISCONNECT_PENDING state.
59
60
61 The Consumer can call abrupt dat_ep_disconnect() when the local End‐
62 point is in the DAT_EP_DISCONNECT_PENDING state. This causes the End‐
63 point to transition into DAT_EP_STATE_DISCONNECTED without waiting for
64 outstanding and in-progress request DTOs and RMR Binds to successfully
65 complete. The graceful dat_ep_disconnect() call when the local Endpoint
66 is in the DAT_EP_DISCONNECT_PENDING state has no effect.
67
68
69 If the Endpoint is not in DAT_EP_STATE_CONNECTED, the semantic of the
70 operation is the same for graceful or abrupt disconnect_flags value.
71
72
73 No new Send, RDMA Read, and RDMA Write DTOs, or RMR Binds can be posted
74 to the Endpoint when the local Endpoint is in the DAT_EP_DISCON‐
75 NECT_PENDING state.
76
77
78 The successful completion of the disconnect is reported to the Consumer
79 through a DAT_CONNECTION_EVENT_DISCONNECTED event on connect_evd_handle
80 of the Endpoint. The Endpoint is automatically transitioned into a
81 DAT_EP_STATE_DISCONNECTED state upon successful asynchronous comple‐
82 tion. If the same EVD is used for connect_evd_handle and any
83 recv_evd_handle and request_evd_handle, all successful Completion
84 events of in-progress DTOs precede the Disconnect Completion event.
85
86
87 Disconnecting an unconnected Disconnected Endpoint is no-op. Discon‐
88 necting an Endpoint in DAT_EP_STATE_UNCONNECTED, DAT_EP_STATE_RESERVED,
89 DAT_EP_STATE_PASSIVE_CONNECTION_PENDING, and DAT_EP_STATE_TENTA‐
90 TIVE_CONNECTION_PENDING is disallowed.
91
92
93 Both abrupt and graceful disconnect of the Endpoint during connection
94 establishment, DAT_EP_STATE_ACTIVE_CONNECTION_PENDING and
95 DAT_EP_STATE_COMPLETION_PENDING, "aborts" the connection establishment
96 and transitions the local Endpoint into DAT_EP_STATE_DISCONNECTED. That
97 causes preposted Recv DTOs to be flushed to recv_evd_handle.
98
100 DAT_SUCCESS The operation was successful.
101
102
103 DAT_INVALID_HANDLE The ep_handle parameter is invalid.
104
105
106 DAT_INSUFFICIENT_RESOURCES The operation failed due to resource lim‐
107 itations.
108
109
110 DAT_INVALID_PARAMETER The disconnect_flags parameter is
111 invalid.
112
113
114 DAT_INVALID_STATE A parameter is in an invalid state. End‐
115 point is not in the valid state for dis‐
116 connect.
117
118
120 See attributes(5) for descriptions of the following attributes:
121
122
123
124
125 ┌─────────────────────────────┬─────────────────────────────┐
126 │ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
127 ├─────────────────────────────┼─────────────────────────────┤
128 │Interface Stability │Standard: uDAPL, 1.1, 1.2 │
129 ├─────────────────────────────┼─────────────────────────────┤
130 │MT-Level │ Unsafe │
131 └─────────────────────────────┴─────────────────────────────┘
132
134 libdat(3LIB), attributes(5)
135
136
137
138SunOS 5.11 16 Jul 2004 dat_ep_disconnect(3DAT)