module LogStash::Util::ZeroMQ
Constants
- CONTEXT
- STRING_OPTS
LOGSTASH-400 see github.com/chuckremes/ffi-rzmq/blob/master/lib/ffi-rzmq/socket.rb#L93-117
Public Instance Methods
context()
click to toggle source
# File lib/logstash/util/zeromq.rb, line 11 def context CONTEXT end
error_check(rc, doing)
click to toggle source
# File lib/logstash/util/zeromq.rb, line 24 def error_check(rc, doing) unless ZMQ::Util.resultcode_ok?(rc) @logger.error("ZeroMQ error while #{doing}", { :error_code => rc }) raise "ZeroMQ Error while #{doing}" end end
setopts(socket, options)
click to toggle source
# File lib/logstash/util/zeromq.rb, line 31 def setopts(socket, options) options.each do |opt,value| sockopt = opt.split('::')[1] option = ZMQ.const_defined?(sockopt) ? ZMQ.const_get(sockopt) : ZMQ.const_missing(sockopt) unless STRING_OPTS.include?(sockopt) begin Float(value) value = value.to_i rescue ArgumentError raise "#{sockopt} requires a numeric value. #{value} is not numeric" end end # end unless error_check(socket.setsockopt(option, value), "while setting #{opt} == #{value}") end # end each end
setup(socket, address)
click to toggle source
# File lib/logstash/util/zeromq.rb, line 15 def setup(socket, address) if server? error_check(socket.bind(address), "binding to #{address}") else error_check(socket.connect(address), "connecting to #{address}") end @logger.info("0mq: #{server? ? 'connected' : 'bound'}", :address => address) end