private void InternalFireEvents86(Native.Poll.zmq_pollitem_t_x86[] items) { bool hasRcv; bool hasSend; // for (int i = 0; i < items.Length; i++) foreach (var pollitem in items) { if (pollitem.revents != 0) { hasRcv = ((pollitem.revents & Native.Poll.POLLIN) != 0); hasSend = ((pollitem.revents & Native.Poll.POLLOUT) != 0); if (hasRcv || hasSend) { // get our socket given the pointer Socket socket; if (_ptr2Socket.TryGetValue(pollitem.socket, out socket)) { // fire the events if (hasRcv) { var ev = this.RecvReady; if (ev != null) ev(socket); } if (hasSend) { var ev = this.SendReady; if (ev != null) ev(socket); } } } } } }