summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2021-08-01 17:11:35 +0200
committerMatthias Beyer <mail@beyermatthias.de>2021-08-01 17:12:14 +0200
commita5a0a40cf002ea15f7758e5d0e664585a669e83c (patch)
treee7b5eb2835bebe8b0362e72de6128af88022764f
parent5e4c632f4f9b6e8bbaf075d4fc5347bf5a7dd2b4 (diff)
Add type aliases for less cognitive complexity
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r--src/model/backend/channels.rs9
-rw-r--r--src/model/backend/fassade.rs8
-rw-r--r--src/model/backend/messages.rs4
-rw-r--r--src/model/backend/mod.rs1
-rw-r--r--src/model/backend/worker.rs12
5 files changed, 25 insertions, 9 deletions
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<BackendResponse>;
+pub type BackendResponseReceiver = crossbeam::channel::Receiver<BackendResponse>;
+
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<BackendResponse>)>,
+ inner: BackendRequestSender,
}
impl BackendFassade {
- pub fn new(inner: crossbeam::channel::Sender<(BackendRequest, crossbeam::channel::Sender<BackendResponse>)>) -> Self {
+ pub fn new(inner: BackendRequestSender) -> Self {
BackendFassade { inner }
}
- async fn send_request(&self, req: BackendRequest) -> Result<crossbeam::channel::Receiver<BackendResponse>> {
+ async fn send_request(&self, req: BackendRequest) -> Result<BackendResponseReceiver> {
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<BackendResponse>) -> (Self, crossbeam::channel::Sender<BackendResponse>) {
+ 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<git2::Repository>,
- receiver: crossbeam::channel::Receiver<(BackendRequest, crossbeam::channel::Sender<BackendResponse>)>,
+ receiver: BackendRequestdReceiver,
}
impl BackendWorker {
pub fn new(
repo_name: String,
repo: Mutex<git2::Repository>,
- receiver: crossbeam::channel::Receiver<(BackendRequest, crossbeam::channel::Sender<BackendResponse>)>)
- -> Self {
+ receiver: BackendRequestdReceiver,
+ ) -> Self {
BackendWorker { repo_name, repo, receiver }
}
@@ -40,7 +42,7 @@ impl BackendWorker {
}
}
- fn send_branch_list(&self, sender: crossbeam::channel::Sender<BackendResponse>) -> 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<BackendResponse>) -> 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)?;