Skip to content

Instantly share code, notes, and snippets.

@Lothiraldan
Created October 10, 2014 22:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Lothiraldan/b1557ea2a151ffb2c9b3 to your computer and use it in GitHub Desktop.
Save Lothiraldan/b1557ea2a151ffb2c9b3 to your computer and use it in GitHub Desktop.
def recv_future(zmqstream):
''' Retruns future for recv on zmqstream
'''
future = Future()
def _finish(reply):
future.set_result(reply)
zmqstream.on_recv(_finish)
return future
def poll_sync():
context = zmq.Context().instance()
socket = context.socket(zmq.REQ)
socket.connect("tcp://localhost:9802")
socket.send('Ping'.encode('utf-8'))
result = socket.recv()
socket.close()
return result
@gen.coroutine
def poll_async():
context = zmq.Context().instance()
socket = context.socket(zmq.REQ)
socket.connect("tcp://localhost:9802")
zmqstream = ZMQStream(socket) # Required for ZMQ
zmqstream.send('Ping'.encode('utf-8'))
result = yield recv_future(zmqstream)
zmqstream.close()
raise gen.Return(result[0])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment