I'm trying to get my first zactor implementation finished, compiled, and debugged. I'm trying to create a zactor (and that seems to work OK). Once the zactor has been created, I would like to include it in a zloop reactor but I'm having trouble with type matchup in the following code:

*   zactor_t* initActor = zactor_new( myInitActor, (void*)"do_init");
   zloop_t* my_reactor = zloop_new();
        :
<several other regular socket readers get registered to my_reactor>
        :
   int rc = zloop_reader( my_reactor, initActor, actorReader, (void*)"" );
*
In the last line above, the compiler doesn't like the type of argument #2 (which is zactor_t*, of course). The CZMQ3.0.1 synopsis for zactor says, in part:

   "A zactor_t instance acts like a zsock_t and you can pass it to any
   CZMQ method that would take a zsock_t argument, including methods in
   zframe, zmsg, zstr, zpoller, and *zloop*."

Apparently there is something here that I'm not unde/rstan/ding about the zactor_t and/or how to use it. Any clarifications or pointers to examples where actor streams are included in zloop_readers would be greatly appreciated. Note that I have tried to "fix" the compiler type mismatch by changing the 2nd argument of the zloop_reader() call above to be *zactor_sock(initActor)*. Indeed, this makes the compiler happy but when I run the program I get errno=88 (Socket operation on non-socket) when one of my lower-level zmq_poll functions attempts to include the initActor "socket" in its list of polled sockets.

       Steve B
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to