Add QuoteStatusReport and QuoteAck handlers
This commit is contained in:
@ -6,6 +6,7 @@ import (
|
||||
|
||||
"quantex.com/qfixdpl/quickfix"
|
||||
"quantex.com/qfixdpl/quickfix/gen/fix50sp2/quote"
|
||||
"quantex.com/qfixdpl/quickfix/gen/fix50sp2/quoteack"
|
||||
"quantex.com/qfixdpl/quickfix/gen/fix50sp2/quoterequest"
|
||||
"quantex.com/qfixdpl/quickfix/gen/tag"
|
||||
"quantex.com/qfixdpl/src/domain"
|
||||
@ -18,6 +19,7 @@ type application struct {
|
||||
onLogout func(quickfix.SessionID)
|
||||
onQuote func(quote.Quote, quickfix.SessionID)
|
||||
onQuoteRequest func(quoterequest.QuoteRequest, quickfix.SessionID)
|
||||
onQuoteAck func(quoteack.QuoteAck, quickfix.SessionID)
|
||||
}
|
||||
|
||||
func newApplication(n domain.Notifier) *application {
|
||||
@ -27,6 +29,7 @@ func newApplication(n domain.Notifier) *application {
|
||||
}
|
||||
|
||||
app.router.AddRoute(quote.Route(app.handleQuote))
|
||||
app.router.AddRoute(quoteack.Route(app.handleQuoteAck))
|
||||
app.router.AddRoute(quoterequest.Route(app.handleQuoteRequest))
|
||||
|
||||
return app
|
||||
@ -107,6 +110,27 @@ func (a *application) handleQuoteRequest(msg quoterequest.QuoteRequest, sessionI
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a *application) handleQuoteAck(msg quoteack.QuoteAck, sessionID quickfix.SessionID) quickfix.MessageRejectError {
|
||||
quoteReqID, _ := msg.GetQuoteReqID()
|
||||
quoteID, _ := msg.GetQuoteID()
|
||||
status, _ := msg.GetQuoteAckStatus()
|
||||
text, _ := msg.GetText()
|
||||
|
||||
slog.Info("QuoteAck received",
|
||||
"quoteReqID", quoteReqID,
|
||||
"quoteID", quoteID,
|
||||
"quoteAckStatus", status,
|
||||
"text", text,
|
||||
"session", sessionID.String(),
|
||||
)
|
||||
|
||||
if a.onQuoteAck != nil {
|
||||
a.onQuoteAck(msg, sessionID)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a *application) handleQuote(msg quote.Quote, sessionID quickfix.SessionID) quickfix.MessageRejectError {
|
||||
quoteID, err := msg.GetQuoteID()
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user