fix bug in Downtime::IsInEffect() method that would always return false if the triggering window for a flexible downtime had passed

This commit is contained in:
fbachmann 2018-04-10 20:16:09 +02:00
parent f2ce5b549c
commit 3f75ccbe75
1 changed files with 5 additions and 6 deletions

View File

@ -158,16 +158,15 @@ bool Downtime::IsInEffect() const
{
double now = Utility::GetTime();
if (now < GetStartTime() ||
now > GetEndTime())
return false;
if (GetFixed())
return true;
if (GetFixed()) {
/* fixed downtimes are in effect during the entire [start..end) interval */
return (now >= GetStartTime() && now < GetEndTime());
}
double triggerTime = GetTriggerTime();
if (triggerTime == 0)
/* flexible downtime has not been triggered yet */
return false;
return (now < triggerTime + GetDuration());