KeepAliveTimer.periodic constructor
KeepAliveTimer.periodic(
- Duration duration,
- void callback(
- Timer timer
)
)
Implementation
factory KeepAliveTimer.periodic(
Duration duration,
void Function(Timer timer) callback,
) {
final instance = KeepAliveTimer._empty();
// Wrap the callback to increment tick count
void wrappedCallback(Timer timer) {
instance._tickCount++;
callback(timer);
}
if (Zone.current == Zone.root) {
instance._internalTimer =
Zone.current.createPeriodicTimer(duration, wrappedCallback);
} else {
var boundCallback =
Zone.current.bindUnaryCallbackGuarded<Timer>(wrappedCallback);
instance._internalTimer =
Zone.current.createPeriodicTimer(duration, boundCallback);
}
instance._isRunning = true;
return instance;
}