# File lib/Dnsruby/event_machine_interface.rb, line 123 def EventMachineInterface::send(args={})#msg, timeout, server, port, src_add, src_port, tsig_key, ignore_truncation, use_tcp) # Is the EventMachine loop running? If not, we need to start it (and mark that we started it) begin if (!EventMachine.reactor_running?) start_eventmachine end rescue Exception #@TODO@ EM::reactor_running? only introduced in EM v0.9.0 - if it's not there, we simply don't know what to do... TheLog.error("EventMachine::reactor_running? not available.") # if Resolver.start_eventmachine_loop? # TheLog.debug("Trying to start event loop - may prove fatal...") start_eventmachine # else # TheLog.debug("Not trying to start event loop.") # end end df = nil if (args[:use_tcp]) df = send_tcp(args) else df = send_udp(args) end # Need to add this send to the list of outstanding sends add_to_outstanding(df, args[:timeout]) return df end