class WSDirector::ClientsHolder
Acts as a re-usable global barrier for a fixed number of clients. Barrier is reset if sucessfully passed in time.
Attributes
barrier[R]
Public Class Methods
new(count)
click to toggle source
# File lib/wsdirector/clients_holder.rb, line 7 def initialize(count) @barrier = Concurrent::CyclicBarrier.new(count) end
Public Instance Methods
wait_all()
click to toggle source
# File lib/wsdirector/clients_holder.rb, line 11 def wait_all result = barrier.wait(WSDirector.config.sync_timeout) raise Error, "Timeout (#{WSDirector.config.sync_timeout}s) exceeded for #wait_all" unless result barrier.reset result end