예제 #1
0
 public TThreadPoolServer(TProcessorFactory processorFactory,
                          TServerTransport serverTransport,
                          TTransportFactory inputTransportFactory,
                          TTransportFactory outputTransportFactory,
                          TProtocolFactory inputProtocolFactory,
                          TProtocolFactory outputProtocolFactory,
                          int minThreadPoolThreads, int maxThreadPoolThreads, LogDelegate logDel)
     : base(processorFactory, serverTransport, inputTransportFactory, outputTransportFactory,
            inputProtocolFactory, outputProtocolFactory, logDel)
 {
     lock (typeof(TThreadPoolServer))
     {
         if (maxThreadPoolThreads > 0)
         {
             if (!ThreadPool.SetMaxThreads(maxThreadPoolThreads, maxThreadPoolThreads))
             {
                 throw new Exception("Error: could not SetMaxThreads in ThreadPool");
             }
         }
         if (minThreadPoolThreads > 0)
         {
             if (!ThreadPool.SetMinThreads(minThreadPoolThreads, minThreadPoolThreads))
             {
                 throw new Exception("Error: could not SetMinThreads in ThreadPool");
             }
         }
     }
 }
 public TThreadPoolServer(TProcessorFactory processorFactory,
                          TServerTransport serverTransport,
                          TTransportFactory transportFactory,
                          TProtocolFactory protocolFactory)
     : this(processorFactory, serverTransport,
            transportFactory, transportFactory,
            protocolFactory, protocolFactory,
            new Configuration(), DefaultLogDelegate)
 {
 }
예제 #3
0
 public TThreadPoolServer(TProcessorFactory processorFactory,
                          TServerTransport serverTransport,
                          TTransportFactory transportFactory,
                          TProtocolFactory protocolFactory)
     : this(processorFactory, serverTransport,
            transportFactory, transportFactory,
            protocolFactory, protocolFactory,
            DEFAULT_MIN_THREADS, DEFAULT_MAX_THREADS, DefaultLogDelegate)
 {
 }
 public TThreadedServer(TProcessorFactory processorFactory,
        TServerTransport serverTransport,
        TTransportFactory transportFactory,
        TProtocolFactory protocolFactory)
     : this(processorFactory, serverTransport,
      transportFactory, transportFactory,
      protocolFactory, protocolFactory,
      DEFAULT_MAX_THREADS, DefaultLogDelegate)
 {
 }
예제 #5
0
        public TThreadPoolServer(TProcessorFactory processorFactory,
                                 TServerTransport serverTransport,
                                 TTransportFactory inputTransportFactory,
                                 TTransportFactory outputTransportFactory,
                                 TProtocolFactory inputProtocolFactory,
                                 TProtocolFactory outputProtocolFactory,
                                 Configuration threadConfig,
                                 LogDelegate logDel)
            : base(processorFactory, serverTransport, inputTransportFactory, outputTransportFactory,
                   inputProtocolFactory, outputProtocolFactory, logDel)
        {
            lock (typeof(TThreadPoolServer))
            {
                if ((threadConfig.MaxWorkerThreads > 0) || (threadConfig.MaxIOThreads > 0))
                {
                    int work, comm;
                    ThreadPool.GetMaxThreads(out work, out comm);
                    if (threadConfig.MaxWorkerThreads > 0)
                    {
                        work = threadConfig.MaxWorkerThreads;
                    }

                    if (threadConfig.MaxIOThreads > 0)
                    {
                        comm = threadConfig.MaxIOThreads;
                    }

                    if (!ThreadPool.SetMaxThreads(work, comm))
                    {
                        throw new Exception("Error: could not SetMaxThreads in ThreadPool");
                    }
                }

                if ((threadConfig.MinWorkerThreads > 0) || (threadConfig.MinIOThreads > 0))
                {
                    int work, comm;
                    ThreadPool.GetMinThreads(out work, out comm);
                    if (threadConfig.MinWorkerThreads > 0)
                    {
                        work = threadConfig.MinWorkerThreads;
                    }

                    if (threadConfig.MinIOThreads > 0)
                    {
                        comm = threadConfig.MinIOThreads;
                    }

                    if (!ThreadPool.SetMinThreads(work, comm))
                    {
                        throw new Exception("Error: could not SetMinThreads in ThreadPool");
                    }
                }
            }
        }
예제 #6
0
 public TSimpleServer(TProcessorFactory processorFactory,
                      TServerTransport serverTransport,
                      TTransportFactory transportFactory,
                      TProtocolFactory protocolFactory)
     : base(processorFactory,
            serverTransport,
            transportFactory,
            transportFactory,
            protocolFactory,
            protocolFactory,
            DefaultLogDelegate)
 {
 }
 public TThreadPoolServer(TProcessorFactory processorFactory,
                          TServerTransport serverTransport,
                          TTransportFactory inputTransportFactory,
                          TTransportFactory outputTransportFactory,
                          TProtocolFactory inputProtocolFactory,
                          TProtocolFactory outputProtocolFactory,
                          int minThreadPoolThreads, int maxThreadPoolThreads, LogDelegate logDel)
     : this(processorFactory, serverTransport, inputTransportFactory, outputTransportFactory,
            inputProtocolFactory, outputProtocolFactory,
            new Configuration(minThreadPoolThreads, maxThreadPoolThreads),
            logDel)
 {
 }
 public TSimpleServer(TProcessorFactory processorFactory,
           TServerTransport serverTransport,
           TTransportFactory transportFactory,
           TProtocolFactory protocolFactory)
   : base(processorFactory,
      serverTransport,
      transportFactory,
      transportFactory,
      protocolFactory,
      protocolFactory,
      DefaultLogDelegate)
 {
 }
 public TThreadedServer(TProcessorFactory processorFactory,
                        TServerTransport serverTransport,
                        TTransportFactory inputTransportFactory,
                        TTransportFactory outputTransportFactory,
                        TProtocolFactory inputProtocolFactory,
                        TProtocolFactory outputProtocolFactory,
                        int maxThreads, LogDelegate logDel)
     : base(processorFactory, serverTransport, inputTransportFactory, outputTransportFactory,
            inputProtocolFactory, outputProtocolFactory, logDel)
 {
     this.maxThreads = maxThreads;
     clientQueue     = new Queue <TTransport>();
     clientLock      = new object();
     clientThreads   = new THashSet <Thread>();
 }
 public TThreadedServer(TProcessorFactory processorFactory,
              TServerTransport serverTransport,
              TTransportFactory inputTransportFactory,
              TTransportFactory outputTransportFactory,
              TProtocolFactory inputProtocolFactory,
              TProtocolFactory outputProtocolFactory,
              int maxThreads, LogDelegate logDel)
   : base(processorFactory, serverTransport, inputTransportFactory, outputTransportFactory,
       inputProtocolFactory, outputProtocolFactory, logDel)
 {
   this.maxThreads = maxThreads;
   clientQueue = new Queue<TTransport>();
   clientLock = new object();
   clientThreads = new THashSet<Thread>();
 }
예제 #11
0
파일: TServer.cs 프로젝트: zxbe/Anno.Core
 public TServer(TProcessor processor,
                TServerTransport serverTransport,
                TTransportFactory inputTransportFactory,
                TTransportFactory outputTransportFactory,
                TProtocolFactory inputProtocolFactory,
                TProtocolFactory outputProtocolFactory,
                LogDelegate logDelegate)
 {
     this.processorFactory       = new TSingletonProcessorFactory(processor);
     this.serverTransport        = serverTransport;
     this.inputTransportFactory  = inputTransportFactory;
     this.outputTransportFactory = outputTransportFactory;
     this.inputProtocolFactory   = inputProtocolFactory;
     this.outputProtocolFactory  = outputProtocolFactory;
     this.logDelegate            = (logDelegate != null) ? logDelegate : DefaultLogDelegate;
 }
 public TThreadPoolServer(TProcessorFactory processorFactory,
              TServerTransport serverTransport,
              TTransportFactory inputTransportFactory,
              TTransportFactory outputTransportFactory,
              TProtocolFactory inputProtocolFactory,
              TProtocolFactory outputProtocolFactory,
              int minThreadPoolThreads, int maxThreadPoolThreads, LogDelegate logDel)
     : base(processorFactory, serverTransport, inputTransportFactory, outputTransportFactory,
       inputProtocolFactory, outputProtocolFactory, logDel)
 {
   lock (typeof(TThreadPoolServer))
   {
     if (!ThreadPool.SetMaxThreads(maxThreadPoolThreads, maxThreadPoolThreads))
     {
       throw new Exception("Error: could not SetMaxThreads in ThreadPool");
     }
     if (!ThreadPool.SetMinThreads(minThreadPoolThreads, minThreadPoolThreads))
     {
       throw new Exception("Error: could not SetMinThreads in ThreadPool");
     }
   }
 }
예제 #13
0
파일: TServer.cs 프로젝트: netcrack/thrift
 public TServer(TProcessorFactory processorFactory,
           TServerTransport serverTransport,
           TTransportFactory inputTransportFactory,
           TTransportFactory outputTransportFactory,
           TProtocolFactory inputProtocolFactory,
           TProtocolFactory outputProtocolFactory,
           LogDelegate logDelegate)
 {
     this.processorFactory = processorFactory;
     this.serverTransport = serverTransport;
     this.inputTransportFactory = inputTransportFactory;
     this.outputTransportFactory = outputTransportFactory;
     this.inputProtocolFactory = inputProtocolFactory;
     this.outputProtocolFactory = outputProtocolFactory;
     this.logDelegate = (logDelegate != null) ? logDelegate : DefaultLogDelegate;
 }