public int run() { int result = 0; try { QuickFAST.DotNet.DNMessageDeliverer builder = new QuickFAST.DotNet.DNMessageDeliverer(); // Handle incoming FAST decoded messages builder.MessageReceived += new QuickFAST.DotNet.DNMessageDeliverer.MessageReceiver( MessageInterpreter); // Handle log messages builder.LogMessage += new QuickFAST.DotNet.DNMessageDeliverer.LogHandler( Logger); // Handle communications errors builder.CommunicationError += new QuickFAST.DotNet.DNMessageDeliverer.ErrorHandler( CommunicationErrorHandler); // Handle decoding errors builder.DecodingError += new QuickFAST.DotNet.DNMessageDeliverer.ErrorHandler( DecoderErrorHandler); GCSettings.LatencyMode = GCLatencyMode.LowLatency; QuickFAST.DotNet.Stopwatch decodeTimer = new QuickFAST.DotNet.Stopwatch(); decoder_.run(builder, 0, true); decodeTimer.Stop(); ulong decodeLapse = decodeTimer.ElapsedMilliseconds; GCSettings.LatencyMode = GCLatencyMode.Interactive; #if DEBUG performanceFile_.Write("[debug] "); #endif // DEBUG performanceFile_.Write("Decoded {0} messages in {1} milliseconds. [", recordCount_, decodeLapse); performanceFile_.Write("{0:F3} msec/message. = ", (double)decodeLapse / (double)recordCount_); performanceFile_.WriteLine("{0:F3} messages/second]", (double)1000 * (double)recordCount_ / (double)decodeLapse); performanceFile_.Flush(); } catch (Exception ex) { Console.WriteLine(ex.ToString()); result = 1; } return(result); }
public int run() { int result = 0; try { QuickFAST.DotNet.DNMessageDeliverer builder = new QuickFAST.DotNet.DNMessageDeliverer(); // Handle incoming FAST decoded messages builder.MessageReceived += new QuickFAST.DotNet.DNMessageDeliverer.MessageReceiver( MessageInterpreter); // Handle log messages builder.LogMessage += new QuickFAST.DotNet.DNMessageDeliverer.LogHandler( Logger); // Handle communications errors builder.CommunicationError += new QuickFAST.DotNet.DNMessageDeliverer.ErrorHandler( CommunicationErrorHandler); // Handle decoding errors builder.DecodingError += new QuickFAST.DotNet.DNMessageDeliverer.ErrorHandler( DecoderErrorHandler); GCSettings.LatencyMode = GCLatencyMode.LowLatency; QuickFAST.DotNet.Stopwatch decodeTimer = new QuickFAST.DotNet.Stopwatch(); decoder_.run(builder, 0, true); decodeTimer.Stop(); ulong decodeLapse = decodeTimer.ElapsedMilliseconds; GCSettings.LatencyMode = GCLatencyMode.Interactive; #if DEBUG performanceFile_.Write("[debug] "); #endif // DEBUG performanceFile_.Write("Decoded {0} messages in {1} milliseconds. [", recordCount_, decodeLapse); performanceFile_.Write("{0:F3} msec/message. = ", (double)decodeLapse / (double)recordCount_); performanceFile_.WriteLine("{0:F3} messages/second]", (double)1000 * (double)recordCount_ / (double)decodeLapse); performanceFile_.Flush(); } catch (Exception ex) { Console.WriteLine(ex.ToString()); result = 1; } return result; }