Пример #1
0
        private async void Loop()
        {
            await Task.Delay(1000);

            try
            {
                int cycle = 0;
                while (_running)
                {
                    MethodInvoker invoker = delegate()
                    {
                        if (cycle % 10 == 0)
                        {
                            if (Configuration.CurrentMessages.Count > 0)
                            {
                                List <string> errors = Configuration.CurrentMessages.ToList();
                                foreach (string error in errors)
                                {
                                    ConsoleMessage(error, true);
                                }
                                Configuration.CurrentMessages.Clear();
                            }

                            if (Configuration.Commands.Count > 0 && PipelineServer.Ready)
                            {
                                List <string> commands = Configuration.Commands.ToList();
                                foreach (string cmd in commands)
                                {
                                    PipelineServer.SendData(cmd);
                                }
                                Configuration.Commands.Clear();
                            }
                        }

                        cycle++;
                        if (cycle >= 200)
                        {
                            cycle = 0;
                        }
                    };

                    Invoke(invoker);
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
        }
Пример #2
0
        private static void Main(string[] args)
        {
            LogManager.Assign(new SimpleLogManager <ConsoleLogger>());

            var factory = new DelegatePipelineFactory();

            //CreateSimplePipeline(factory);
            CreateRpcPipeline(factory);

            var server = new PipelineServer(factory, new ServerConfiguration());

            server.Start(new IPEndPoint(IPAddress.Any, 3322));

            Console.ReadLine();
        }
Пример #3
0
        public static void RunDemo()
        {
            var authService = new DummyAuthenticatorService();
            var authHandler =
                new AuthenticationHandler(
                    new DigestAuthenticator(new SingleRealmRepository("*****@*****.**"), authService), authService);

            var factory = new DelegatePipelineFactory();

            factory.AddDownstreamHandler(authHandler);
            factory.AddDownstreamHandler(() => new ResponseEncoder());

            factory.AddUpstreamHandler(() => new HeaderDecoder());
            factory.AddUpstreamHandler(new HttpErrorHandler(new SimpleErrorFormatter()));
            factory.AddUpstreamHandler(authHandler);
            factory.AddUpstreamHandler(() => new BodyDecoder(new CompositeBodyDecoder(), 65535, 6000000));
            //factory.AddUpstreamHandler(() => new FileHandler());
            factory.AddUpstreamHandler(() => new MessageHandler());
            //factory.AddUpstreamHandler(new PipelineFailureHandler());

            var server = new PipelineServer(factory, new ServerConfiguration());

            server.Start(new IPEndPoint(IPAddress.Any, 8888));
        }