static int RunInProc(InProcOptions options) { Console.WriteLine("Running in-process over loopback"); IPEndPoint serverEndpoint = ServerListener.Run(new IPEndPoint(IPAddress.Loopback, 0), GetX509Certificate(options), options.MessageSize); ClientHandler[] clientHandlers = ClientRunner.Run(serverEndpoint, options.UseSsl, options.Clients, options.MessageSize); ShowResults(options, clientHandlers); return(1); }
public static int Run(InProcOptions opts, CancellationTokenSource cancellationSource) { var(ep, finished) = opts.Tcp ? ServerListener.StartTcpTls(new IPEndPoint(IPAddress.Loopback, 0), opts.CertificateFile, opts.PrivateKeyFile, cancellationSource.Token) : ServerListener.StartQuic(new IPEndPoint(IPAddress.Loopback, 0), opts.CertificateFile, opts.PrivateKeyFile, cancellationSource.Token); var clients = Client.StartClients(ep, opts, cancellationSource.Token); ResultMonitor.MonitorResults(clients, opts, cancellationSource); Task.WaitAll(clients.Select(c => c.CloseAsync()).Concat(new [] { finished }).ToArray()); return(0); }