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) Lumiera.org
5  2013, Hermann Vosseler <Ichthyostega@web.de>
6 
7  This program is free software; you can redistribute it and/or
8  modify it under the terms of the GNU General Public License as
9  published by the Free Software Foundation; either version 2 of
10  the License, or (at your option) any later version.
11 
12  This program is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU General Public License for more details.
16 
17  You should have received a copy of the GNU General Public License
18  along with this program; if not, write to the Free Software
19  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 
21 */
22 
37 #ifndef VAULT_GEAR_SCHEDULER_DIAGNOSTICS_H
38 #define VAULT_GEAR_SCHEDULER_DIAGNOSTICS_H
39 
40 
41 #include "lib/error.hpp"
42 #include "lib/nocopy.hpp"
43 #include "lib/hash-value.h"
44 #include "lib/time/timevalue.hpp"
46 
47 
48 namespace vault{
49 namespace gear {
50 
51 // using std::string;
52  using lib::time::Time;
53  using lib::HashVal;
54 
55 
56 
57 
58  /***************************************************************/
71  {
72  SchedulerFrontend& scheduler_;
73 
74  public:
76  : scheduler_(sch)
77  {
78  scheduler_.activateTracing();
79  }
80 
82  {
83  scheduler_.disableTracing();
84  }
85 
88  bool
89  is_scheduled_timebound (HashVal jobID)
90  {
91  UNIMPLEMENTED ("query the scheduler to determine if the given job is planned for time-bound operation");
92  }
93 
94  bool
95  is_scheduled_freewheeling (HashVal jobID)
96  {
97  UNIMPLEMENTED ("query the scheduler to determine if the given job is planned for freewheeling operation");
98  }
99 
100  bool
101  is_scheduled_background (HashVal jobID)
102  {
103  UNIMPLEMENTED ("query the scheduler to determine if the given job is planned for background execution");
104  }
105 
106  bool
107  is_scheduled_timebound (Job const& job)
108  {
109  return is_scheduled_timebound (hash_value (job));
110  }
111 
112  bool
113  is_scheduled_freewheeling (Job const& job)
114  {
115  return is_scheduled_freewheeling (hash_value (job));
116  }
117 
118  bool
119  is_scheduled_background (Job const& job)
120  {
121  return is_scheduled_background (hash_value (job));
122  }
123 
124  bool
125  has_job_scheduled_at (Time deadline)
126  {
129 
130  UNIMPLEMENTED ("query for job scheduled for specific deadline");
131  }
132 
133  Job const&
134  job_at (Time deadline)
135  {
136  UNIMPLEMENTED ("query for job scheduled for specific deadline");
137  }
138  };
139 
140 
141 
142 
143 
144 
145 }} // namespace vault::gear
146 #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:46
void activateTracing()
Switch the complete engine into diagnostics mode.
Lumiera&#39;s internal time value datatype.
Definition: timevalue.hpp:308
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:56
Scheduler service access point for higher layers.
Individual frame rendering task, forwarding to a closure.
Definition: job.h:277
a family of time value like entities and their relationships.
Vault-Layer implementation namespace root.