static async Task RunLatencyBenchmark(ProgramOptionSet optionSet) { var messageLatencyOptionSet = new MessageLatencyOptionSet(); messageLatencyOptionSet.Parse(_remaining); IMessageLatencySettings settings = messageLatencyOptionSet; IMessageLatencyTransport transport; if (optionSet.Transport == ProgramOptionSet.TransportOptions.AzureServiceBus) { var serviceBusOptionSet = new ServiceBusOptionSet(); serviceBusOptionSet.Parse(_remaining); serviceBusOptionSet.ShowOptions(); ServicePointManager.Expect100Continue = false; ServicePointManager.UseNagleAlgorithm = false; transport = new ServiceBusMessageLatencyTransport(serviceBusOptionSet, settings); } else if (optionSet.Transport == ProgramOptionSet.TransportOptions.RabbitMq) { var rabbitMqOptionSet = new RabbitMqOptionSet(); rabbitMqOptionSet.Parse(_remaining); rabbitMqOptionSet.ShowOptions(); transport = new RabbitMqMessageLatencyTransport(rabbitMqOptionSet, settings); } else if (optionSet.Transport == ProgramOptionSet.TransportOptions.AmazonSqs) { var amazonSqsOptionSet = new AmazonSqsOptionSet(); amazonSqsOptionSet.Parse(_remaining); amazonSqsOptionSet.ShowOptions(); transport = new AmazonSqsMessageLatencyTransport(amazonSqsOptionSet, settings); } else if (optionSet.Transport == ProgramOptionSet.TransportOptions.ActiveMq) { var activeMqOptionSet = new ActiveMqOptionSet(); activeMqOptionSet.Parse(_remaining); activeMqOptionSet.ShowOptions(); transport = new ActiveMqMessageLatencyTransport(activeMqOptionSet, settings); } else { transport = new MediatorMessageLatencyTransport(settings); } var benchmark = new MessageLatencyBenchmark(transport, settings); await benchmark.Run(); }
static void RunLatencyBenchmark(ProgramOptionSet optionSet) { var messageLatencyOptionSet = new MessageLatencyOptionSet(); messageLatencyOptionSet.Parse(_remaining); IMessageLatencySettings settings = messageLatencyOptionSet; IMessageLatencyTransport transport; if (optionSet.Transport == ProgramOptionSet.TransportOptions.AzureServiceBus) { var serviceBusOptionSet = new ServiceBusOptionSet(); serviceBusOptionSet.Parse(_remaining); serviceBusOptionSet.ShowOptions(); ServicePointManager.Expect100Continue = false; ServicePointManager.UseNagleAlgorithm = false; transport = new ServiceBusMessageLatencyTransport(serviceBusOptionSet, settings); } else { var rabbitMqOptionSet = new RabbitMqOptionSet(); rabbitMqOptionSet.Parse(_remaining); rabbitMqOptionSet.ShowOptions(); transport = new RabbitMqMessageLatencyTransport(rabbitMqOptionSet, settings); } var benchmark = new MessageLatencyBenchmark(transport, settings); benchmark.Run(); }