From 98fb79b85e3cfbb547e5340b30623511daf09ef5 Mon Sep 17 00:00:00 2001 From: David Blajda Date: Wed, 8 May 2019 15:38:37 +0000 Subject: :WIP: Move types to a different crate --- src/sync/barrier.rs | 47 ----------------------------------------------- src/sync/mod.rs | 2 -- src/sync/waiter.rs | 12 ------------ 3 files changed, 61 deletions(-) delete mode 100644 src/sync/barrier.rs delete mode 100644 src/sync/mod.rs delete mode 100644 src/sync/waiter.rs (limited to 'src/sync') diff --git a/src/sync/barrier.rs b/src/sync/barrier.rs deleted file mode 100644 index c0f21b8..0000000 --- a/src/sync/barrier.rs +++ /dev/null @@ -1,47 +0,0 @@ -use super::waiter::Waiter; -use futures::prelude::*; -use std::sync::{Arc, Mutex}; -use futures::future::{Shared, SharedError}; - -use crate::error::ConditionError; - -#[derive(Clone)] -pub struct Barrier { - inner: Arc>, -} - -struct BarrierRef { - condition: Option + Send>>> -} - -impl Barrier { - - pub fn new() -> Barrier { - Barrier { - inner: Arc::new(Mutex::new( - BarrierRef { - condition: None, - })) - } - } - - pub fn condition(&self, waiter: &impl Waiter) - -> Shared + Send>> - { - let mut mut_barrier = self.inner.lock().unwrap(); - let maybe_condition = &mut mut_barrier.condition; - - let f = maybe_condition.get_or_insert_with(|| { - waiter.condition() - }); - - let f = - if let Some(_) = f.peek() { - let condition = waiter.condition(); - maybe_condition.replace(condition); - maybe_condition.as_ref().unwrap() - } else { f }; - f.clone() - } -} - diff --git a/src/sync/mod.rs b/src/sync/mod.rs deleted file mode 100644 index 74e4235..0000000 --- a/src/sync/mod.rs +++ /dev/null @@ -1,2 +0,0 @@ -pub mod barrier; -pub mod waiter; diff --git a/src/sync/waiter.rs b/src/sync/waiter.rs deleted file mode 100644 index 1005e3d..0000000 --- a/src/sync/waiter.rs +++ /dev/null @@ -1,12 +0,0 @@ -use futures::Future; -use futures::future::{Shared, SharedError}; -use crate::error::ConditionError; - -pub trait Waiter { - type Item: Default; - type Error: From>; - - fn blocked(&self) -> bool; - fn condition(&self) - -> Shared + Send>>; -} -- cgit v1.2.3