class_docstr: An auxiliary data structure that allows user to control stages and track progress in a single averaging step
  
  :param scheduled_time: estimated time when averaging should begin. Will be used for scheduling
  :param deadline: if averaging is still in progress at this time, it should be stopped due to TimeoutError
  :param allow_retries: if True, allow running matchmaking and all-reduce again if previous attempt fails
  :param weight: averaging weight, can be changed afterwards
  :param data_for_gather: send this data to all peers in the next group and gather it from groupmates
docstr: Allow averager to begin all-reduce when it finds a group. Meant to be triggered by user.
docstr_tok: ["Allow","averager","to","begin","all-reduce","when","it","finds","a","group",".","Meant","to","be","triggered","by","user","."]
code: def allow_allreduce(self):
      """Allow averager to begin all-reduce when it finds a group. Meant to be triggered by user."""
      assert (
          self._trigger is not None
      ), "StepControl does not have an attached trigger"
      if self._trigger.done():
          logger.warning("Trigger is already set")
      else:
          self._trigger.set_result(None)
  
imports: import os
  import struct
  from enum import Enum
  from typing import Optional
  import numpy
  import torch
  from hivemind.utils import DHTExpiration, MPFuture, get_dht_time, get_logger
label_desc: Use image node_id 3 for calling the StepControl obj's underlying member method code with example usage: obj.allow_allreduce() without return types