forked from goodboy/tractor
s/tickers/topics
parent
2b1e8773bb
commit
1b405ab4fe
|
@ -68,21 +68,21 @@ def modify_subs(topics2ctxs, topics, ctx):
|
||||||
log.info(f"{ctx.chan.uid} changed subscription to {topics}")
|
log.info(f"{ctx.chan.uid} changed subscription to {topics}")
|
||||||
|
|
||||||
# update map from each symbol to requesting client's chan
|
# update map from each symbol to requesting client's chan
|
||||||
for ticker in topics:
|
for topic in topics:
|
||||||
topics2ctxs.setdefault(ticker, set()).add(ctx)
|
topics2ctxs.setdefault(topic, set()).add(ctx)
|
||||||
|
|
||||||
# remove any existing symbol subscriptions if symbol is not
|
# remove any existing symbol subscriptions if symbol is not
|
||||||
# found in ``symbols``
|
# found in ``symbols``
|
||||||
# TODO: this can likely be factored out into the pub-sub api
|
# TODO: this can likely be factored out into the pub-sub api
|
||||||
for ticker in filter(
|
for topic in filter(
|
||||||
lambda topic: topic not in topics, topics2ctxs.copy()
|
lambda topic: topic not in topics, topics2ctxs.copy()
|
||||||
):
|
):
|
||||||
ctx_set = topics2ctxs.get(ticker)
|
ctx_set = topics2ctxs.get(topic)
|
||||||
ctx_set.discard(ctx)
|
ctx_set.discard(ctx)
|
||||||
|
|
||||||
if not ctx_set:
|
if not ctx_set:
|
||||||
# pop empty sets which will trigger bg quoter task termination
|
# pop empty sets which will trigger bg quoter task termination
|
||||||
topics2ctxs.pop(ticker)
|
topics2ctxs.pop(topic)
|
||||||
|
|
||||||
|
|
||||||
def pub(
|
def pub(
|
||||||
|
|
Loading…
Reference in New Issue