class_docstr: Base class for RPC-based launchers.
  
  This is an abstract class intended to be a base class for specific
  implementations of RPC launchers. There are two public methods that
  each launcher needs to implement:
  - start_server
  - stop server
  and two "private" methods used in setting up the environment:
  - _copy_to_remote
  - _create_remote_directory
  
  The basic flow of interaction with the launcher is
      launcher = HexagonLauncher(...)
      launcher.start_server()
      with launcher.create_session() as session:
          # Do something with the session
      launcher.stop_server()
  
  Parameters
  ----------
  rpc_info : dict
      Description of the RPC setup. Recognized keys:
          "rpc_tracker_host" : str    name of the host running the tracker (default "0.0.0.0")
          "rpc_tracker_port" : int    port number of the tracker (default: 9190)
          "rpc_server_port"  : int    port number for the RPC server to use (default 7070)
          "workspace_base"   : str    name of base test directory (default ".")
  workspace : str or patlib.Path
      The server's remote working directory. If this directory does not
      exist, it will be created. If it does exist, the servermust have
      write permissions to it.
      If this parameter is None, a subdirectory in the `workspace_base`
      directory will be created, otherwise the `workspace_base` is not
      used.
class_docstr_tok: ["Base","class","for","RPC-based","launchers",".","This","is","an","abstract","class","intended","to","be","a","base","class","for","specific","implementations","of","RPC","launchers",".","There","are","two","public","methods","that","each","launcher","needs","to","implement",":","-","start_server","-","stop","server","and","two","``","private","''","methods","used","in","setting","up","the","environment",":","-","_copy_to_remote","-","_create_remote_directory","The","basic","flow","of","interaction","with","the","launcher","is","launcher","=","HexagonLauncher","(","...",")","launcher.start_server","(",")","with","launcher.create_session","(",")","as","session",":","#","Do","something","with","the","session","launcher.stop_server","(",")","Parameters","--","--","--","--","--","rpc_info",":","dict","Description","of","the","RPC","setup",".","Recognized","keys",":","``","rpc_tracker_host","''",":","str","name","of","the","host","running","the","tracker","(","default","``","0.0.0.0","''",")","``","rpc_tracker_port","''",":","int","port","number","of","the","tracker","(","default",":","9190",")","``","rpc_server_port","''",":","int","port","number","for","the","RPC","server","to","use","(","default","7070",")","``","workspace_base","''",":","str","name","of","base","test","directory","(","default","``",".","''",")","workspace",":","str","or","patlib.Path","The","server","'s","remote","working","directory",".","If","this","directory","does","not","exist",",","it","will","be","created",".","If","it","does","exist",",","the","servermust","have","write","permissions","to","it",".","If","this","parameter","is","None",",","a","subdirectory","in","the","`","workspace_base","`","directory","will","be","created",",","otherwise","the","`","workspace_base","`","is","not","used","."]
docstr: Create a directory in the remote location.
  
  Parameters
  ----------
  remote_path : str or pathlib.Path
      Name of the directory to be created.
  
  Returns
  -------
  pathlib.Path :
      Absolute path of the remote workspace.
docstr_tok: ["Create","a","directory","in","the","remote","location",".","Parameters","--","--","--","--","--","remote_path",":","str","or","pathlib.Path","Name","of","the","directory","to","be","created",".","Returns","--","--","--","-","pathlib.Path",":","Absolute","path","of","the","remote","workspace","."]
code: def _create_remote_directory(
      self, remote_path: Union[str, pathlib.Path]
  ) -> pathlib.Path:
      """Create a directory in the remote location.
  
      Parameters
      ----------
      remote_path : str or pathlib.Path
          Name of the directory to be created.
  
      Returns
      -------
      pathlib.Path :
          Absolute path of the remote workspace.
      """
      ...
  
imports: import abc
  import datetime
  import logging
  import multiprocessing
  import os
  import pathlib
  import signal
  import socket
  import stat
  import random
  import string
  import subprocess
  import sys
  import tempfile
  from typing import Union
  from tvm.contrib.hexagon.hexagon_profiler import HexagonProfiler
  from ..._ffi import libinfo
  from .session import Session
  from .tools import HEXAGON_SIMULATOR_NAME
label_desc: Use image node_id 6 for calling the HexagonLauncherRPC obj's underlying member method code with example usage: obj._create_remote_directory(remote_path) without return types