Sha256: 8747f6e8d55c0c742652c3b3a973e00ff27e90661ef49bcc5f286d68aff39302
Contents?: true
Size: 990 Bytes
Versions: 9
Compression:
Stored size: 990 Bytes
Contents
require File.join(File.dirname(__FILE__), '..', '..', 'lib', 'ffi-rzmq') if ARGV.length != 3 puts "usage: ruby remote_throughput.rb <connect-to> <message-size> <message-count>" Process.exit end connect_to = ARGV[0] message_size = ARGV[1].to_i message_count = ARGV[2].to_i def assert(rc) raise "Last API call failed at #{caller(1)}" unless rc >= 0 end begin ctx = ZMQ::Context.new s = ZMQ::Socket.new(ctx.pointer, ZMQ::PUB) rescue ContextError => e STDERR.puts "Could not allocate a context or socket!" raise end #assert(s.setsockopt(ZMQ::LINGER, 1_000)) #assert(s.setsockopt(ZMQ::RCVHWM, 0)) #assert(s.setsockopt(ZMQ::SNDHWM, 0)) assert(s.connect(connect_to)) # the sleep gives the downstream SUB socket a chance to register its # subscription filters with this PUB socket sleep 1 contents = "#{'0'*message_size}" i = 0 while i < message_count msg = ZMQ::Message.new(contents) assert(s.sendmsg(msg)) puts i i += 1 end sleep 10 assert(s.close) ctx.terminate
Version data entries
9 entries across 9 versions & 1 rubygems