#region License Information
/* SimSharp - A .NET port of SimPy, discrete event simulation framework
Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .*/
#endregion
using System;
namespace SimSharp {
///
/// Timeouts are simple events that are executed after a certain timespan has passed.
///
public sealed class Timeout : Event {
///
/// A timeout is an event that is executed after a certain timespan has passed.
///
///
/// Timeout events are scheduled when they are created. They are always triggered
/// when they are created.
///
/// The environment in which it is scheduled.
/// The timespan for the timeout.
/// The value of the timeout.
/// Whether the timeout should succeed or fail.
public Timeout(Environment environment, TimeSpan delay, object value = null, bool isOk = true)
: base(environment) {
IsOk = isOk;
Value = value;
IsTriggered = true;
environment.Schedule(delay, this);
}
}
}