[zeromq-dev] pyczmq: zloop callback arguments?
pelletier.michel at gmail.com
Wed Nov 20 17:14:50 CET 2013
Ah I see what's up, poller() automatically wraps the arg in new_handle, but
timer does not. In either case the callback author has to unbox the handle
back into whatever it was they passed in. I'll push a PR.
On Wed, Nov 20, 2013 at 8:07 AM, Michel Pelletier <
pelletier.michel at gmail.com> wrote:
> Yes this is unfortunate, the arg can only be something fii thinks is a
> pointer. You have to "box/unbox" it with ffi.new_handle/fii.from_handle
> On Wed, Nov 20, 2013 at 4:09 AM, Michael Haberler <mail17 at mah.priv.at>wrote:
>> I'm stuck at passing 'self' as a timer callback argument:
>> Class Test:
>> def timer_event(loop, item, arg):
>> print type(loop), type(item), type(arg)
>> def __init__(self):
>> zloop.timer(self.loop, msec, 1, self.timer_event, self)
>> # this raises: TypeError: initializer for ctype 'void *' must be
>> a cdata pointer, not instance
>> how do I coerce this into action?
>> - Michael
>> zeromq-dev mailing list
>> zeromq-dev at lists.zeromq.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the zeromq-dev