code: def copy(self, src_fs, src_path, dst_fs, dst_path):
          # type: (FS, Text, FS, Text) -> None
          
          if self.queue is None:
              # This should be the most performant for a single-thread
              copy_file_internal(src_fs, src_path, dst_fs, dst_path)
          else:
              src_file = src_fs.openbin(src_path, "r")
              try:
                  dst_file = dst_fs.openbin(dst_path, "w")
              except Exception:
                  src_file.close()
                  raise
              task = _CopyTask(src_file, dst_file)
              self.queue.put(task)
docs: Copy a file from one fs to another.