An nng_stream
represents a byte stream.
This may correspond to an underlying connection such a TCP connection or
a connected UNIX domain socket or named pipe.
Note
|
The nng_stream object is used for raw byte stream connections, and
should not be confused with a pipe object created on
socket using the
nng_listen() ,
nng_dial() or related functions.
|
These objects are created either establishing an outgoing connection
with
nng_stream_dialer_dial()
or by accepting in incoming connection with
nng_stream_listener_accept()
.
Byte streams are “reliable” in that data will not be delivered out of order, or with portions missing.
Data can be sent using
nng_stream_send()
or
received with
nng_stream_recv()
.
When the connection is no longer needed, it should be freed with
nng_stream_free()
.
Tip
|
It is possible to close the connection, without freeing it, by
using
nng_stream_close() .
|
Byte streams may, depending on the underlying technology,
support various
options, which
can be accessed using the
nng_stream_get()
and
nng_stream_set()
family of
functions.