class Sequel::Database::AsyncThreadPool::Proxy

Default object class for async job/proxy result. This uses a queue for synchronization. The JobProcessor will push a result until the queue, and the code to get the value will pop the result from that queue (and repush the result to handle thread safety).

Public Class Methods

new() click to toggle source
    # File lib/sequel/extensions/async_thread_pool.rb
304 def initialize
305   super
306   @queue = ::Queue.new
307 end

Private Instance Methods

__get_value() click to toggle source
    # File lib/sequel/extensions/async_thread_pool.rb
315 def __get_value
316   @value = @queue.pop
317 
318   # Handle thread-safety by repushing the popped value, so that
319   # concurrent calls will receive the same value
320   @queue.push(@value)
321 end
__run() click to toggle source
    # File lib/sequel/extensions/async_thread_pool.rb
311 def __run
312   @queue.push(__run_block)
313 end