From 16480bd2d4d7598c57ab6017b1551c8bb52ea7b8 Mon Sep 17 00:00:00 2001 From: Nelson Torres Date: Tue, 26 Nov 2024 15:15:59 -0300 Subject: [PATCH] maybe_open_oi_feed --- piker/brokers/deribit/api.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/piker/brokers/deribit/api.py b/piker/brokers/deribit/api.py index 332681f6..4eb15c73 100644 --- a/piker/brokers/deribit/api.py +++ b/piker/brokers/deribit/api.py @@ -856,6 +856,20 @@ async def open_oi_feed( yield chan +@acm +async def maybe_open_oi_feed( +) -> trio.abc.ReceiveStream: + + # TODO: add a predicate to maybe_open_context + feed: to_asyncio.LinkedTaskChannel + async with maybe_open_context( + acm_func=open_oi_feed, + ) as (cache_hit, feed): + if cache_hit: + yield broadcast_receiver(feed, 10) + else: + yield feed + # TODO, move all to `.broker` submod! # async def aio_order_feed_relay(