From a5a0a40cf002ea15f7758e5d0e664585a669e83c Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Sun, 1 Aug 2021 17:11:35 +0200 Subject: Add type aliases for less cognitive complexity Signed-off-by: Matthias Beyer --- src/model/backend/channels.rs | 9 +++++++++ src/model/backend/fassade.rs | 8 +++++--- src/model/backend/messages.rs | 4 +++- src/model/backend/mod.rs | 1 + src/model/backend/worker.rs | 12 +++++++----- 5 files changed, 25 insertions(+), 9 deletions(-) create mode 100644 src/model/backend/channels.rs diff --git a/src/model/backend/channels.rs b/src/model/backend/channels.rs new file mode 100644 index 0000000..ce8c19f --- /dev/null +++ b/src/model/backend/channels.rs @@ -0,0 +1,9 @@ +use crate::model::backend::messages::BackendRequest; +use crate::model::backend::messages::BackendResponse; + +pub type BackendRequestSender = crossbeam::channel::Sender<(BackendRequest, BackendResponseSender)>; +pub type BackendRequestdReceiver = crossbeam::channel::Receiver<(BackendRequest, BackendResponseSender)>; + +pub type BackendResponseSender = crossbeam::channel::Sender; +pub type BackendResponseReceiver = crossbeam::channel::Receiver; + diff --git a/src/model/backend/fassade.rs b/src/model/backend/fassade.rs index 23b3bf9..83cfe35 100644 --- a/src/model/backend/fassade.rs +++ b/src/model/backend/fassade.rs @@ -3,17 +3,19 @@ use anyhow::Error; use crate::model::backend::messages::BackendRequest; use crate::model::backend::messages::BackendResponse; +use crate::model::backend::channels::BackendRequestSender; +use crate::model::backend::channels::BackendResponseReceiver; pub struct BackendFassade { - inner: crossbeam::channel::Sender<(BackendRequest, crossbeam::channel::Sender)>, + inner: BackendRequestSender, } impl BackendFassade { - pub fn new(inner: crossbeam::channel::Sender<(BackendRequest, crossbeam::channel::Sender)>) -> Self { + pub fn new(inner: BackendRequestSender) -> Self { BackendFassade { inner } } - async fn send_request(&self, req: BackendRequest) -> Result> { + async fn send_request(&self, req: BackendRequest) -> Result { let (sender, receiver) = crossbeam::channel::bounded(1); self.inner .send(req.with_sender(sender)) diff --git a/src/model/backend/messages.rs b/src/model/backend/messages.rs index 3e185f4..e809999 100644 --- a/src/model/backend/messages.rs +++ b/src/model/backend/messages.rs @@ -1,10 +1,12 @@ +use crate::model::backend::channels::BackendResponseSender; + pub enum BackendRequest { BranchList, TagList, } impl BackendRequest { - pub fn with_sender(self, sender: crossbeam::channel::Sender) -> (Self, crossbeam::channel::Sender) { + pub fn with_sender(self, sender: BackendResponseSender) -> (Self, BackendResponseSender) { (self, sender) } } diff --git a/src/model/backend/mod.rs b/src/model/backend/mod.rs index 77f8e56..b97e9f0 100644 --- a/src/model/backend/mod.rs +++ b/src/model/backend/mod.rs @@ -2,3 +2,4 @@ pub mod error; pub mod fassade; pub mod messages; pub mod worker; +mod channels; diff --git a/src/model/backend/worker.rs b/src/model/backend/worker.rs index ad8d0de..be347ac 100644 --- a/src/model/backend/worker.rs +++ b/src/model/backend/worker.rs @@ -9,19 +9,21 @@ use cached::proc_macro::cached; use crate::model::backend::error::BackendError; use crate::model::backend::messages::BackendRequest; use crate::model::backend::messages::BackendResponse; +use crate::model::backend::channels::BackendRequestdReceiver; +use crate::model::backend::channels::BackendResponseSender; pub struct BackendWorker { repo_name: String, repo: Mutex, - receiver: crossbeam::channel::Receiver<(BackendRequest, crossbeam::channel::Sender)>, + receiver: BackendRequestdReceiver, } impl BackendWorker { pub fn new( repo_name: String, repo: Mutex, - receiver: crossbeam::channel::Receiver<(BackendRequest, crossbeam::channel::Sender)>) - -> Self { + receiver: BackendRequestdReceiver, + ) -> Self { BackendWorker { repo_name, repo, receiver } } @@ -40,7 +42,7 @@ impl BackendWorker { } } - fn send_branch_list(&self, sender: crossbeam::channel::Sender) -> std::result::Result<(), BackendError> { + fn send_branch_list(&self, sender: BackendResponseSender) -> std::result::Result<(), BackendError> { let repo_lock = self.repo .lock() .map_err(|_| BackendError::LockError)?; @@ -52,7 +54,7 @@ impl BackendWorker { .map_err(|_| BackendError::ChannelError) } - fn send_tag_list(&self, sender: crossbeam::channel::Sender) -> std::result::Result<(), BackendError> { + fn send_tag_list(&self, sender: BackendResponseSender) -> std::result::Result<(), BackendError> { let repo_lock = self.repo .lock() .map_err(|_| BackendError::LockError)?; -- cgit v1.2.3