mirror of https://github.com/zeromq/pyzmq.git
94 lines
1.8 KiB
Markdown
94 lines
1.8 KiB
Markdown
% AUTO-GENERATED FILE -- DO NOT EDIT!
|
|
|
|
# eventloop.future
|
|
|
|
## Module: {mod}`zmq.eventloop.future`
|
|
|
|
```{eval-rst}
|
|
.. automodule:: zmq.eventloop.future
|
|
```
|
|
|
|
```{currentmodule} zmq.eventloop.future
|
|
```
|
|
|
|
```{versionadded} 15.0
|
|
```
|
|
|
|
As of pyzmq 15, there is a new Socket subclass that returns Futures for recv methods,
|
|
which can be found at {class}`Socket`.
|
|
You can create these sockets by instantiating a {class}`Context`
|
|
from the same module.
|
|
These sockets let you easily use zmq with tornado's coroutines.
|
|
|
|
```{seealso}
|
|
{mod}`tornado.gen`
|
|
```
|
|
|
|
```python
|
|
from tornado import gen
|
|
from zmq.eventloop.future import Context
|
|
|
|
ctx = Context()
|
|
|
|
|
|
@gen.coroutine
|
|
def recv_and_process():
|
|
sock = ctx.socket(zmq.PULL)
|
|
sock.bind(url)
|
|
msg = yield sock.recv_multipart() # waits for msg to be ready
|
|
reply = yield async_process(msg)
|
|
yield sock.send_multipart(reply)
|
|
```
|
|
|
|
## Classes
|
|
|
|
### {class}`Context`
|
|
|
|
Context class that creates Future-returning sockets. See {class}`zmq.Context` for more info.
|
|
|
|
```{eval-rst}
|
|
.. autoclass:: Context
|
|
|
|
```
|
|
|
|
### {class}`Socket`
|
|
|
|
Socket subclass that returns {class}`~tornado.concurrent.Future` s from blocking methods,
|
|
for use in coroutines and async applications.
|
|
|
|
```{seealso}
|
|
{class}`zmq.Socket` for the inherited API.
|
|
```
|
|
|
|
```{eval-rst}
|
|
.. autoclass:: Socket
|
|
|
|
.. automethod:: recv
|
|
:noindex:
|
|
.. automethod:: recv_multipart
|
|
:noindex:
|
|
.. automethod:: send
|
|
:noindex:
|
|
.. automethod:: send_multipart
|
|
:noindex:
|
|
.. automethod:: poll
|
|
:noindex:
|
|
|
|
```
|
|
|
|
### {class}`Poller`
|
|
|
|
Poller subclass that returns {class}`~tornado.concurrent.Future` s from poll,
|
|
for use in coroutines and async applications.
|
|
|
|
```{seealso}
|
|
{class}`zmq.Poller` for the inherited API.
|
|
```
|
|
|
|
```{eval-rst}
|
|
.. autoclass:: Poller
|
|
|
|
.. automethod:: poll
|
|
:noindex:
|
|
```
|