# File lib/brb/tunnel/shared.rb, line 127 def recv(key, nb_out) begin @replock.lock r = @responses[key] ||= Queue.new @replock.unlock while rep = r.pop if rep[1] == nb_out # On check ke c'est bien la réponse que l'on attend # Call the callback if block_given? yield(rep[0]) end return rep[0] end if rep[1] > nb_out return nil end end rescue Exception => e if @close_after_timeout == true stop_service sleep 1 raise e else raise e end end end