docstr: insert sample data into buffer
          
code: def insert(
      self,
      share_obs,
      obs,
      actions,
      action_log_probs,
      value_preds,
      rewards,
      masks,
      active_masks=None,
  ):
      """insert sample data into buffer"""
      self.share_obs[self.step + 1] = share_obs.copy()
      self.obs[self.step + 1] = obs.copy()
      self.actions[self.step] = actions.copy()
      self.action_log_probs[self.step] = action_log_probs.copy()
      self.value_preds[self.step] = value_preds.copy()
      self.rewards[self.step] = rewards.copy()
      self.masks[self.step + 1] = masks.copy()
      if active_masks is not None:
          self.active_masks[self.step + 1] = active_masks.copy()
  
      self.step = (self.step + 1) % self.episode_length
  
file_path: PARL/benchmark/torch/mappo/mappo_buffer.py
imports: import torch
  import numpy
label_desc: Use image node_id 2 for calling the SeparatedReplayBuffer obj's underlying member method code with example usage: obj.insert(share_obs, obs, actions, action_log_probs, value_preds, rewards, masks, active_masks) without return types