lib/ffi-rzmq/socket.rb in ffi-rzmq-0.7.1 vs lib/ffi-rzmq/socket.rb in ffi-rzmq-0.7.2
- old
+ new
@@ -346,14 +346,22 @@
message.close
end
end
private
+
+ def noblock? flag
+ (NOBLOCK & flag) == NOBLOCK
+ end
def _recv message, flags = 0
result_code = LibZMQ.zmq_recv @socket, message.address, flags
- flags != NOBLOCK ? error_check(ZMQ_RECV_STR, result_code) : error_check_nonblock(result_code)
+ if noblock?(flags)
+ error_check_nonblock(result_code)
+ else
+ error_check(ZMQ_RECV_STR, result_code)
+ end
end
# Calls to ZMQ.getsockopt require us to pass in some pointers. We can cache and save those buffers
# for subsequent calls. This is a big perf win for calling RCVMORE which happens quite often.
# Cannot save the buffer for the IDENTITY.