class MaZMQ::Proxy

Public Class Methods

new() click to toggle source

@@id = 0

Calls superclass method MaZMQ::Proxy::Backend::new
# File lib/ma-zmq/proxy.rb, line 7
def initialize
  @balancer = MaZMQ::Proxy::Balancer.new

  # @max_timeouts = 5 # TODO
  # @max_timeouted = 1
  # @max_retries

  super
end

Public Instance Methods

addresses() click to toggle source
# File lib/ma-zmq/proxy.rb, line 48
def addresses
  @sockets.collect{|s| s.addresses}.flatten
end
close() click to toggle source
# File lib/ma-zmq/proxy.rb, line 42
def close
  @sockets.each do |s|
    s.close
  end
end
connect(protocol, address, port) click to toggle source
Calls superclass method MaZMQ::Proxy::Backend#connect
# File lib/ma-zmq/proxy.rb, line 29
def connect(protocol, address, port)
  return false if addresses.include? "#{protocol}://#{address}:#{port.to_s}"
  index = super(protocol, address, port)
  #@balancer.curent refresh ! TODO
  @balancer.add(index)
  index
end
current_socket() click to toggle source
# File lib/ma-zmq/proxy.rb, line 52
def current_socket
  @sockets[@balancer.current]
end
disconnect(index) click to toggle source
Calls superclass method MaZMQ::Proxy::Backend#disconnect
# File lib/ma-zmq/proxy.rb, line 37
def disconnect(index)
  @balancer.remove(index)
  super(index)
end
send_string(msg) click to toggle source
# File lib/ma-zmq/proxy.rb, line 17
def send_string(msg)
  @current = current_socket
  return false if @current.is_a? NilClass
  case @current.state
    when :idle
      @current.send_string(msg)
    else
      return false
  end
  @balancer.next
end