func (e *EchoApplication) processMsg(msg *quickfix.Message, sessionID quickfix.SessionID) quickfix.MessageRejectError { var possResend field.PossResendField msg.Header.Get(&possResend) if msg.Body.Has(tag.ClOrdID) { var orderID field.ClOrdIDField if err := msg.Body.Get(&orderID); err != nil { return err } sessionOrderID := sessionID.String() + orderID.String() if possResend.FIXBoolean { if e.OrderIds[sessionOrderID] { return nil } } e.OrderIds[sessionOrderID] = true } reply := copyMessage(msg) if possResend.FIXBoolean { reply.Header.Set(possResend) } quickfix.SendToTarget(reply, sessionID) return nil }
func (e *EchoApplication) OnLogout(sessionID quickfix.SessionID) { e.log.Printf("OnLogout %v\n", sessionID.String()) }
func (e *EchoApplication) OnLogon(sessionID quickfix.SessionID) { e.log.Printf("OnLogon %v\n", sessionID.String()) e.OrderIds = make(map[string]bool) }
func (e EchoApplication) OnCreate(sessionID quickfix.SessionID) { e.log.Printf("OnCreate %v\n", sessionID.String()) }
func (e *FixAcceptor) OnLogout(sessionID quickfix.SessionID) { e.log.Printf("OnLogout %v\n", sessionID.String()) }
func (e *FixAcceptor) OnLogon(sessionID quickfix.SessionID) { e.log.Printf("OnLogon %v\n", sessionID.String()) fmt.Println("logged on!") e.OrderIds = make(map[string]bool) }
func (e FixAcceptor) OnCreate(sessionID quickfix.SessionID) { e.log.Printf("OnCreate %v\n", sessionID.String()) }