Create a class of listener. A listener monitors the trial while checking condition of pre-defined milestones. Actions are triggered and executed automatically.
Public methods in this R6 class are used in developing this package. Thus, we have to export the whole R6 class which exposures all public methods. However, only the public methods in the list below are useful to end users.
$add_milestones()
Methods
Method add_milestones()
register milestones with listener. Order in ...
matter
as they are scanned and triggered in that order. It is users'
responsibility to use reasonable order when calling this function,
otherwise, the result of Listeners$monitor()
can be problematic.
Arguments
...
one or more objects returned from
milestone()
.
Examples
listener <- listener()
interim <- milestone(name = 'interim',
when = eventNumber('endpoint', n = 100)
)
final <- milestone(name = 'final',
when = calendarTime(time = 24)
)
listener$add_milestones(interim, final)
Method monitor()
scan, check, and trigger registered milestones.
Milestones are triggered in the order when calling
Listener$add_milestones
.
Method reset()
reset all milestones registered to the listener. Usually, this is called before a controller can run additional replicates of simulation.
Examples
##
## ------------------------------------------------
## Method `Listeners$add_milestones`
## ------------------------------------------------
listener <- listener()
interim <- milestone(name = 'interim',
when = eventNumber('endpoint', n = 100)
)
final <- milestone(name = 'final',
when = calendarTime(time = 24)
)
listener$add_milestones(interim, final)
#> A milestone <interim> is registered.
#> A milestone <final> is registered.