code: def async_push(
      self, src: Tensor, offset: Tensor, count: Tensor, dst: Tensor
  ) -> None:
      # Start pushing `src` to ([offset, count] and index positions to `dst`:
      self._push_index = (self._push_index + 1) % self.pool_size
      self.synchronize_push(self._push_index)
      self._push_cache[self._push_index] = src
      with torch.cuda.stream(self._push_stream(self._push_index)):
          write_async(src, offset, count, dst)
  
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 11 for calling the AsyncIOPool obj's underlying member method code with example usage: obj.async_push(src, offset, count, dst) without return types