/// Creates a new state broadcast channel which can be used to exchange values
/// of type `T` between concurrent tasks.
/// The ends of the Channel are represented through
/// the returned Sender and Receiver.
///
/// As soon es either the senders or receivers is closed, the channel
/// itself will be closed.
Creates a new state broadcast channel which can be used to exchange values
of type `T` between concurrent tasks.
The ends of the Channel are represented through
the returned Sender and Receiver.

As soon es either the senders or receivers is closed, the channel
itself will be closed.
Creates a new state broadcast channel which can be used to exchange values of type ` T ` between concurrent tasks . The ends of the Channel are represented through the returned Sender and Receiver . As soon es either the senders or receivers is closed the channel itself will be closed .
pub fn generic_state_broadcast_channel<MutexType, T>() -> (
            GenericStateSender<MutexType, T>,
            GenericStateReceiver<MutexType, T>,
        )
        where
            MutexType: RawMutex,
            T: Clone + Send,
        {
            let inner = alloc::sync::Arc::new(
                GenericStateBroadcastChannelSharedState {
                    channel: GenericStateBroadcastChannel::new(),
                    senders: AtomicUsize::new(1),
                    receivers: AtomicUsize::new(1),
                },
            );
            let sender = GenericStateSender {
                inner: inner.clone(),
            };
            let receiver = GenericStateReceiver { inner };
            (sender, receiver)
        }
pub fn generic_state_broadcast_channel < MutexType , T > ( ) -> ( GenericStateSender < MutexType , T > , GenericStateReceiver < MutexType , T > , ) where MutexType : RawMutex , T : Clone + Send , { let inner = alloc :: sync :: Arc :: new ( GenericStateBroadcastChannelSharedState { channel : GenericStateBroadcastChannel :: new ( ) , senders : AtomicUsize :: new ( 1 ) , receivers : AtomicUsize :: new ( 1 ) , } , ) ; let sender = GenericStateSender { inner : inner . clone ( ) , } ; let receiver = GenericStateReceiver { inner } ; ( sender , receiver ) }
Creates a new state broadcast channel which can be used to exchange values
of type `T` between concurrent tasks.
Creates a new state broadcast channel which can be used to exchange values of type ` T ` between concurrent tasks .