DiscreteEventsLite.DiscreteEventsLite
— ModuleAPI:
Scheduler
: scheduler objectEvent
: event objectrun!
: run simulationremove_event!
: remove eventstop!
: stop simulationregister!
: add event to schedulerreset!
: reset schedulerreplay_events
: print out completed eventswhen types:
now, at, after, every
Use help for more information, e.i.
] register!
DiscreteEventsLite.Event
— TypeEvent <: AbstractEvent
fun
: a functiontime
: time of function callid
: an event idtype
: type of eventdescription
: a description of the event
DiscreteEventsLite.Scheduler
— TypeScheduler <: AbstractScheduler
events
: a priority queue of eventstime
: current time of the systemrunning
: simulation can run if truetrace
: will print out the events if truestore
: will store a vector of completed events if truecomplete_events
: an optional vector of completed events
DiscreteEventsLite.Scheduler
— MethodConstructor for Scheduler with default keyword values:
Scheduler(;event=Event, time=0.0, running=true, trace=false, store=false)
DiscreteEventsLite.register!
— Methodregister!(scheduler, fun, when, t, args...; id="", description="", kwargs...)
An interface for adding events to the scheduler.
Arguments
scheduler
: an event schedulerfun
: a function to executewhen
: timing for the execution offun
. Options:at
,now
,every
,after
t
: time value associated withwhen
args...
: optional positional arguments forfun
id
: optional id stringdescription
: optional description
Keywords
kwargs...
: option keyword arguments forfun
DiscreteEventsLite.remove_events!
— Functionremove_events!: remove events by id -s
: scheduler
until
: run untilf
: removal function. Defaults to exact match.
Function signiture:
remove_events!(scheduler, id, f=(x,id)->x.first.id == id)
DiscreteEventsLite.replay_events
— Methodreplay_events: print completed events if stored
Function signiture:
replay_events(s::AbstractScheduler)
DiscreteEventsLite.reset!
— Methodreset!(scheduler)
Resets time to 0 and empties event queue
Arguments
scheduler
: an event scheduler
DiscreteEventsLite.run!
— Functionrun!(s::AbstractScheduler, until=Inf)
Run simulation until specified time
Arguments
scheduler
: an event scheduleruntil
: time at which simulation ends
DiscreteEventsLite.stop!
— Methodstop!(scheduler)
Stops simulation
Arguments
scheduler
: an event scheduler