class Context:
    """
    This context object is injected into all processes. 
    It stores the complete evaluation environment.
    Do not make changes here unless you know what you are doing.
    """

    def __init__(self):

        # core parameters
        self.started = -1 # timestamp set when this object was created
        self.maxtick = 450 # hard time limit for scenarios to make plotting etc easier
        self.sim = None # reference to the simulator class (set by core/simulator.py)
        self.seed = None # global seed injected via CLI (only required if ctx.seed is used by generators)
        self.verbose = False # print some verbose information (not used atm)
        self.configfile = None # pointer to a config file that should be used
        self.config = {} # parsed content from the config file
        self.topo = None # reference to topology object
        self.traffic = [] # list of flow specs for traffic generation
        self.flows = [] # list of flow objects generated from flow specs
        self.errors = -1 # error counter used for testing purposes only
        self.plotters = [] # list of plotters that should be executed after the run
        self.statistics = {} # global simulation statistics such as #processed events
        self.run_scenario_generator = False # flag set by main.py if -g flag was used
        self.skip_main_simulation = False # can be set by experiment if the simulator is not required
        
        # the following references are special (not serializable, for scenario based evaluations only)
        self.scenario = None # scenario generated by scenario generator (if a scenario is used)
        self.scenario_result = None # dts_result object (if a scenario is used)
        self.scenario_data = None
        self.all_dts_results = None # DTS object with results for all switches
        self.all_commands = {} # command result from DTS
        
        # some hooks
        self.on_simulation_finished = None
        self.on_simulation_setup_complete = None
        self.on_test_finished = None

        # misc
        self._events = []
        self._counter_flows = 0 # counter variables for id generation
        self._copy_for_switch_id = -1 # used by exp402
        self.stored_solution = None

class Context:
    """
    This context object is injected into all processes. 
    It stores the complete evaluation environment.
    Do not make changes here unless you know what you are doing.
    """

    def __init__(self):

        # core parameters
        self.started = -1 # timestamp set when this object was created
        self.maxtick = 450 # hard time limit for scenarios to make plotting etc easier
        self.sim = None # reference to the simulator class (set by core/simulator.py)
        self.seed = None # global seed injected via CLI (only required if ctx.seed is used by generators)
        self.verbose = False # print some verbose information (not used atm)
        self.configfile = None # pointer to a config file that should be used
        self.config = {} # parsed content from the config file
        self.topo = None # reference to topology object
        self.traffic = [] # list of flow specs for traffic generation
        self.flows = [] # list of flow objects generated from flow specs
        self.errors = -1 # error counter used for testing purposes only
        self.plotters = [] # list of plotters that should be executed after the run
        self.statistics = {} # global simulation statistics such as #processed events
        self.run_scenario_generator = False # flag set by main.py if -g flag was used
        self.skip_main_simulation = False # can be set by experiment if the simulator is not required
        
        # the following references are special (not serializable, for scenario based evaluations only)
        self.scenario = None # scenario generated by scenario generator (if a scenario is used)
        self.scenario_result = None # dts_result object (if a scenario is used)
        self.scenario_data = None
        self.all_dts_results = None # DTS object with results for all switches
        self.all_commands = {} # command result from DTS
        
        # some hooks
        self.on_simulation_finished = None
        self.on_simulation_setup_complete = None
        self.on_test_finished = None

        # misc
        self._events = []
        self._counter_flows = 0 # counter variables for id generation
        self._copy_for_switch_id = -1 # used by exp402
        self.stored_solution = None

This context object is injected into all processes.      It stores the complete evaluation environment.     Do not make changes here unless you know what you are doing. # core parameters # timestamp set when this object was created # hard time limit for scenarios to make plotting etc easier # reference to the simulator class (set by core/simulator.py) # global seed injected via CLI (only required if ctx.seed is used by generators) # print some verbose information (not used atm) # pointer to a config file that should be used # parsed content from the config file # reference to topology object # list of flow specs for traffic generation # list of flow objects generated from flow specs # error counter used for testing purposes only # list of plotters that should be executed after the run # global simulation statistics such as #processed events # flag set by main.py if -g flag was used # can be set by experiment if the simulator is not required # the following references are special (not serializable, for scenario based evaluations only) # scenario generated by scenario generator (if a scenario is used) # dts_result object (if a scenario is used) # DTS object with results for all switches # command result from DTS # some hooks # misc # counter variables for id generation # used by exp402