Closed goodboy closed 2 years ago
This is more or less ready for code reviewing to start but still has some outstandings above.
@guilledk can you do a once more over?
Fixed up multi-account order line labeling and made it so the settings pane adjust automatically depending on Order.account
🏄🏼
Ok so more or less this introduces 2 main things:
_emsd_main()
now delivers existing active "order msg dialogs" to every client that connectsBrokerdStatus
msgs to all connected clients (though likely we should change the msging semantics, more on this later)Topics of contention and thus discussion:
BrokerdStatus
but with hacked in extra fields and it's super ugly (as is this msg in general) and i'm wondering if we should support sendingbrokerd ->
emsd->
clientmsgs of
BrokerdOrderor at least some kind of embedded version of this (say
BrokerdStatuscontaining a
BrokerdOrderwhich gets transformed to a
Statuswith and embedded
Order`?)brokerd
just sending aStatus
with an embedded.req: Order
which feels pretty natural actually and even more so if we end up dropping all theBrokerdX
typed messages as well.To defer in follow up work:
all moved => https://github.com/pikers/piker/issues/384
TODO for this to land:
Status
throughout ems and expect it frombrokerd
actors to load existing "live" orderspp.py
which was added to keepib
working during dev see https://github.com/pikers/piker/pull/383kraken
supportoutstanding bugs:
kraken
currently has the issue where the first loaded order their backend gives auserref
of1
which we then relay, but we don't compensate for this is the order request handler loop and thus can crash the ems on a double book id entry:oid
from the ems with wtv reqid is delivered by each backend?ib
where a fill msg may get delivered after aclosed
status?piker.clearing._paper_engine._positions
table to clients on connect from 7494b51, we likely need to fqsn-filter this table?ib
with multiple accounts where the order mode UX isn't putting the correct account name in the level line label..ib
) such that cancelling doesn't cause an ems crash onbook._active: dict
reads. repaired in last 2 commits in #383