in gemini/src/main/java/deltix/connector/crypto/gemini/GeminiTradeConnector.java [337:393]
private void handleMessage(final Message message) {
if (message instanceof deltix.connector.crypto.gemini.data.OrderEvent.AcceptedOrderEvent) {
final deltix.connector.crypto.gemini.data.OrderEvent.AcceptedOrderEvent event = (deltix.connector.crypto.gemini.data.OrderEvent.AcceptedOrderEvent) message;
final MutableOrderNewEvent emberEvent = messages.orderNewEvent();
populateEvent(event, emberEvent);
fireOrderNewEvent(emberEvent);
} else if (message instanceof deltix.connector.crypto.gemini.data.OrderTradeEvent) {
final deltix.connector.crypto.gemini.data.OrderTradeEvent event = (deltix.connector.crypto.gemini.data.OrderTradeEvent) message;
final MutableOrderTradeReportEvent emberEvent = messages.tradeReportEvent();
assert event.getFill() != null;
populateEvent(event, emberEvent);
final Contract contract = getContractByBrokerSymbol(event.getSymbol());
emberEvent.setEventId(event.getFill().getTradeId());
emberEvent.setTradePrice(toOrderPrice(event.getFill().getPrice(), contract));
emberEvent.setTradeQuantity(toOrderQuantity(event.getFill().getAmount(), contract));
emberEvent.setCommission(event.getFill().getFee());
emberEvent.setCommissionCurrency(AlphanumericCodec.encode(event.getFill().getFeeCurrency()));
emberEvent.setAggressorSide(GeminiUtil.toAggressorIndicator(event.getFill()));
fireOrderTradeReportEvent(emberEvent);
} else if (message instanceof OrderCancelledEvent) {
final OrderCancelledEvent event = (OrderCancelledEvent) message;
final MutableOrderCancelEvent emberEvent = messages.orderCancelEvent();
populateEvent(event, emberEvent);
emberEvent.setReason(event.getReason());
fireOrderCancelEvent(emberEvent);
} else if (message instanceof OrderRejectedEvent) {
final OrderRejectedEvent event = (OrderRejectedEvent) message;
final MutableOrderRejectEvent emberEvent = messages.orderRejectEvent();
populateEvent(event, emberEvent);
emberEvent.setReason(event.getReason());
fireOrderRejectEvent(emberEvent);
} else if (message instanceof OrderCancelRejectedEvent) {
final OrderCancelRejectedEvent event = (OrderCancelRejectedEvent) message;
final MutableOrderCancelRejectEvent emberEvent = messages.orderCancelRejectEvent();
populateEvent(event, emberEvent);
emberEvent.setReason(event.getReason());
fireOrderCancelRejectEvent(emberEvent);
} else if (message instanceof deltix.connector.crypto.gemini.data.OrderEvent.InitialOrderEvent) {
notifyOrderStatus((OrderEvent) message);
} else {
getLog().info("Skip event: %s").with(message);
}
}