Rename Receiver to Sender in Runtime

This commit is contained in:
Héctor Ramón Jiménez 2020-01-19 11:08:32 +01:00
parent b5b17ed4d8
commit b8b0d97525

View File

@ -9,30 +9,30 @@ use futures::Sink;
use std::marker::PhantomData; use std::marker::PhantomData;
#[derive(Debug)] #[derive(Debug)]
pub struct Runtime<Hasher, Event, Executor, Receiver, Message> { pub struct Runtime<Hasher, Event, Executor, Sender, Message> {
executor: Executor, executor: Executor,
receiver: Receiver, sender: Sender,
subscriptions: subscription::Tracker<Hasher, Event>, subscriptions: subscription::Tracker<Hasher, Event>,
_message: PhantomData<Message>, _message: PhantomData<Message>,
} }
impl<Hasher, Event, Executor, Receiver, Message> impl<Hasher, Event, Executor, Sender, Message>
Runtime<Hasher, Event, Executor, Receiver, Message> Runtime<Hasher, Event, Executor, Sender, Message>
where where
Hasher: std::hash::Hasher + Default, Hasher: std::hash::Hasher + Default,
Event: Send + Clone + 'static, Event: Send + Clone + 'static,
Executor: self::Executor, Executor: self::Executor,
Receiver: Sink<Message, Error = core::convert::Infallible> Sender: Sink<Message, Error = core::convert::Infallible>
+ Unpin + Unpin
+ Send + Send
+ Clone + Clone
+ 'static, + 'static,
Message: Send + 'static, Message: Send + 'static,
{ {
pub fn new(executor: Executor, receiver: Receiver) -> Self { pub fn new(executor: Executor, sender: Sender) -> Self {
Self { Self {
executor, executor,
receiver, sender,
subscriptions: subscription::Tracker::new(), subscriptions: subscription::Tracker::new(),
_message: PhantomData, _message: PhantomData,
} }
@ -48,11 +48,11 @@ where
let futures = command.futures(); let futures = command.futures();
for future in futures { for future in futures {
let mut receiver = self.receiver.clone(); let mut sender = self.sender.clone();
self.executor.spawn(future.then(|message| { self.executor.spawn(future.then(|message| {
async move { async move {
let _ = receiver.send(message).await; let _ = sender.send(message).await;
() ()
} }
@ -64,9 +64,8 @@ where
&mut self, &mut self,
subscription: Subscription<Hasher, Event, Message>, subscription: Subscription<Hasher, Event, Message>,
) { ) {
let futures = self let futures =
.subscriptions self.subscriptions.update(subscription, self.sender.clone());
.update(subscription, self.receiver.clone());
for future in futures { for future in futures {
self.executor.spawn(future); self.executor.spawn(future);