func (l *EfhLogger) MessageArrived(idm *sim.SimMessage) { l.stream.MessageArrived(idm) l.tobLogger.MessageArrived(idm) if oid, price, size, err := idm.TradeInfo(); err == nil { l.genUpdateTrades(oid, price, size) return } switch m := l.stream.getExchangeMessage().(type) { case *nasdaq.IttoMessageOptionDirectory: l.genUpdateDefinitionsNom(m) case *bats.PitchMessageSymbolMapping: l.genUpdateDefinitionsBats(m) case *miax.TomMessageSeriesUpdate: l.genUpdateDefinitionsMiax(m) } }