(broker_t *self, service_t *service, zmsg_t *msg); static void s_service_internal (broker_t *self, zframe_t *service_frame, zmsg_t *msg); // worker使用的函数 static worker_t * s_worker_require (broker_t *self, zframe_t *address); static void s_worker_delete (broker_t *self...
zmsg_send (&msg, worker); liveness = HEARTBEAT_LIVENESS; sleep (1); // 做一些处理工作 if (zctx_interrupted) break; } else if (zmsg_size (msg) == 1) { zframe_t *frame = zmsg_first (msg); if (memcmp (zframe_data (frame), PPP_HEARTBEAT, 1) == 0) ...
前面说到i_poll_events是一个接口提供in_event、out_event、timer_event这几个函数,这些函数也就是关联的fd被触发时的回调函数了。这里的调用就是把io_thread_t的这三个函数的实现,作为这个mailbox的fd的回调函数一同注册到epoll中,而mailbox的fd实际是eventfd,其作用就是读写感应。io_thread_t构造函数中最后的...
*msg); static void s_worker_send (broker_t *self, worker_t *worker, char *command, char *option, zmsg_t *msg); static void s_worker_waiting (broker_t *self, worker_t *worker); // 客户端使用的函数 static void s_client_process (broker_t *self, zframe_t *sender, zmsg_t *ms...
*msg); static void s_worker_send (broker_t *self, worker_t *worker, char *command, char *option, zmsg_t *msg); static void s_worker_waiting (broker_t *self, worker_t *worker); // 客户端使用的函数 static void s_client_process (broker_t *self, zframe_t *sender, zmsg_t *m...
*msg); static void s_worker_send (broker_t *self, worker_t *worker, char *command, char *option, zmsg_t *msg); static void s_worker_waiting (broker_t *self, worker_t *worker); // 客户端使用的函数 static void s_client_process (broker_t *self, zframe_t *sender, zmsg_t *ms...
*msg); static void s_worker_send (broker_t *self, worker_t *worker, char *command, char *option, zmsg_t *msg); static void s_worker_waiting (broker_t *self, worker_t *worker); // 客户端使用的函数 static void s_client_process (broker_t *self, zframe_t *sender, zmsg_t *ms...