nrel.hive.state.simulation_state.update.update_requests_sampling

Module Contents

Classes

UpdateRequestsSampling

injects requests into the simulation based on set of pre-sampled requests.

Attributes

log

nrel.hive.state.simulation_state.update.update_requests_sampling.log[source]
class nrel.hive.state.simulation_state.update.update_requests_sampling.UpdateRequestsSampling[source]

Bases: nrel.hive.state.simulation_state.update.simulation_update.SimulationUpdateFunction

injects requests into the simulation based on set of pre-sampled requests.

request_iterator: nrel.hive.util.iterators.ObjectIterator
rate_structure: nrel.hive.model.request.RequestRateStructure
classmethod build(sampled_requests: Tuple[nrel.hive.model.request.Request, Ellipsis], rate_structure_file: str | None = None)[source]

reads an optional rate_structure_file and builds a UpdateRequestsFromFile SimulationUpdateFunction

Parameters:
  • sampled_requests – the pre sampled requests

  • rate_structure_file – an optional file for a request rate structure

Returns:

a SimulationUpdate function that injects the pre-sampled requests based on sim-time

Raises:

an exception if there were issues loading the file

update(sim_state: nrel.hive.state.simulation_state.simulation_state.SimulationState, env: nrel.hive.runner.environment.Environment) Tuple[nrel.hive.state.simulation_state.simulation_state.SimulationState, UpdateRequestsSampling | None][source]

add requests based on a sampling function

Parameters:
  • env – the static environment variables

  • sim_state – the current sim state

Returns:

sim state plus new requests