class_docstr: Internal adapter of VectorEnv to BaseEnv.
  
  We assume the caller will always send the full vector of actions in each
  call to send_actions(), and that they call reset_at() on all completed
  environments before calling send_actions().
class_docstr_tok: ["Internal","adapter","of","VectorEnv","to","BaseEnv",".","We","assume","the","caller","will","always","send","the","full","vector","of","actions","in","each","call","to","send_actions","(",")",",","and","that","they","call","reset_at","(",")","on","all","completed","environments","before","calling","send_actions","(",")","."]
code: def poll(
      self,
  ) -> Tuple[
      MultiEnvDict,
      MultiEnvDict,
      MultiEnvDict,
      MultiEnvDict,
      MultiEnvDict,
      MultiEnvDict,
  ]:
      from ray.rllib.env.base_env import with_dummy_agent_id
  
      if not self.first_reset_done:
          self.first_reset_done = True
          # TODO(sven): We probably would like to seed this call here as well.
          self.new_obs, self.cur_infos = self.vector_env.vector_reset()
      new_obs = dict(enumerate(self.new_obs))
      rewards = dict(enumerate(self.cur_rewards))
      terminateds = dict(enumerate(self.cur_terminateds))
      truncateds = dict(enumerate(self.cur_truncateds))
      infos = dict(enumerate(self.cur_infos))
  
      # Empty all states (in case `poll()` gets called again).
      self.new_obs = []
      self.cur_rewards = []
      self.cur_terminateds = []
      self.cur_truncateds = []
      self.cur_infos = []
  
      return (
          with_dummy_agent_id(new_obs),
          with_dummy_agent_id(rewards),
          with_dummy_agent_id(terminateds, "__all__"),
          with_dummy_agent_id(truncateds, "__all__"),
          with_dummy_agent_id(infos),
          {},
      )
  
imports: import logging
  import gymnasium
  import numpy
  from typing import Callable, List, Optional, Tuple, Union, Set
  from ray.rllib.env.base_env import BaseEnv, _DUMMY_AGENT_ID
  from ray.rllib.utils.annotations import Deprecated, override, PublicAPI
  from ray.rllib.utils.typing import EnvActionType, EnvID, EnvInfoDict, EnvObsType, EnvType, MultiEnvDict, AgentID
  from ray.util import log_once
label_desc: Use image node_id 2 for calling the VectorEnvWrapper obj's underlying member method code with example usage: obj.poll() and returns: with_dummy_agent_id,  with_dummy_agent_id,  with_dummy_agent_id,  with_dummy_agent_id,  with_dummy_agent_id,  dict