void __onConnect() {
size_t fd_size = _fd.sizeof;
zmq_getsockopt(_sock, ZMQ_FD, &_fd, &fd_size);
_fd_read_evt = createFileDescriptorEvent(_fd, FileDescriptorEvent.Trigger.read, false); //<---
_fd_write_evt = createFileDescriptorEvent(_fd, FileDescriptorEvent.Trigger.write, false); // <---
...
}
should not have the last bool argument. There is a third argument which is the trigger mask that has a default value.