[#BloombergLP-bdlmt-EventSchedulerTestTimeSource] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlmt.adoc[bdlmt]::EventSchedulerTestTimeSource :relfileprefix: ../../ :mrdocs: This class provides a means to change the clock that is used by a given event‐scheduler to determine when events should be triggered. Constructing a `EventSchedulerTestTimeSource` alters the behavior of the supplied event‐scheduler. After a test time‐source is created, the underlying scheduler will run events according to a discrete timeline, whose successive values are determined by calls to `advanceTime` on the test time‐source, and can be retrieved by calling `now` on that test time‐source. Note that the "system‐time" held by a test time‐source _does_ _not_ correspond to the current system time. Test writers must use caution when scheduling absolute‐time events so that they are scheduled relative to the test time‐source's value for `now`. == Synopsis Declared in `<bdlmt_eventscheduler.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class EventSchedulerTestTimeSource; ---- == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlmt/EventSchedulerTestTimeSource/2constructor.adoc[`EventSchedulerTestTimeSource`] [.small]#[constructor]# | Create a test time‐source object that will control the "system‐time" observed by the specified `scheduler`. Initialize `now` to be an arbitrary time value. The behavior is undefined if any methods have previously been called on `scheduler`. Optionally specify a `basicAllocator` used to supply memory. If `basicAllocator` is 0, the currently installed default allocator is used. The behavior is undefined unless the supplied allocator also outlives the `EventScheduler` associated with this time source. | xref:BloombergLP/bdlmt/EventSchedulerTestTimeSource/advanceTime.adoc[`advanceTime`] | Advance this object's current‐time value by the specified `amount` of time, notify the scheduler that the time has changed, and wait for the scheduler to process the events triggered by this change in time. Return the updated current‐time value. The behavior is undefined unless `amount` is positive, and `now + amount` is within the range that can be represented with a `bsls::TimeInterval`. | xref:BloombergLP/bdlmt/EventSchedulerTestTimeSource/now.adoc[`now`] | Return this object's current‐time value. Upon construction, this method will return an arbitrary value. Subsequent calls to `advanceTime` will adjust the arbitrary value forward. | xref:BloombergLP/bdlmt/EventSchedulerTestTimeSource/2conversion.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration<EventSchedulerTestTimeSource, UsesBslmaAllocator>`] | Declare that this type uses a `bslma` allocator. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#