Drop feed refs
							parent
							
								
									7d5add1c3a
								
							
						
					
					
						commit
						224dbbc4e3
					
				|  | @ -22,7 +22,13 @@ Cacheing apis and toolz. | |||
| # https://gist.github.com/njsmith/cf6fc0a97f53865f2c671659c88c1798#file-cache-py-L8 | ||||
| 
 | ||||
| from collections import OrderedDict | ||||
| from typing import Optional, Hashable, TypeVar, AsyncContextManager | ||||
| from typing import ( | ||||
|     Optional, | ||||
|     Hashable, | ||||
|     TypeVar, | ||||
|     AsyncContextManager, | ||||
|     AsyncIterable, | ||||
| ) | ||||
| from contextlib import ( | ||||
|     asynccontextmanager, | ||||
|     AsyncExitStack, | ||||
|  | @ -33,7 +39,6 @@ import trio | |||
| 
 | ||||
| from .brokers import get_brokermod | ||||
| from .log import get_logger | ||||
| from .data.feed import Feed | ||||
| 
 | ||||
| 
 | ||||
| T = TypeVar('T') | ||||
|  | @ -132,7 +137,7 @@ class cache: | |||
|     ''' | ||||
|     lock = trio.Lock() | ||||
|     users: int = 0 | ||||
|     ctxs: dict[tuple[str, str], Feed] = {} | ||||
|     ctxs: dict[tuple[str, str], AsyncIterable] = {} | ||||
|     no_more_users: Optional[trio.Event] = None | ||||
| 
 | ||||
| 
 | ||||
|  | @ -150,7 +155,7 @@ async def maybe_open_ctx( | |||
| 
 | ||||
|     ''' | ||||
|     @contextmanager | ||||
|     def get_and_use() -> Feed: | ||||
|     def get_and_use() -> AsyncIterable[T]: | ||||
|         # key error must bubble here | ||||
|         feed = cache.ctxs[key] | ||||
|         log.info(f'Reusing cached feed for {key}') | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue