void LocalLoop(ClientAndServerFactory factory) { while (true) { RunWithLocalServer(factory).Wait(); } }
async Task RunWithLocalServer(ClientAndServerFactory factory, ClientAndServerParameters parameters) { try { var connection = (IClientAndServer)await factory.Start(parameters); var handler = ClientAndServerHandlerFactory.WaitForOkAndDone.Create(connection.Server, connection.Client); await handler.Run(); connection.Dispose(); } catch (Exception ex) { PrintError(ex); } }
void Connection(params string[] args) { int repeat = 0; var clientFactory = Factory.OpenSslClient; var serverFactory = Factory.OpenSslServer; var parameters = new ClientAndServerParameters(); parameters.VerifyPeerCertificate = false; parameters.TrustedCA = ResourceManager.LocalCACertificate; var p = new OptionSet { { "verbose", v => parameters.EnableDebugging = true }, { "repeat=", (int v) => repeat = v }, { "client=", v => clientFactory = ConnectionFactoryProvider.GetClientFactory(v) }, { "server=", v => serverFactory = ConnectionFactoryProvider.GetServerFactory(v) }, { "verify", v => parameters.VerifyPeerCertificate = true }, { "ask-for-cert", v => parameters.AskForClientCertificate = true }, { "require-cert", v => parameters.RequireClientCertificate = true } }; var extra = p.Parse(args); if (extra.Count != 0) { throw new InvalidOperationException(); } if (repeat < 0) { repeat = int.MaxValue; } else if (repeat == 0) { repeat = 1; } var factory = new ClientAndServerFactory(serverFactory, clientFactory); for (int i = 0; i < repeat; i++) { RunWithLocalServer(factory, parameters).Wait(); } }
public SimpleConnectionTest(TestConfiguration config, ClientAndServerFactory factory) : base(config, factory) { }
public CloseNotifyTest(TestConfiguration config, ClientAndServerFactory factory) : base(config, factory) { }
Task RunWithLocalServer(ClientAndServerFactory factory) { var parameters = GetClientAndServerParameters(); return(RunWithLocalServer(factory, parameters)); }
public CloseNotifyTest (TestConfiguration config, ClientAndServerFactory factory) : base (config, factory) { }
public ConnectionTest(TestConfiguration config, ClientAndServerFactory factory) { Configuration = config; Factory = factory; }
public SimpleInstrumentationTest (TestConfiguration config, ClientAndServerFactory factory) : base (config, factory) { }