# 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