2424from frequenz .api .electricity_trading .v1 .electricity_trading_pb2_grpc import (
2525 ElectricityTradingServiceStub ,
2626)
27- from frequenz .channels import Receiver
2827from frequenz .client .base .client import BaseApiClient
2928from frequenz .client .base .exception import ClientNotConnected
3029from frequenz .client .base .streaming import GrpcStreamBroadcaster
@@ -218,7 +217,7 @@ def stub(self) -> electricity_trading_pb2_grpc.ElectricityTradingServiceAsyncStu
218217 # type-checker, so it can only be used for type hints.
219218 return self ._stub # type: ignore
220219
221- def stream_gridpool_orders (
220+ def gridpool_orders_stream (
222221 # pylint: disable=too-many-arguments, too-many-positional-arguments
223222 self ,
224223 gridpool_id : int ,
@@ -227,9 +226,9 @@ def stream_gridpool_orders(
227226 delivery_area : DeliveryArea | None = None ,
228227 delivery_period : DeliveryPeriod | None = None ,
229228 tag : str | None = None ,
230- max_size : int = 50 ,
231- warn_on_overflow : bool = False ,
232- ) -> Receiver [ OrderDetail ]:
229+ ) -> GrpcStreamBroadcaster [
230+ electricity_trading_pb2 . ReceiveGridpoolOrdersStreamResponse , OrderDetail
231+ ]:
233232 """
234233 Stream gridpool orders.
235234
@@ -240,10 +239,6 @@ def stream_gridpool_orders(
240239 delivery_area: Delivery area to filter for.
241240 delivery_period: Delivery period to filter for.
242241 tag: Tag to filter for.
243- max_size: The maximum number of messages to buffer.
244- warn_on_overflow: Whether to log a warning when the receiver's
245- buffer is full and a message is dropped.
246-
247242
248243 Returns:
249244 Async generator of orders.
@@ -281,11 +276,9 @@ def stream_gridpool_orders(
281276 "Error occurred while streaming gridpool orders: %s" , e
282277 )
283278 raise
284- return self ._gridpool_orders_streams [stream_key ].new_receiver (
285- warn_on_overflow = warn_on_overflow , maxsize = max_size
286- )
279+ return self ._gridpool_orders_streams [stream_key ]
287280
288- def stream_gridpool_trades (
281+ def gridpool_trades_stream (
289282 # pylint: disable=too-many-arguments, too-many-positional-arguments
290283 self ,
291284 gridpool_id : int ,
@@ -294,9 +287,9 @@ def stream_gridpool_trades(
294287 market_side : MarketSide | None = None ,
295288 delivery_period : DeliveryPeriod | None = None ,
296289 delivery_area : DeliveryArea | None = None ,
297- max_size : int = 50 ,
298- warn_on_overflow : bool = False ,
299- ) -> Receiver [ Trade ]:
290+ ) -> GrpcStreamBroadcaster [
291+ electricity_trading_pb2 . ReceiveGridpoolTradesStreamResponse , Trade
292+ ]:
300293 """
301294 Stream gridpool trades.
302295
@@ -307,9 +300,6 @@ def stream_gridpool_trades(
307300 market_side: The market side to filter for.
308301 delivery_period: The delivery period to filter for.
309302 delivery_area: The delivery area to filter for.
310- max_size: The maximum number of messages to buffer.
311- warn_on_overflow: Whether to log a warning when the receiver's
312- buffer is full and a message is dropped.
313303
314304 Returns:
315305 The gridpool trades streamer.
@@ -347,20 +337,18 @@ def stream_gridpool_trades(
347337 "Error occurred while streaming gridpool trades: %s" , e
348338 )
349339 raise
350- return self ._gridpool_trades_streams [stream_key ].new_receiver (
351- warn_on_overflow = warn_on_overflow , maxsize = max_size
352- )
340+ return self ._gridpool_trades_streams [stream_key ]
353341
354- def stream_public_trades (
342+ def public_trades_stream (
355343 # pylint: disable=too-many-arguments, too-many-positional-arguments
356344 self ,
357345 states : list [TradeState ] | None = None ,
358346 delivery_period : DeliveryPeriod | None = None ,
359347 buy_delivery_area : DeliveryArea | None = None ,
360348 sell_delivery_area : DeliveryArea | None = None ,
361- max_size : int = 50 ,
362- warn_on_overflow : bool = False ,
363- ) -> Receiver [ PublicTrade ]:
349+ ) -> GrpcStreamBroadcaster [
350+ electricity_trading_pb2 . ReceivePublicTradesStreamResponse , PublicTrade
351+ ]:
364352 """
365353 Stream public trades.
366354
@@ -369,9 +357,6 @@ def stream_public_trades(
369357 delivery_period: Delivery period to filter for.
370358 buy_delivery_area: Buy delivery area to filter for.
371359 sell_delivery_area: Sell delivery area to filter for.
372- max_size: The maximum number of messages to buffer.
373- warn_on_overflow: Whether to log a warning when the receiver's
374- buffer is full and a message is dropped.
375360
376361 Returns:
377362 Async generator of orders.
@@ -405,9 +390,7 @@ def stream_public_trades(
405390 except grpc .RpcError as e :
406391 _logger .exception ("Error occurred while streaming public trades: %s" , e )
407392 raise
408- return self ._public_trades_streams [public_trade_filter ].new_receiver (
409- warn_on_overflow = warn_on_overflow , maxsize = max_size
410- )
393+ return self ._public_trades_streams [public_trade_filter ]
411394
412395 def validate_params (
413396 # pylint: disable=too-many-arguments, too-many-positional-arguments, too-many-branches
0 commit comments