Skip to content

Commit d8a4d0f

Browse files
committed
Remove BufferedReceiver class
This class is only used by the Broadcast channel and the interface is really intended for channel implementations, because the users are not supposed to enqueue messages to receiver but just receive from them. Signed-off-by: Leandro Lucarella <[email protected]>
1 parent ba3dec9 commit d8a4d0f

File tree

4 files changed

+8
-17
lines changed

4 files changed

+8
-17
lines changed

RELEASE_NOTES.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ time.
2828
* `frequenz.channels.Bidirectional`
2929
* `frequenz.channels.BidirectionalHandle`
3030
* `frequenz.channels.Broadcast`
31-
* `frequenz.channels.BufferedReceiver`
3231
* `frequenz.channels.Peekable`
3332
* `frequenz.channels.Receiver`
3433
* `frequenz.channels.Sender`
@@ -38,6 +37,11 @@ time.
3837
* `frequenz.channels.util.Select`
3938
* `frequenz.channels.util.Timer`
4039

40+
* The class `BufferedReceiver` was removed because the interface was really
41+
intended for channel implementations. Users are not supposed to enqueue
42+
messages to receiver but just receive from them. If you used it you can
43+
implement it yourself.
44+
4145
## New Features
4246

4347
<!-- Here goes the main new features and examples or instructions on how to use them -->

src/frequenz/channels/__init__.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@
4848
from . import util
4949
from ._anycast import Anycast
5050
from ._base_classes import (
51-
BufferedReceiver,
5251
ChannelClosedError,
5352
ChannelError,
5453
Peekable,
@@ -63,7 +62,6 @@
6362
"Bidirectional",
6463
"BidirectionalHandle",
6564
"Broadcast",
66-
"BufferedReceiver",
6765
"ChannelClosedError",
6866
"ChannelError",
6967
"Peekable",

src/frequenz/channels/_base_classes.py

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -164,18 +164,6 @@ def peek(self) -> Optional[T]:
164164
"""
165165

166166

167-
class BufferedReceiver(Receiver[T]):
168-
"""A channel receiver with a buffer."""
169-
170-
@abstractmethod
171-
def enqueue(self, msg: T) -> None:
172-
"""Put a message into this buffered receiver's queue.
173-
174-
Args:
175-
msg: The message to be added to the queue.
176-
"""
177-
178-
179167
class _Map(Receiver[U], Generic[T, U]):
180168
"""Apply a transform function on a channel receiver.
181169

src/frequenz/channels/_broadcast.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,9 @@
1212
from typing import Deque, Dict, Generic, Optional
1313
from uuid import UUID, uuid4
1414

15-
from ._base_classes import BufferedReceiver, ChannelClosedError
15+
from ._base_classes import ChannelClosedError
1616
from ._base_classes import Peekable as BasePeekable
17+
from ._base_classes import Receiver as BaseReceiver
1718
from ._base_classes import Sender as BaseSender
1819
from ._base_classes import T
1920

@@ -192,7 +193,7 @@ async def send(self, msg: T) -> bool:
192193
return True
193194

194195

195-
class Receiver(BufferedReceiver[T]):
196+
class Receiver(BaseReceiver[T]):
196197
"""A receiver to receive messages from the broadcast channel.
197198
198199
Should not be created directly, but through the

0 commit comments

Comments
 (0)