Sha256: 5f18306d985f8f658da73d6ca4735b327728d905853b5265f18352a6d5c0ae52
Contents?: true
Size: 1.14 KB
Versions: 1
Compression:
Stored size: 1.14 KB
Contents
module HawatelTlb module Mode ## # = Overview # # Details # # @!attribute [rw] name # @return [Type] description class RoundRobin def initialize(group) @group = group @round = Array.new end # Refresh group table after delete or add host # # @param group [Array<Hash>] def refresh(group) @group = group end # Return ip address based on Round Robin algorithm # # @return [Hash] hostname/ip address and port number def node counter = 0 first_item = '' @group.each do |node| if !node.status.empty? if node.status[:state] == 'online' && node.state == 'enable' first_item = {:host => node.host, :port => node.port} if counter == 0 if !@round.include?(node.id) @round.push(node.id) return {:host => node.host, :port => node.port} end counter += 1 end end end @round = Array.new return first_item if !first_item.empty? false end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
hawatel_tlb-0.1.0 | lib/hawatel_tlb/mode/roundrobin.rb |