context {nanonext} | R Documentation |
Open Context
Description
Open a new Context to be used with a Socket. The purpose of a Context is to permit applications to share a single socket, with its underlying dialers and listeners, while still benefiting from separate state tracking.
Usage
context(socket)
Arguments
socket |
a Socket. |
Details
Contexts allow the independent and concurrent use of stateful operations using the same socket. For example, two different contexts created on a rep socket can each receive requests, and send replies to them, without any regard to or interference with each other.
Only the following protocols support creation of contexts: req, rep, sub (in a pub/sub pattern), surveyor, respondent.
To send and receive over a context use send
and
recv
or their async counterparts send_aio
and
recv_aio
.
For nano objects, use the $context_open()
method, which will
attach a new context at $context
. See nano
.
Value
A Context (object of class ‘nanoContext’ and ‘nano’).
See Also
request
and reply
for use with contexts.
Examples
s <- socket("req", listen = "inproc://nanonext")
ctx <- context(s)
ctx
close(ctx)
close(s)
n <- nano("req", listen = "inproc://nanonext")
n$context_open()
n$context
n$context_open()
n$context
n$context_close()
n$close()