class RPCBench::Options

Constants

MODE_VALUES
OPT_DEFAULT

Public Class Methods

new() click to toggle source
# File lib/rpc_bench/options.rb, line 12
def initialize
  def sets(key, short, long, desc)
    @opt.on(short, long, desc) {|v| @options[key] = v}
  end
  def setn(key, short, long, desc)
    @opt.on(short, long, desc) {|v| @options[key] = v.to_i}
  end

  @options = OPT_DEFAULT
  @opt = OptionParser.new
  
  sets(:mode, '-m', '--mode m',
       'specify benchmark mode {rabbitmq|rabbitmq-stomp|newtmq|zeromq|grpc} [default: rabbitmq]')
  sets(:host, '-s', '--server s',
       'specify server to send request')
  setn(:port, '-p', '--port p',
       'specify port number on which server listens')
end

Public Instance Methods

parse() click to toggle source
# File lib/rpc_bench/options.rb, line 31
def parse
  @opt.parse!(ARGV)

  raise OptionParser::InvalidOption.new('validation failed') unless validated?

  @options
end
setn(key, short, long, desc) click to toggle source
# File lib/rpc_bench/options.rb, line 16
def setn(key, short, long, desc)
  @opt.on(short, long, desc) {|v| @options[key] = v.to_i}
end
sets(key, short, long, desc) click to toggle source
# File lib/rpc_bench/options.rb, line 13
def sets(key, short, long, desc)
  @opt.on(short, long, desc) {|v| @options[key] = v}
end
usage() click to toggle source
# File lib/rpc_bench/options.rb, line 39
def usage
  @opt.help
end

Private Instance Methods

validated?() click to toggle source
# File lib/rpc_bench/options.rb, line 44
def validated?
  ret = true

  ret &= MODE_VALUES.include? @options[:mode]
  ret &= @options[:conc].is_a? Integer
  ret &= @options[:num].is_a? Integer
end