piker/piker
Tyler Goodlet 4877af9bc3 Add pub-sub broadcasting
Establishes a more formalized subscription based fan out pattern to ems
clients who subscribe for order flow for a particular symbol (the fqsn
is the default subscription key for now).

Make `Router.client_broadcast()` take a `sub_key: str` value which
determines the set of clients to forward a message to and drop all such
manually defined broadcast loops from task (func) code. Also add
`.get_subs()` which (hackily) allows getting the set of clients for
a given sub key where any stream that is detected as "closed" is
discarded in the output. Further we simplify to `Router.dialogs:
defaultdict[str, set[tractor.MsgStream]]` and `.subscriptions` as maps
to sets of streams for much easier broadcast management/logic using set
operations inside `.client_broadcast()`.
2022-10-05 01:41:18 -04:00
..
brokers Update to new pair schema, adds `.cost_decimals` field 2022-10-05 01:41:18 -04:00
clearing Add pub-sub broadcasting 2022-10-05 01:41:18 -04:00
cli Terser startup msg fields 2022-06-28 10:07:57 -04:00
data Increase the `brokerd` mem-chan size 2022-09-12 20:25:15 -04:00
fsp Always load FSPs with the default (fast) sampling period 2022-09-12 20:25:15 -04:00
testing Import client for now until we make a proper shim 2018-02-12 10:35:54 -05:00
ui Hide existing level line markers on startup 2022-09-23 17:17:32 -04:00
watchlists Add license headers to pertinent files 2020-11-06 12:23:14 -05:00
__init__.py Drop dependence on `msgpack` and `msgpack_numpy` 2022-02-28 08:15:18 -05:00
_cacheables.py Port to new `tractor.trionics.maybe_open_context()` api 2022-01-23 21:01:38 -05:00
_daemon.py Oneliner enable rpc modules on runtime open 2022-08-25 11:47:40 -03:00
_profile.py Allow passing "ms slower then" value on cli to `--profile` 2022-04-30 11:36:23 -04:00
calc.py Lul, adhere to returning `str`s in `humanize()` 2022-01-25 07:57:01 -05:00
config.py Passthrough toml lib kwargs 2022-06-28 10:07:56 -04:00
log.py Type annot name in put to log routine 2022-06-05 22:13:36 -04:00
pp.py Handle `Position.split_ratio` in state audits 2022-08-17 10:06:58 -04:00
trionics.py Start trionics mod with an `async_enter_all` 2022-01-23 19:41:57 -05:00