# File lib/rudy/utils.rb, line 202
202:     def service_available?(host, port, wait=3)
203:       if Rudy.sysinfo.vm == :java
204:         begin
205:           iadd = Java::InetSocketAddress.new host, port      
206:           socket = Java::Socket.new
207:           socket.connect iadd, wait * 1000  # milliseconds
208:           success = !socket.isClosed && socket.isConnected
209:         rescue NativeException => ex
210:           puts ex.message, ex.backtrace if Rudy.debug?
211:           false
212:         end
213:       else 
214:         begin
215:           status = Timeout::timeout(wait) do
216:             socket = Socket.new( AF_INET, SOCK_STREAM, 0 )
217:             sockaddr = Socket.pack_sockaddr_in( port, host )
218:             socket.connect( sockaddr )
219:           end
220:           true
221:         rescue Errno::EAFNOSUPPORT, Errno::ECONNREFUSED, SocketError, Timeout::Error => ex
222:           puts ex.class, ex.message, ex.backtrace if Rudy.debug?
223:           false
224:         end
225:       end
226:     end