bool CommunicationErrorHandler( QuickFAST.DotNet.DNMessageDeliverer builder, String message) { Console.WriteLine("Communication error: {0}", message); return(true); }
bool DecoderErrorHandler( QuickFAST.DotNet.DNMessageDeliverer builder, String message) { Console.WriteLine("Decoder error: {0}", message); return(true); }
public bool MessageInterpreter( QuickFAST.DotNet.DNMessageDeliverer builder, QuickFAST.DotNet.DNFieldSet message) { ++recordCount_; return(true); }
public bool Logger( QuickFAST.DotNet.DNMessageDeliverer builder, ushort logLevel, String message) { Console.WriteLine("{0}", message); return(true); }
public bool MessageInterpreter( QuickFAST.DotNet.DNMessageDeliverer builder, QuickFAST.DotNet.DNFieldSet message) { ++recordCount_; Console.Write("Record #{0} ", recordCount_); interpreter_.interpret(message); Console.WriteLine(); return(true); }
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 { /// Handle incoming FAST decoded messages QuickFAST.DotNet.DNMessageDeliverer builder = new QuickFAST.DotNet.DNMessageDeliverer(); builder.MessageReceived += new QuickFAST.DotNet.DNMessageDeliverer.MessageReceiver( this.MessageInterpreter); builder.LogMessage += new QuickFAST.DotNet.DNMessageDeliverer.LogHandler( Logger); builder.CommunicationError += new QuickFAST.DotNet.DNMessageDeliverer.ErrorHandler( CommunicationErrorHandler); builder.DecodingError += new QuickFAST.DotNet.DNMessageDeliverer.ErrorHandler( DecoderErrorHandler); if (memoryBuffer_ != null) { decoder_.run(builder, memoryBuffer_, 0, memoryBuffer_.Length, true); } else { decoder_.run(builder, 0, true); } } 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; }
public int run() { int result = 0; try { /// Handle incoming FAST decoded messages QuickFAST.DotNet.DNMessageDeliverer builder = new QuickFAST.DotNet.DNMessageDeliverer(); builder.MessageReceived += new QuickFAST.DotNet.DNMessageDeliverer.MessageReceiver( this.MessageInterpreter); builder.LogMessage += new QuickFAST.DotNet.DNMessageDeliverer.LogHandler( Logger); builder.CommunicationError += new QuickFAST.DotNet.DNMessageDeliverer.ErrorHandler( CommunicationErrorHandler); builder.DecodingError += new QuickFAST.DotNet.DNMessageDeliverer.ErrorHandler( DecoderErrorHandler); if (memoryBuffer_ != null) { decoder_.run(builder, memoryBuffer_, 0, memoryBuffer_.Length, true); } else { decoder_.run(builder, 0, true); } } catch (Exception ex) { Console.WriteLine(ex.ToString()); result = 1; } return result; }