-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathutil.py
More file actions
45 lines (34 loc) · 1.31 KB
/
util.py
File metadata and controls
45 lines (34 loc) · 1.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
"""
A collection of utility functions:
.. autosummary::
start_delayed
"""
from typing import Generator
from simpy.core import Environment, SimTime
from simpy.events import Event, Process, ProcessGenerator
def start_delayed(env: Environment, generator: ProcessGenerator, delay: SimTime) -> Process:
"""Return a helper process that starts another process for *generator*
after a certain *delay*.
:meth:`~simpy.core.Environment.process()` starts a process at the current
simulation time. This helper allows you to start a process after a delay of
*delay* simulation time units::
>>> from simpy import Environment
>>> from simpy.util import start_delayed
>>> def my_process(env, x):
... print(f'{env.now}, {x}')
... yield env.timeout(1)
...
>>> env = Environment()
>>> proc = start_delayed(env, my_process(env, 3), 5)
>>> env.run()
5, 3
Raise a :exc:`ValueError` if ``delay <= 0``.
"""
pass
def subscribe_at(event: Event) -> None:
"""Register at the *event* to receive an interrupt when it occurs.
The most common use case for this is to pass
a :class:`~simpy.events.Process` to get notified when it terminates.
Raise a :exc:`RuntimeError` if ``event`` has already occurred.
"""
pass