class Cucumber::WireSupport::Connection

def call_remote(request_handler, message, params)

def call_remote(request_handler, message, params)
  packet = WirePacket.new(message, params)
  begin
    send_data_to_socket(packet.to_json)
    response = fetch_data_from_socket(@config.timeout(message))
    response.handle_with(request_handler)
  rescue Timeout::Error => e
    backtrace = e.backtrace ; backtrace.shift # because Timeout puts some wierd stuff in there
    raise Timeout::Error, "Timed out calling wire server with message '#{message}'", backtrace
  end
end