SYNOPSIS
#include <nng/nng.h>
int nng_close(nng_socket s);
DESCRIPTION
The nng_close()
function closes the supplied socket, s.
Messages that have been submitted for sending may be flushed or delivered,
depending upon the transport and the setting of the
NNG_OPT_LINGER
option.
Further attempts to use the socket after this call returns will result
in NNG_ECLOSED
.
Threads waiting for operations on the socket when this
call is executed may also return with an NNG_ECLOSED
result.
Closing the socket while data is in transmission will likely lead to loss
of that data.
There is no automatic linger or flush to ensure that the socket send buffers
have completely transmitted.
It is recommended to wait a brief period after calling
nng_send() or similar functions, before calling this
function.
|
RETURN VALUES
This function returns 0 on success, and non-zero otherwise.
ERRORS
NNG_ECLOSED
|
The socket s is already closed or was never opened. |