Because the Windows system timer only returns time to millisecond accuracy, the iProcess Engine node uses two system timers to generate its audit trail timestamps - the system timer (GetSystemTime function) and a high-resolution performance counter (
QueryPerformanceCounter function) which can be used to provide extra precision. However, it has been found that these timers do not keep in step with each other, and can diverge by up to several seconds over a period of days. This can result in two problems:
To deal with these problems, you can use the WINTIME_RESYNC_* process attributes to configure how iProcess Engine synchronizes its timestamps with Windows system time.
Every WINTIME_RESYNC_PERIOD seconds iProcess Engine checks to see if its timestamps are in step with Windows system time. If the timestamps differ by more than
WINTIME_RESYNC_TOLERANCE milliseconds iProcess Engine resynchronizes its timers with Windows system time. iProcess Engine processes are given
WINTIME_RESYNC_NOTICE seconds notice before the resynchronization takes place.