protected void MontagemListaResumo(object state) { // Evita que mais que uma instância seja executada pelo timer if (montandoListaResumo) { return; } montandoListaResumo = true; MemoriaResumoCorretoras.ListaRanking(filaResumoParaStreamer, null); MemoriaResumoCorretoras.ListaRankingPorInstrumentoOuCorretora(filaResumoParaStreamer, null, null); montandoListaResumo = false; }
void socketStreamerServer_OnRequestReceived(object sender, MessageEventArgs args) { try { DadosRequisicaoInfo req = JsonConvert.DeserializeObject <DadosRequisicaoInfo>(args.Message); if (req.tipo.Equals(TIPO_REQUISICAO_NEGOCIOS_DESTAQUE)) { logger.Info("Enviando snapshot de Negocios em Destaque para cliente[" + args.ClientNumber.ToString() + "]"); MemoriaNegociosDestaque.ListaRanking(filaDestaquesParaStreamer, args.ClientSocket); } else if (req.tipo.Equals(TIPO_REQUISICAO_ACOMPANHAMENTO_LEILAO)) { logger.Info("Enviando snapshot de Acompanhamento de Leilao para cliente[" + args.ClientNumber.ToString() + "]"); MemoriaAcompanhamentoLeilao.MontagemAcompanhamentoLeilaoStreamer(args.ClientSocket); MemoriaAcompanhamentoLeilao.EnviaAcompanhamentoLeilaoStreamer(filaLeilaoParaStreamer, FrequenciaEnviaLeilao); } else if (req.tipo.Equals(TIPO_REQUISICAO_RESUMO_CORRETORAS)) { if (!((IList <string>)MemoriaResumoCorretoras.SEGMENTOS_MERCADO).Contains(req.instrumento)) { if (req.acao.Equals(MDS_ACAO_ASSINAR)) { MemoriaResumoCorretoras.AssinarRankingPorInstrumento(req.instrumento); MemoriaResumoCorretoras.ListaRankingPorInstrumentoOuCorretora(filaResumoParaStreamer, args.ClientSocket, req.instrumento); } else { MemoriaResumoCorretoras.DesassinarRankingPorInstrumento(req.instrumento); } } else { logger.Info("Enviando snapshot de Resumo de Corretoras para cliente[" + args.ClientNumber.ToString() + "]"); MemoriaResumoCorretoras.ListaRanking(filaResumoParaStreamer, args.ClientSocket); } } } catch (Exception ex) { logger.Error("socketStreamerServer_OnRequestReceived(): " + ex.Message, ex); } }