Exemplo n.º 1
0
        public void Start(int port = 10001)
        {
            SpeakService.Processor processor = new SpeakService.Processor(Instance);
            TServerTransport       transport = new TServerSocket(port);
            TServer server = new TThreadPoolServer(processor, transport);

            Console.WriteLine("server 10001 starting...");
            server.Serve();
            transport.Close();
        }
Exemplo n.º 2
0
        static internal void Run(int port)
        {
            // check whether the port is free
            TServerTransport serverTransport = new TServerSocket(port);

            serverTransport.Listen();
            serverTransport.Close();
            serverTransport = new TServerSocket(port);

            // one processor to rule them all
            var multiplexProcessor = new TMultiplexedProcessor();

            // create protocol factory, default to "framed binary"
            TProtocolFactory  protocolFactory  = new TBinaryProtocol.Factory(true, true);
            TTransportFactory transportFactory = new TFramedTransport.Factory();

            // create handler/processor for the public service
            Handler handler = new Handler();

            Pizzeria.Processor pizzeria = new Pizzeria.Processor(handler);
            multiplexProcessor.RegisterProcessor(typeof(Pizzeria).Name, pizzeria);

            // create handler/processor for the internal service
            // handler = same
            PizzeriaCallback.Processor callback = new PizzeriaCallback.Processor(handler);
            multiplexProcessor.RegisterProcessor(typeof(PizzeriaCallback).Name, callback);

            // create handler/processor for the diagnostics service
            // handler = same
            Diagnostics.Diagnostics.Processor diagnose = new Diagnostics.Diagnostics.Processor(handler);
            multiplexProcessor.RegisterProcessor(typeof(Diagnostics.Diagnostics).Name, diagnose);

            // more processors as needed ...

            // complete internal setup
            Console.Title = Environment.MachineName + "-" + port.ToString();

            ReadinessHttpServer.Start(PizzaConfig.ReadinessPorts.Pizzeria);
            try
            {
                // return the server instance
                //var server = new TThreadPoolServer(multiplexProcessor, serverTransport, transportFactory, protocolFactory);
                var server = new TThreadedServer(multiplexProcessor, serverTransport, transportFactory, protocolFactory);
                //var server = new TSimpleServer(multiplexProcessor, serverTransport, transportFactory, protocolFactory);

                ReadinessHttpServer.Status = Readiness.AliveAndReady;
                server.Serve();
            }
            finally
            {
                ReadinessHttpServer.Stop();
            }
        }
Exemplo n.º 3
0
        public static void Run(int port)
        {
            HelloWorldServer client = new HelloWorldServer();

            HelloWorldService.Processor processor = new global::HelloWorldService.Processor(client);
            TServerTransport            transport = new TServerSocket(port);
            TServer server = new TThreadPoolServer(processor, transport);

            Console.WriteLine("Starting the server...");

            server.Serve();

            transport.Close();
        }
Exemplo n.º 4
0
        public void Run()
        {
            log.InfoFormat("Starting slave service on port {0}.", options.Port);

            TServerTransport transport = null;

            try
            {
                lock (syncRoot)
                {
                    if (stopped)
                    {
                        return;
                    }

                    var handler   = new SlaveServiceHandler();
                    var processor = new VMToolSlaveCustom.Processor(handler);
                    transport = new TServerSocket(options.Port);
                    server    = new TThreadPoolServer(processor, transport, message => log.Error(message));
                }

                server.Serve();
                server = null;
            }
            finally
            {
                if (server != null)
                {
                    server.Stop();
                }
                if (transport != null)
                {
                    transport.Close();
                }
            }
        }
Exemplo n.º 5
0
 protected override void Dispose()
 {
     ts.Stop();
     serverTransport.Close();
 }