Free cookie consent management tool by TermsFeed Policy Generator

source: trunk/HeuristicLab.ExtLibs/HeuristicLab.SimSharp/3.0.11/SimSharp-3.0.11/Core/Events/Timeout.cs @ 15972

Last change on this file since 15972 was 15972, checked in by abeham, 6 years ago

#2926: Replaced Sim# 3.0.9 with 3.0.11

File size: 2.0 KB
Line 
1#region License Information
2/* SimSharp - A .NET port of SimPy, discrete event simulation framework
3Copyright (C) 2016  Heuristic and Evolutionary Algorithms Laboratory (HEAL)
4
5This program is free software: you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation, either version 3 of the License, or
8(at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with this program.  If not, see <http://www.gnu.org/licenses/>.*/
17#endregion
18
19using System;
20
21namespace SimSharp {
22  /// <summary>
23  /// Timeouts are simple events that are executed after a certain timespan has passed.
24  /// </summary>
25  public sealed class Timeout : Event {
26    /// <summary>
27    /// A timeout is an event that is executed after a certain timespan has passed.
28    /// </summary>
29    /// <remarks>
30    /// Timeout events are scheduled when they are created. They are always triggered
31    /// when they are created.
32    /// </remarks>
33    /// <param name="environment">The environment in which it is scheduled.</param>
34    /// <param name="delay">The timespan for the timeout.</param>
35    /// <param name="value">The value of the timeout.</param>
36    /// <param name="isOk">Whether the timeout should succeed or fail.</param>
37    /// <param name="priority">The priority to rank events at the same time (smaller value = higher priority).</param>
38    public Timeout(Environment environment, TimeSpan delay, object value = null, bool isOk = true, int priority = 0)
39      : base(environment) {
40      IsOk = isOk;
41      Value = value;
42      IsTriggered = true;
43      environment.Schedule(delay, this, priority);
44    }
45  }
46}
Note: See TracBrowser for help on using the repository browser.