vike
ConceptsEvents

OrderCancelRejected

The OrderCancelRejected event: what it carries, which side emits it, and whether it ends an order's life.

OrderCancelRejected is one of the 20 variants of the tagged union every part of Vike Trader speaks: vike_model::Event. The core loop consumes it, the journal replays it, and fixtures pin it — one vocabulary from a venue's socket to a strategy's callback.

The payload

It carries a OrderCancelRejected. On the wire the frame is tagged OrderCancelRejected, the variant name.

Who emits it

The venue side. Emitted by the venue side — a bridge adapter maps the venue's own message onto this canonical shape and pushes it through the ingest channel. Every venue produces it in its own words; the mapping is that bridge's event_mapper, and the conformance harness folds the result through the real order state machine.

Where it lands

Events reach the core through one ingest channel and are folded in arrival order. NON-TERMINAL, and that is the point: a cancel request failed at the venue or in transport, so the order is still live and still working. Treating it as an ending would leave a resting order nobody is watching.

The order lifecycle walks the sequence a working order produces; the execution client seam is the contract every venue adapter implements to produce these; and the journal is what makes a session of them replayable.

Where this comes from

vike_model::Event — the variant, its payload type and its wire tag, exported as rosters.json at every release. The wire tags are checked against the enum's own source at build time, so a renamed variant or a changed tag reddens the product tree before it could reach this page.

On this page