code: def _async_pull(
      self,
      idx: int,
      src: Tensor,
      offset: Optional[Tensor],
      count: Optional[Tensor],
      index: Tensor,
  ) -> None:
      with torch.cuda.stream(self._pull_stream(idx)):
          read_async(
              src,
              offset,
              count,
              index,
              self._cuda_buffer(idx),
              self._cpu_buffer(idx),
          )
  
imports: from typing import Optional, Callable
  import torch
  from torch import Tensor
  from torch.cuda import Stream
  from dig_ext.sync import synchronize, read_async, write_async
label_desc: Use image node_id 8 for calling the AsyncIOPool obj's underlying member method code with example usage: obj._async_pull(idx, src, offset, count, index) without return types