For a socket or context using the surveyor protocol in a surveyor/respondent pattern. Set a survey timeout in ms (remains valid for all subsequent surveys). Messages received by the surveyor after the timer has ended are discarded.

survey_time(con, time)

Arguments

con

a Socket or Context using the 'surveyor' protocol.

time

the survey timeout in ms.

Value

Invisibly, an integer exit code (zero on success).

Details

After using this function, to start a new survey, the surveyor must:

  • send a message.

  • switch to receiving responses.

To respond to a survey, the respondent must:

  • receive the survey message.

  • send a reply using send_aio before the survey has timed out (a reply can only be sent after receiving a survey).

Examples

sur <- socket("surveyor", listen = "inproc://nanonext")
res <- socket("respondent", dial = "inproc://nanonext")

survey_time(sur, 1000)
send(sur, "reply to this survey")
aio <- recv_aio(sur)

recv(res)
#> [1] "reply to this survey"
s <- send_aio(res, "replied")

call_aio(aio)$data
#> [1] "replied"

close(sur)
close(res)