类 DRb::DRbConn
类
处理 DRbObject
与实际对象所在服务器之间的连接。
此类维护一个连接池,以减少每次方法调用启动和关闭连接的开销。
此类由 DRbObject
在内部使用。用户通常不需要直接处理它。
公共类方法
make_pool() 点击切换源代码
# File lib/drb/drb.rb, line 1259 def self.make_pool ThreadObject.new do |queue| pool = [] while true queue._execute do |message| case(message[0]) when :take then remote_uri = message[1] conn = nil new_pool = [] pool.each do |c| if conn.nil? and c.uri == remote_uri conn = c if c.alive? else new_pool.push c end end pool = new_pool conn when :store then conn = message[1] pool.unshift(conn) pool.pop.close while pool.size > POOL_SIZE conn else nil end end end end end
stop_pool() 点击切换源代码
# File lib/drb/drb.rb, line 1292 def self.stop_pool @pool_proxy&.kill @pool_proxy = nil end