Lumiera  0.pre.03
»edit your freedom«
scheduler-diagnostics.hpp
Go to the documentation of this file.
1 /*
2  SCHEDULER-DIAGNOSTICS.hpp - diagnostic facility to investigate scheduler operation
3 
4  Copyright (C)
5  2013, Hermann Vosseler <Ichthyostega@web.de>
6 
7   **Lumiera** is free software; you can redistribute it and/or modify it
8   under the terms of the GNU General Public License as published by the
9   Free Software Foundation; either version 2 of the License, or (at your
10   option) any later version. See the file COPYING for further details.
11 
12 */
13 
28 #ifndef VAULT_GEAR_SCHEDULER_DIAGNOSTICS_H
29 #define VAULT_GEAR_SCHEDULER_DIAGNOSTICS_H
30 
31 
32 #include "lib/error.hpp"
33 #include "lib/nocopy.hpp"
34 #include "lib/hash-value.h"
35 #include "lib/time/timevalue.hpp"
37 
38 
39 namespace vault{
40 namespace gear {
41 
42 // using std::string;
43  using lib::time::Time;
44  using lib::HashVal;
45 
46 
47 
48 
49  /***************************************************************/
62  {
63  SchedulerFrontend& scheduler_;
64 
65  public:
67  : scheduler_(sch)
68  {
69  scheduler_.activateTracing();
70  }
71 
73  {
74  scheduler_.disableTracing();
75  }
76 
79  bool
80  is_scheduled_timebound (HashVal jobID)
81  {
82  UNIMPLEMENTED ("query the scheduler to determine if the given job is planned for time-bound operation");
83  }
84 
85  bool
86  is_scheduled_freewheeling (HashVal jobID)
87  {
88  UNIMPLEMENTED ("query the scheduler to determine if the given job is planned for freewheeling operation");
89  }
90 
91  bool
92  is_scheduled_background (HashVal jobID)
93  {
94  UNIMPLEMENTED ("query the scheduler to determine if the given job is planned for background execution");
95  }
96 
97  bool
98  is_scheduled_timebound (Job const& job)
99  {
100  return is_scheduled_timebound (hash_value (job));
101  }
102 
103  bool
104  is_scheduled_freewheeling (Job const& job)
105  {
106  return is_scheduled_freewheeling (hash_value (job));
107  }
108 
109  bool
110  is_scheduled_background (Job const& job)
111  {
112  return is_scheduled_background (hash_value (job));
113  }
114 
115  bool
116  has_job_scheduled_at (Time deadline)
117  {
120 
121  UNIMPLEMENTED ("query for job scheduled for specific deadline");
122  }
123 
124  Job const&
125  job_at (Time deadline)
126  {
127  UNIMPLEMENTED ("query for job scheduled for specific deadline");
128  }
129  };
130 
131 
132 
133 
134 
135 
136 }} // namespace vault::gear
137 #endif /*VAULT_GEAR_SCHEDULER_DIAGNOSTICS_H*/
Access point to the scheduler service provided by the back-end.
Any copy and copy construction prohibited.
Definition: nocopy.hpp:37
void activateTracing()
Switch the complete engine into diagnostics mode.
Lumiera&#39;s internal time value datatype.
Definition: timevalue.hpp:299
Mix-Ins to allow or prohibit various degrees of copying and cloning.
Render engine diagnostic facility.
Lumiera error handling (C++ interface).
Hash value types and utilities.
size_t HashVal
a STL compatible hash value
Definition: hash-value.h:52
Scheduler service access point for higher layers.
Individual frame rendering task, forwarding to a closure.
Definition: job.h:268
a family of time value like entities and their relationships.
Vault-Layer implementation namespace root.