= nng_stream_free(3str) // // Copyright 2019 Staysail Systems, Inc. // Copyright 2018 Capitar IT Group BV // Copyright 2019 Devolutions // // This document is supplied under the terms of the MIT License, a // copy of which should be located in the distribution where this // file was obtained (LICENSE.txt). A copy of the license may also be // found online at https://opensource.org/licenses/MIT. // == NAME nng_stream_free - free byte stream == SYNOPSIS [source, c] ---- #include void nng_stream_free(nng_stream *s); ---- == DESCRIPTION The `nng_stream_free()` function closes the xref:nng_stream.5.adoc[byte stream] _s_, and frees the underlying resources associated with it. If any operations are pending, such as xref:nng_stream_send.3str.adoc[`nng_stream_send()`] or xref:nng_stream_recv.3str.adoc[`nng_stream_recv()`], they will be terminated with an `NNG_ECLOSED` error condition. WARNING: It is important that the application ensure that no further accesses are made to _s_, as the memory backing it will be reclaimed for other uses. NOTE: Closing the connection 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. == RETURN VALUES None. == ERRORS None. == SEE ALSO [.text-left] xref:nng_strerror.3.adoc[nng_strerror(3)], xref:nng_stream_close.3str.adoc[nng_stream_close(3str)], xref:nng_stream_recv.3str.adoc[nng_stream_recv(3str)], xref:nng_stream_send.3str.adoc[nng_stream_send(3str)], xref:nng_stream.5.adoc[nng_stream(5)]