Actor | Sent | Received | Send Rate | Receive Rate | Activity |
---|---|---|---|---|---|
publisher | 30 | 0 | 30.0 msg/s | 0.0 msg/s | 30 total |
sub1 | 0 | 10 | 0.0 msg/s | 10.0 msg/s | 10 total |
sub2 | 0 | 10 | 0.0 msg/s | 10.0 msg/s | 10 total |
sub3 | 0 | 10 | 0.0 msg/s | 10.0 msg/s | 10 total |
This is the Elixir code that defines the actor simulation model:
simulation =
ActorSimulation.new()
|> ActorSimulation.add_actor(:publisher,
send_pattern: {:rate, 10, :event},
targets: [:sub1, :sub2, :sub3]
)
|> ActorSimulation.add_actor(:sub1)
|> ActorSimulation.add_actor(:sub2)
|> ActorSimulation.add_actor(:sub3)
|> ActorSimulation.run(duration: 1000)