# File lib/mcollective/client.rb, line 238 def start_receiver(requestid, waitfor, timeout, &block) Log.debug("Starting response receiver with timeout of #{timeout}") hosts_responded = 0 begin Timeout.timeout(timeout) do begin resp = receive(requestid) yield resp.payload hosts_responded += 1 end while (waitfor == 0 || hosts_responded < waitfor) end rescue Timeout::Error => e if (waitfor > hosts_responded) Log.warn("Could not receive all responses. Expected : #{waitfor}. Received : #{hosts_responded}") end end hosts_responded end