diff options
Diffstat (limited to 'src/core/transport.h')
| -rw-r--r-- | src/core/transport.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/core/transport.h b/src/core/transport.h index 96976efd..d37fb449 100644 --- a/src/core/transport.h +++ b/src/core/transport.h @@ -102,9 +102,13 @@ struct nni_tran_ep_ops { void (*ep_accept)(void *, nni_aio *); // ep_close stops the endpoint from operating altogether. It does - // not affect pipes that have already been created. + // not affect pipes that have already been created. It is nonblocking. void (*ep_close)(void *); + // ep_stop stops the endpoint, and *waits* for any outstanding + // aio operations to complete. + void (*ep_stop)(void *); + // ep_options is an array of endpoint options. The final element must // have a NULL name. If this member is NULL, then no transport specific // options are available. @@ -142,6 +146,11 @@ struct nni_tran_pipe_ops { // its readiness by finishing the aio. void (*p_start)(void *, nni_aio *); + // p_stop stops the pipe, waiting for any callbacks that are + // outstanding to complete. This is done before tearing down + // resources with p_fini. + void (*p_stop)(void *); + // p_aio_send queues the message for transmit. If this fails, then // the caller may try again with the same message (or free it). If // the call succeeds, then the transport has taken ownership of the |
