Skip to content

Commit c5933b2

Browse files
committed
fix publisher.subscribe_blocking_queue() strange implementations.
1 parent cf2fc5a commit c5933b2

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "fp_rust"
3-
version = "0.2.2"
3+
version = "0.2.3"
44
license = "MIT"
55
authors = ["JunYi JohnTeee Lee <johnteee@gmail.com>"]
66
edition = "2018"

src/publisher.rs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -94,15 +94,20 @@ where
9494
self.delete_observer(s);
9595
}
9696

97-
pub fn subscribe_blocking_queue(&mut self, queue: &BlockingQueue<Arc<X>>) {
97+
pub fn subscribe_blocking_queue(
98+
&mut self,
99+
queue: &BlockingQueue<Arc<X>>,
100+
) -> Arc<Mutex<SubscriptionFunc<X>>> {
98101
let mut queue_new = queue.clone();
99-
self.subscribe_fn(move |v| queue_new.put(v));
102+
self.subscribe_fn(move |v| queue_new.put(v))
100103
}
101-
pub fn as_blocking_queue(&mut self) -> BlockingQueue<Arc<X>> {
104+
pub fn as_blocking_queue(
105+
&mut self,
106+
) -> (Arc<Mutex<SubscriptionFunc<X>>>, BlockingQueue<Arc<X>>) {
102107
let queue = BlockingQueue::new();
103-
self.subscribe_blocking_queue(&queue);
108+
let subscription = self.subscribe_blocking_queue(&queue);
104109

105-
queue
110+
(subscription, queue)
106111
}
107112
}
108113

0 commit comments

Comments
 (0)