What exactly does the msWindowLength parameter to SetThreadpoolTimer mean?
A customer was looking for clarification on the
msWindowLength parameter to the
- msWindowLength [in, optional]
- The maximum amount of time the system can delay before calling the timer callback. If this parameter is set, the system can batch calls to conserve power.
“It’s not clear whether the window extends both before and after the due time (presumably, half the window size on either side), or whether the timer will always delay at least until the due time, and possibly up to the due time plus the window value.”
The window specifies the maximum delay, and generally speaking, delay means late, never early. (When was the last time you heard that your flight was delayed, by which they meant that it landed 30 minutues early?)
In other words, the latter interpretation is the correct one. The threadpool will schedule the callback at some point between the due time and the due time plus the window.
The customer thanked us for the clarification. That’s what they thought, but they wanted to make sure.