[zeromq-dev] zproject python binding mixing with pyZMQ
Arnaud Loonstra
arnaud at sphaero.org
Tue Jun 2 13:56:42 CEST 2015
On 2015-05-03 16:25, Arnaud Loonstra wrote:
> Hi all,
>
> I'm testing the new python bindings from zproject. As a test I was
> trying the Zyre bindings. In Zyre you can retrieve the socket using
> socket() in case you want to add it to a poller. However the socket
> method returns a <class 'zyre.LP_zsock_t'> type which not hashable
> and
> probably won't be understood by pyZMQ.
>
> Any ideas how to deal with this? I think it would make sense if the
> binding is inter operable with PyZMQ.
>
> Rg,
>
> Arnaud
To make this work the generator needs to address for the socket types
beginning with:
--- a/bindings/python/zyre.py
+++ b/bindings/python/zyre.py
@@ -45,6 +45,14 @@ zyre_p = POINTER(zyre_t)
class zsock_t(Structure):
pass # Empty - only for type checking
+zsock_t._fields_=[
+ ("tag", c_uint),
+ ("handle", c_void_p),
+ ("endpoint", c_char_p),
+ ("cache", c_char_p),
+ ("type", c_int),
+ ("cache_size", c_size_t)
+ ]
zsock_p = POINTER(zsock_t)
The handle is an actual zmq socket. We only need to get to it's file
descriptor to be able to use it in a select/poll.
Perphaps the handle can be converted to a PyZMQ socket type?
Rg,
Arnaud
More information about the zeromq-dev
mailing list