class_docstr: This replay buffer implements a FIFO queue.
  
  Sometimes, e.g. for offline use cases, it may be desirable to use
  off-policy algorithms without a Replay Buffer.
  This FifoReplayBuffer can be used in-place to achieve the same effect
  without having to introduce separate algorithm execution branches.
  
  For simplicity and efficiency reasons, this replay buffer stores incoming
  sample batches as-is, and returns them one at time.
  This is to avoid any additional load when this replay buffer is used.
class_docstr_tok: ["This","replay","buffer","implements","a","FIFO","queue",".","Sometimes",",","e.g",".","for","offline","use","cases",",","it","may","be","desirable","to","use","off-policy","algorithms","without","a","Replay","Buffer",".","This","FifoReplayBuffer","can","be","used","in-place","to","achieve","the","same","effect","without","having","to","introduce","separate","algorithm","execution","branches",".","For","simplicity","and","efficiency","reasons",",","this","replay","buffer","stores","incoming","sample","batches","as-is",",","and","returns","them","one","at","time",".","This","is","to","avoid","any","additional","load","when","this","replay","buffer","is","used","."]
code: def add(self, batch: SampleBatchType, **kwargs) -> None:
      return self._queue.append(batch)
  
file_path: ray/python/ray/rllib/utils/replay_buffers/fifo_replay_buffer.py
imports: import numpy
  from typing import Any, Dict, Optional
  from ray.rllib.policy.sample_batch import MultiAgentBatch
  from ray.rllib.utils.annotations import override
  from ray.rllib.utils.replay_buffers.replay_buffer import ReplayBuffer, StorageUnit
  from ray.rllib.utils.typing import SampleBatchType
  from ray.util.annotations import DeveloperAPI
label_desc: Use image node_id 2 for calling the FifoReplayBuffer obj's underlying member method code with example usage: obj.add(batch) and returns: self