class RPCBench::ZeroMQ::Client

Public Class Methods

new(opts) click to toggle source
Calls superclass method RPCBench::ZeroMQ::Base::new
# File lib/rpc_bench/driver_zmq.rb, line 12
def initialize opts
  super opts
end

Public Instance Methods

close() click to toggle source
# File lib/rpc_bench/driver_zmq.rb, line 36
def close
  @context.terminate
end
send_request(data, count) click to toggle source
# File lib/rpc_bench/driver_zmq.rb, line 16
def send_request data, count
  sock = @context.socket(ZMQ::REQ)
  sock.connect("tcp://#{@opts[:host]}:#{@opts[:port]}")
  
  results = []
  (1..count).each do |_|
    # sending request
    sock.send_string data.to_s
  
    # receiving reply
    reply = ''
    sock.recv_string(reply)

    results << reply.slice(/[0-9]+/).to_i
  end
  sock.close

  results
end