summaryrefslogtreecommitdiff
path: root/src/e_core_selector.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/e_core_selector.rs')
-rw-r--r--src/e_core_selector.rs31
1 files changed, 0 insertions, 31 deletions
diff --git a/src/e_core_selector.rs b/src/e_core_selector.rs
deleted file mode 100644
index 48bfa8c..0000000
--- a/src/e_core_selector.rs
+++ /dev/null
@@ -1,31 +0,0 @@
-use std::ops::Range;
-
-pub trait ECoreSelector {
- fn next_core(&mut self, previous_cpu: i32) -> i32;
-}
-
-pub struct RoundRobinSelector {
- offset: u32,
- num_cores: u32,
- last_used: u32,
-}
-
-impl RoundRobinSelector {
- pub fn new(e_cores: &Range<i32>) -> RoundRobinSelector {
- Self {
- offset: e_cores.start as u32,
- num_cores: e_cores.len() as u32,
- last_used: 0,
- }
- }
-}
-
-impl ECoreSelector for RoundRobinSelector {
- fn next_core(&mut self, previous_cpu: i32) -> i32 {
- if (self.offset..(self.offset + self.num_cores)).contains(&(previous_cpu as u32)) {
- return previous_cpu;
- }
- self.last_used += 1;
- (self.offset + (self.last_used % self.num_cores.max(1))) as i32
- }
-}