# File lib/pry-remote-em/proto.rb, line 55
    def receive_json(j)
      if j['p']
        receive_prompt(j['p'])
      elsif j['d']
        receive_raw(j['d'])
      elsif j['m']
        receive_msg(j['m'])
      elsif j['mb']
        receive_msg_bcast(j['mb'])
      elsif j['s']
        receive_shell_cmd(j['s'])
      elsif j.include?('sc')
        receive_shell_result(j['sc'])
      elsif j['g']
        receive_banner(*j['g'].split(" ", 3))
      elsif j['c']
        receive_completion(j['c'])
      elsif j.include?('a')
        receive_auth(*Array(j['a']))
      elsif j['sd']
        receive_shell_data(j['sd'])
      elsif j['ssc']
        receive_shell_sig(:term)
      elsif j['hb']
        receive_heartbeat(j['hb'])
      elsif j['rs']
        receive_register_server(*Array(j['rs']))
      elsif j['urs']
        receive_unregister_server(j['urs'])
      elsif j.include?('sl')
        j['sl'] ?  receive_server_list(j['sl']) : receive_server_list
      elsif j['tls']
        receive_start_tls
      elsif j['pc']
        receive_proxy_connection(j['pc'])
      else
        receive_unknown(j)
      end
      j
    end