|
1 | 1 | using SimJulia, Distributions, BenchmarkTools |
2 | 2 |
|
3 | | -@stateful function exp_source(sim::Simulation, lambd::Float64, server::Resource, mu::Float64) |
| 3 | +@stateful function exp_source(sim::Simulation{SimJulia.SimulationTime}, lambd::Float64, server::Resource, mu::Float64) |
4 | 4 | while true |
5 | 5 | dt = rand(Exponential(1/lambd)) |
6 | 6 | @yield return Timeout(sim, dt) |
7 | 7 | @Coroutine customer2(sim, server, mu) |
8 | 8 | end |
9 | 9 | end |
10 | 10 |
|
11 | | -@stateful function customer(sim::Simulation, server::Resource, mu::Float64) |
| 11 | +@stateful function customer(sim::Simulation{SimJulia.SimulationTime}, server::Resource{Simulation{SimJulia.SimulationTime}}, mu::Float64) |
12 | 12 | @yield return Request(server) |
13 | 13 | dt = rand(Exponential(1/mu)) |
14 | 14 | @yield return Timeout(sim, dt) |
15 | 15 | @yield return Release(server) |
16 | 16 | end |
17 | 17 |
|
18 | | -@stateful function customer2(sim::Simulation, server::Resource, mu::Float64) |
| 18 | +@stateful function customer2(sim::Simulation{SimJulia.SimulationTime}, server::Resource{Simulation{SimJulia.SimulationTime}}, mu::Float64) |
19 | 19 | @Request server req begin |
20 | 20 | dt = rand(Exponential(1/mu)) |
21 | 21 | @yield return Timeout(sim, dt) |
|
0 commit comments