1 //
2 // Copyright (c) 2010-2024 Antmicro
3 //
4 // This file is licensed under the MIT License.
5 // Full license text is available in 'licenses/MIT.txt'.
6 //
7 
8 namespace Antmicro.Renode.Time
9 {
10     public enum TimeSourceState
11     {
12         /// <summary>
13         /// Time source is idle -  it is currently not involved in handling virtual time flow.
14         /// </summary>
15         Idle,
16         /// <summary>
17         /// Synchronization hook is currently executed.
18         /// </summary>
19         /// <remark>
20         /// All handles managed by this time source are in a safe state.
21         /// </remark>
22         ExecutingSyncHook,
23         /// <summary>
24         /// Delayed actions scheduled before the current virtual time are executed.
25         /// </summary>
26         /// <remark>
27         /// All handles managed by this time source are in a safe state.
28         /// </remark>
29         ExecutingDelayedActions,
30         /// <summary>
31         /// Virtual time quantum is being granted to handles managed by this time source.
32         /// </summary>
33         ReportingElapsedTime,
34         /// <summary>
35         /// Time source is waiting until the slaves finish the execution of previously granted time quantum.
36         /// </summary>
37         WaitingForReportBack
38     }
39 }
40