Esempio n. 1
0
 void LocalLoop(ClientAndServerFactory factory)
 {
     while (true)
     {
         RunWithLocalServer(factory).Wait();
     }
 }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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();
            }
        }
Esempio n. 4
0
 public SimpleConnectionTest(TestConfiguration config, ClientAndServerFactory factory)
     : base(config, factory)
 {
 }
Esempio n. 5
0
 public CloseNotifyTest(TestConfiguration config, ClientAndServerFactory factory)
     : base(config, factory)
 {
 }
Esempio n. 6
0
        Task RunWithLocalServer(ClientAndServerFactory factory)
        {
            var parameters = GetClientAndServerParameters();

            return(RunWithLocalServer(factory, parameters));
        }
Esempio n. 7
0
		public CloseNotifyTest (TestConfiguration config, ClientAndServerFactory factory)
			: base (config, factory)
		{
		}
Esempio n. 8
0
 public ConnectionTest(TestConfiguration config, ClientAndServerFactory factory)
 {
     Configuration = config;
     Factory       = factory;
 }
		public SimpleInstrumentationTest (TestConfiguration config, ClientAndServerFactory factory)
			: base (config, factory)
		{
		}