File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 8080"""
8181
8282from ._anycast import Anycast
83- from ._broadcast import Broadcast
83+ from ._broadcast import Broadcast , BroadcastChannel
8484from ._exceptions import ChannelClosedError , ChannelError , Error
8585from ._generic import (
8686 ChannelMessageT ,
101101 select ,
102102 selected_from ,
103103)
104- from ._sender import Sender , SenderClosedError , SenderError
104+ from ._sender import (
105+ ClonableSender ,
106+ ClonableSubscribableSender ,
107+ Sender ,
108+ SenderClosedError ,
109+ SenderError ,
110+ SubscribableSender ,
111+ )
105112
106113__all__ = [
107114 "Anycast" ,
108115 "Broadcast" ,
116+ "BroadcastChannel" ,
109117 "ChannelClosedError" ,
110118 "ChannelError" ,
111119 "ChannelMessageT" ,
120+ "ClonableSender" ,
121+ "ClonableSubscribableSender" ,
112122 "Error" ,
113123 "ErroredChannelT_co" ,
114124 "LatestValueCache" ,
126136 "SenderError" ,
127137 "SenderMessageT_co" ,
128138 "SenderMessageT_contra" ,
139+ "SubscribableSender" ,
129140 "UnhandledSelectedError" ,
130141 "merge" ,
131142 "select" ,
Original file line number Diff line number Diff line change 2121_logger = logging .getLogger (__name__ )
2222
2323
24+ @deprecated ("Please use BroadcastChannel channel instead." )
2425class Broadcast ( # pylint: disable=too-many-instance-attributes
2526 Generic [ChannelMessageT ]
2627):
@@ -604,3 +605,32 @@ def __repr__(self) -> str:
604605 f"{ type (self ).__name__ } (name={ self ._name !r} , limit={ limit !r} , "
605606 f"{ self ._channel !r} ):<id={ id (self )!r} , used={ len (self ._q )!r} >"
606607 )
608+
609+
610+ class BroadcastChannel (
611+ tuple [BroadcastSender [ChannelMessageT ], BroadcastReceiver [ChannelMessageT ]]
612+ ):
613+ """A broadcast channel, deprecated alias for Broadcast."""
614+
615+ def __new__ (
616+ cls ,
617+ name : str ,
618+ resend_latest : bool = False ,
619+ limit : int = 50 ,
620+ warn_on_overflow : bool = True ,
621+ ) -> BroadcastChannel [ChannelMessageT ]:
622+ """Create a new broadcast channel, deprecated alias for Broadcast."""
623+ channel = Broadcast [ChannelMessageT ](
624+ name = name , resend_latest = resend_latest , auto_close = True
625+ )
626+ return tuple .__new__ (
627+ cls ,
628+ (
629+ channel .new_sender (),
630+ channel .new_receiver (
631+ name = f"{ name } _receiver" ,
632+ limit = limit ,
633+ warn_on_overflow = warn_on_overflow ,
634+ ),
635+ ),
636+ )
You can’t perform that action at this time.
0 commit comments