code: def schedule(
      self,
  ) -> Tuple[List[SequenceGroupMetadata], SchedulerOutputs]:
      # Schedule sequence groups.
      # This function call changes the internal states of the scheduler
      # such as self.running, self.swapped, and self.waiting.
      scheduler_outputs = self._schedule()
  
      # Create input data structures.
      seq_group_metadata_list: List[SequenceGroupMetadata] = []
      for seq_group in scheduler_outputs.scheduled_seq_groups:
          seq_data: Dict[int, List[SequenceData]] = {}
          for seq in seq_group.get_seqs(status=SequenceStatus.RUNNING):
              seq_id = seq.seq_id
              seq_data[seq_id] = seq.data
  
          seq_group_metadata = SequenceGroupMetadata(
              request_id=seq_group.request_id,
              is_prompt=scheduler_outputs.prompt_run,
              seq_data=seq_data,
              sampling_params=seq_group.sampling_params,
          )
          seq_group_metadata_list.append(seq_group_metadata)
      return seq_group_metadata_list, scheduler_outputs
  
imports: import enum
  import time
  from typing import Dict, Iterable, List, Optional, Tuple, Union
  from bigdl.llm.vllm.config import SchedulerConfig
  from bigdl.llm.vllm.core.policy import PolicyFactory
  from bigdl.llm.vllm.logger import init_logger
  from bigdl.llm.vllm.sequence import SequenceData, SequenceStatus
  from bigdl.llm.vllm.sequence import Sequence, SequenceGroup, SequenceGroupMetadata
  from bigdl.llm.utils.common import invalidInputError
label_desc: Use image node_id 7 for calling the FixedWindowScheduler obj's underlying member method code with example usage: obj.schedule() and returns: seq_group_metadata_list,  scheduler_outputs