pbdZMQ (version 0.2-4)

Message Function: Message Functions

Description

Message functions

Usage

zmq.msg.send(rmsg, socket, flags = .pbd_env$ZMQ.SR$BLOCK, serialize = TRUE)
zmq.msg.recv(socket, flags = .pbd_env$ZMQ.SR$BLOCK, unserialize = TRUE)

Arguments

rmsg
an R message
socket
a ZMQ socket
flags
a flag for method of send and receive
serialize
if serialize the rmsg
unserialize
if unserialize the received R message

Value

zmq.msg.send() returns 0 if successful, otherwise returns -1 and sets errno to EFAULT.zmq.msg.recv() returns the message if successful, otherwise returns -1 and sets errno to EFAULT.

Details

zmq.msg.send() sends an R message.

zmq.msg.recv() receives an R message.

References

ZeroMQ/4.1.0 API Reference: http://api.zeromq.org/4-1:_start

Programming with Big Data in R Website: http://r-pbd.org/

See Also

zmq.send(), zmq.recv().

Examples

Run this code
## Not run: 
# ### Using request-reply pattern.
# 
# ### At the server, run next in background or the other window.
# library(pbdZMQ, quietly = TRUE)
# 
# context <- zmq.ctx.new()
# responder <- zmq.socket(context, .pbd_env$ZMQ.ST$REP)
# zmq.bind(responder, "tcp://*:5555")
# buf <- zmq.msg.recv(responder)
# set.seed(1234)
# ret <- rnorm(5)
# print(ret)
# zmq.msg.send(ret, responder)
# zmq.close(responder)
# zmq.ctx.destroy(context)
# 
# 
# ### At a client, run next in foreground.
# library(pbdZMQ, quietly = TRUE)
# 
# context <- zmq.ctx.new()
# requester <- zmq.socket(context, .pbd_env$ZMQ.ST$REQ)
# zmq.connect(requester, "tcp://localhost:5555")
# zmq.msg.send(NULL, requester)
# ret <- zmq.msg.recv(requester)
# print(ret)
# zmq.close(requester)
# zmq.ctx.destroy(context)
# ## End(Not run)

Run the code above in your browser using DataCamp Workspace