--- !ruby/object:RI::MethodDescription 
aliases: []

block_params: 
comment: 
- !ruby/struct:SM::Flow::P 
  body: "The core of the event loop. It processes a single iteration of the event loop. If a block is given, it should return false when the processing should abort, which causes #process to return false. Otherwise, #process returns true. The session itself is yielded to the block as its only argument."
- !ruby/struct:SM::Flow::P 
  body: If <tt>wait</tt> is nil (the default), this method will block until any of the monitored IO objects are ready to be read from or written to. If you want it to not block, you can pass 0, or you can pass any other numeric value to indicate that it should block for no more than that many seconds. Passing 0 is a good way to poll the connection, but if you do it too frequently it can make your CPU quite busy!
- !ruby/struct:SM::Flow::P 
  body: This will also cause all active channels to be processed once each (see Net::SSH::Connection::Channel#on_process).
- !ruby/struct:SM::Flow::VERB 
  body: "  # process multiple Net::SSH connections in parallel\n  connections = [\n    Net::SSH.start(&quot;host1&quot;, ...),\n    Net::SSH.start(&quot;host2&quot;, ...)\n  ]\n\n  connections.each do |ssh|\n    ssh.exec &quot;grep something /in/some/files&quot;\n  end\n\n  condition = Proc.new { |s| s.busy? }\n\n  loop do\n    connections.delete_if { |ssh| !ssh.process(0.1, &amp;condition) }\n    break if connections.empty?\n  end\n"
full_name: Net::SSH::Connection::Session#process
is_singleton: false
name: process
params: (wait=nil, &block)
visibility: public
