Add `Status.cancel_called: bool`
This is a simpler (and oddly more `trio`-nic and/or SC) way to handle the cancelled-before-acked race for order dialogs. Will allow keeping the `.req` field as solely an `Order` msg.even_moar_kraken_order_fixes
parent
fa368b1263
commit
71a11a23bd
|
@ -110,7 +110,6 @@ class Cancel(Struct):
|
||||||
action: str = 'cancel'
|
action: str = 'cancel'
|
||||||
oid: str # uuid4
|
oid: str # uuid4
|
||||||
symbol: str
|
symbol: str
|
||||||
account: str = ''
|
|
||||||
|
|
||||||
|
|
||||||
# --------------
|
# --------------
|
||||||
|
@ -144,7 +143,7 @@ class Status(Struct):
|
||||||
# (eg. the Order/Cancel which causes this msg) and
|
# (eg. the Order/Cancel which causes this msg) and
|
||||||
# acts as a back-reference to the corresponding
|
# acts as a back-reference to the corresponding
|
||||||
# request message which was the source of this msg.
|
# request message which was the source of this msg.
|
||||||
req: Optional[Order | Cancel] = None
|
req: Order | None = None
|
||||||
|
|
||||||
# XXX: better design/name here?
|
# XXX: better design/name here?
|
||||||
# flag that can be set to indicate a message for an order
|
# flag that can be set to indicate a message for an order
|
||||||
|
@ -153,6 +152,10 @@ class Status(Struct):
|
||||||
# might want to "track" using piker UIs/systems).
|
# might want to "track" using piker UIs/systems).
|
||||||
src: Optional[str] = None
|
src: Optional[str] = None
|
||||||
|
|
||||||
|
# set when a cancel request msg was set for this order flow dialog
|
||||||
|
# but the brokerd dialog isn't yet in a cancelled state.
|
||||||
|
cancel_called: bool = False
|
||||||
|
|
||||||
# for relaying a boxed brokerd-dialog-side msg data "through" the
|
# for relaying a boxed brokerd-dialog-side msg data "through" the
|
||||||
# ems layer to clients.
|
# ems layer to clients.
|
||||||
brokerd_msg: dict = {}
|
brokerd_msg: dict = {}
|
||||||
|
|
Loading…
Reference in New Issue