class ConnectionPool
Public Class Methods
new(opts, &block)
click to toggle source
# File lib/thrift_client/pool.rb, line 3 def initialize(opts, &block) @idle = [] #空闲的连接 @active = {} #活动的连接 @pending = [] #等待的线程或纤程id opts[:size].times do @idle.push(block.call) if block_given? end @size = opts[:size] @state = true # mark this pool active end
Public Instance Methods
destroy()
click to toggle source
# File lib/thrift_client/pool.rb, line 30 def destroy raise NotImplementedError end
execute()
click to toggle source
# File lib/thrift_client/pool.rb, line 14 def execute raise NotImplementedError end
status()
click to toggle source
Returns current pool utilization.
@return [Hash] Current utilization.
# File lib/thrift_client/pool.rb, line 21 def status { state: state, idle: @idle.size, active: @active.size, pending: @pending.size } end