fixes
This commit is contained in:
@ -279,10 +279,6 @@ func (m *Manager) handleQuoteAck(msg quoteack.QuoteAck, sessionID quickfix.Sessi
|
|||||||
err := tracerr.Errorf("handleQuoteAck: quote rejected by TW (quoteReqID=%s, quoteAckStatus=%s, text=%s)", quoteReqID, string(status), text)
|
err := tracerr.Errorf("handleQuoteAck: quote rejected by TW (quoteReqID=%s, quoteAckStatus=%s, text=%s)", quoteReqID, string(status), text)
|
||||||
slog.Error(err.Error())
|
slog.Error(err.Error())
|
||||||
|
|
||||||
m.tradesMu.Lock()
|
|
||||||
delete(m.trades, quoteReqID)
|
|
||||||
m.tradesMu.Unlock()
|
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -321,9 +317,6 @@ func (m *Manager) handleQuoteResponse(msg quoteresponse.QuoteResponse, sessionID
|
|||||||
// _TRDSUMM is the final message — clean up the trade.
|
// _TRDSUMM is the final message — clean up the trade.
|
||||||
if isTrdSumm {
|
if isTrdSumm {
|
||||||
slog.Info("Trade summary received, cleaning up", "quoteReqID", quoteReqID)
|
slog.Info("Trade summary received, cleaning up", "quoteReqID", quoteReqID)
|
||||||
m.tradesMu.Lock()
|
|
||||||
delete(m.trades, quoteReqID)
|
|
||||||
m.tradesMu.Unlock()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -362,10 +355,6 @@ func (m *Manager) handleExecutionReport(msg executionreport.ExecutionReport, ses
|
|||||||
slog.Info("Trade summary received from TW, cleaning up",
|
slog.Info("Trade summary received from TW, cleaning up",
|
||||||
"execID", execID, "clOrdID", clOrdID, "ordStatus", string(ordStatus), "listID", listID)
|
"execID", execID, "clOrdID", clOrdID, "ordStatus", string(ordStatus), "listID", listID)
|
||||||
|
|
||||||
m.tradesMu.Lock()
|
|
||||||
delete(m.trades, clOrdID)
|
|
||||||
m.tradesMu.Unlock()
|
|
||||||
|
|
||||||
case execType == enum.ExecType_TRADE:
|
case execType == enum.ExecType_TRADE:
|
||||||
slog.Info("Trade result received from TW",
|
slog.Info("Trade result received from TW",
|
||||||
"execID", execID, "clOrdID", clOrdID, "ordStatus", string(ordStatus), "listID", listID)
|
"execID", execID, "clOrdID", clOrdID, "ordStatus", string(ordStatus), "listID", listID)
|
||||||
@ -421,12 +410,6 @@ func (m *Manager) SendQuote(quoteReqID string, price decimal.Decimal) error {
|
|||||||
slog.Error(err.Error())
|
slog.Error(err.Error())
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
// if t.Quoted {
|
|
||||||
// m.tradesMu.Unlock()
|
|
||||||
// err := tracerr.Errorf("SendQuote: quote already sent for quoteReqID %s", quoteReqID)
|
|
||||||
// slog.Error(err.Error())
|
|
||||||
// return err
|
|
||||||
// }
|
|
||||||
|
|
||||||
sessionID := t.SessionID
|
sessionID := t.SessionID
|
||||||
if sessionID == (quickfix.SessionID{}) {
|
if sessionID == (quickfix.SessionID{}) {
|
||||||
@ -682,11 +665,6 @@ func (m *Manager) loadActiveTrades() error {
|
|||||||
t.Price = getDecimal(msg.JMessage.Body, "Price")
|
t.Price = getDecimal(msg.JMessage.Body, "Price")
|
||||||
}
|
}
|
||||||
|
|
||||||
case "CW": // QuoteAck — if rejected, trade is dead
|
|
||||||
if getString(msg.JMessage.Body, "QuoteAckStatus") != string(enum.QuoteAckStatus_ACCEPTED) {
|
|
||||||
delete(activeTrades, quoteReqID)
|
|
||||||
}
|
|
||||||
|
|
||||||
case "AJ": // QuoteResponse — _TRDSUMM means trade is done (flow 8.6)
|
case "AJ": // QuoteResponse — _TRDSUMM means trade is done (flow 8.6)
|
||||||
if strings.HasSuffix(getString(msg.JMessage.Body, "QuoteRespID"), "_TRDSUMM") {
|
if strings.HasSuffix(getString(msg.JMessage.Body, "QuoteRespID"), "_TRDSUMM") {
|
||||||
delete(activeTrades, quoteReqID)
|
delete(activeTrades, quoteReqID)
|
||||||
|
|||||||
Reference in New Issue
Block a user