Definitions Possible Updates
Copy order = [
0: instrumentName (string)
1: orderType (unsigned int16)
2: orderSide (Efx::Side)
3: orderCancelReason (Efx::CancelReason)
4: orderId (Efx::OrderId)
5: clientOrderId (Efx::ClientOrderId)
6: orderPrice (Efx::Price)
7: initialSize (Efx::Size)
8: sizeLeft (Efx::Size)
9: createdAt (Efx::Timestamp)
10: bySizeOrByVolume (unsigned int16)
]
deal = [
0: instrumentName (string)
1: orderType (unsigned int16)
2: orderSide (Efx::Side)
3: orderCancelReason (Efx::CancelReason)
4: orderId (Efx::OrderId)
5: clientOrderId (Efx::ClientOrderId)
6: orderPrice (Efx::Price)
7: initialSize (Efx::Size)
8: sizeOrVolumeLeft (Efx::Size)
9: createdAt (Efx::Timestamp)
10: dealMoment (Efx::Timestamp)
11: dealId (Efx::DealId)
12: dealAggressorSide (Efx::Side)
13: dealPrice (Efx::Price)
14: dealSize (Efx::Size)
15: dealVolume (Efx::Size)
16: dealDelta (Efx::Size)
17: counterpartyId (Efx::ClientId)
18: isOrderByVolume (unsigned int16)
19: takerOrderOwnerId (Efx::ClientId)
20: linkedTo (Efx::DealId)
21: dealType (DealType)
22: makerOrderOwnerId (Efx::ClientId)
]
Copy // snapshot
['O', feed_id, 'S', [array of order]]
// new order
['O', feed_id, '+', order]
// del position
['O', feed_id, '-', order]
// new deal
['O', feed_id, 'D', deal]
// failed to subscribe
['O', feed_id, 'Z', 2]
// unsubscribed
['O', feed_id, 'U', 0]
feed_id
is copied from subscription request and 0 if not provided