feat: add internal constructor for Sucker/Sourcer

This commit is contained in:
Callum Leslie 2025-09-16 08:26:24 +01:00
parent ca4825552f
commit 4dd7df50e1
Signed by: cleslie
GPG key ID: D382C4AFEECEAA90
4 changed files with 46 additions and 52 deletions

View file

@ -1,6 +1,5 @@
use crate::sync::traits::{ChannelError, ChannelReceiver, ChannelSender, ChannelType};
use crate::types;
use std::sync::atomic::AtomicBool;
#[cfg(feature = "sync-std")]
use std::sync::mpsc;
@ -63,19 +62,8 @@ impl<T> StdSuck<T> {
let state = std::sync::Arc::new(std::sync::Mutex::new(crate::types::ValueSource::None));
let sucker = crate::Sucker {
request_tx,
response_rx,
closed: AtomicBool::new(false),
_phantom: std::marker::PhantomData,
};
let sourcer = crate::Sourcer {
request_rx,
response_tx,
state: std::sync::Arc::clone(&state),
_phantom: std::marker::PhantomData,
};
let sucker = crate::Sucker::new(request_tx, response_rx);
let sourcer = crate::Sourcer::new(request_rx, response_tx, std::sync::Arc::clone(&state));
(sucker, sourcer)
}