mirror of
https://github.com/callumio/suck.git
synced 2026-03-22 06:28:10 +00:00
refactor: move traits to sync module and update imports
This commit is contained in:
parent
72b87fd6e0
commit
8366421ede
7 changed files with 7 additions and 7 deletions
|
|
@ -1,7 +1,7 @@
|
|||
use std::sync::Arc;
|
||||
|
||||
#[cfg(feature = "sync-crossbeam")]
|
||||
use crate::traits::{ChannelError, ChannelReceiver, ChannelSender, ChannelType};
|
||||
use crate::sync::traits::{ChannelError, ChannelReceiver, ChannelSender, ChannelType};
|
||||
use crate::types;
|
||||
use arc_swap::ArcSwap;
|
||||
use crossbeam_channel;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
use std::sync::Arc;
|
||||
|
||||
#[cfg(feature = "sync-flume")]
|
||||
use crate::traits::{ChannelError, ChannelReceiver, ChannelSender, ChannelType};
|
||||
use crate::sync::traits::{ChannelError, ChannelReceiver, ChannelSender, ChannelType};
|
||||
use crate::types;
|
||||
use arc_swap::ArcSwap;
|
||||
use flume;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
pub mod traits;
|
||||
|
||||
#[cfg(feature = "sync-crossbeam")]
|
||||
pub mod crossbeam;
|
||||
#[cfg(feature = "sync-flume")]
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
use arc_swap::ArcSwap;
|
||||
|
||||
use crate::traits::{ChannelError, ChannelReceiver, ChannelSender, ChannelType};
|
||||
use crate::sync::traits::{ChannelError, ChannelReceiver, ChannelSender, ChannelType};
|
||||
use crate::types;
|
||||
use std::sync::Arc;
|
||||
#[cfg(feature = "sync-std")]
|
||||
|
|
@ -77,7 +77,7 @@ impl<T> StdSuck<T> {
|
|||
mod tests {
|
||||
use super::*;
|
||||
use crate::Error;
|
||||
use crate::traits::ChannelType;
|
||||
use crate::sync::traits::ChannelType;
|
||||
use std::thread;
|
||||
|
||||
#[derive(Debug)]
|
||||
|
|
|
|||
23
src/sync/traits.rs
Normal file
23
src/sync/traits.rs
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
pub use crate::error::Error as ChannelError;
|
||||
|
||||
pub trait ChannelSender<T> {
|
||||
fn send(&self, msg: T) -> Result<(), ChannelError>;
|
||||
}
|
||||
|
||||
pub trait ChannelReceiver<T> {
|
||||
fn recv(&self) -> Result<T, ChannelError>;
|
||||
}
|
||||
|
||||
pub trait ChannelType {
|
||||
type Sender<T>: ChannelSender<T>;
|
||||
type Receiver<T>: ChannelReceiver<T>;
|
||||
|
||||
fn create_request_channel() -> (
|
||||
Self::Sender<crate::types::Request>,
|
||||
Self::Receiver<crate::types::Request>,
|
||||
);
|
||||
fn create_response_channel<T>() -> (
|
||||
Self::Sender<crate::types::Response<T>>,
|
||||
Self::Receiver<crate::types::Response<T>>,
|
||||
);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue