Beispiel #1
0
 public AsyncBaseServer(ITProcessorFactory itProcessorFactory, TServerTransport serverTransport,
                        TTransportFactory inputTransportFactory, TTransportFactory outputTransportFactory,
                        ITProtocolFactory inputProtocolFactory, ITProtocolFactory outputProtocolFactory,
                        ILogger logger, int clientWaitingDelay = 10)
     : base(itProcessorFactory, serverTransport, inputTransportFactory, outputTransportFactory,
            inputProtocolFactory, outputProtocolFactory, logger)
 {
     _clientWaitingDelay = clientWaitingDelay;
 }
Beispiel #2
0
 public AsyncBaseServer(ITProcessorFactory itProcessorFactory, TServerTransport serverTransport,
     TTransportFactory inputTransportFactory, TTransportFactory outputTransportFactory,
     ITProtocolFactory inputProtocolFactory, ITProtocolFactory outputProtocolFactory,
     ILogger logger, int clientWaitingDelay = 10)
     : base(itProcessorFactory, serverTransport, inputTransportFactory, outputTransportFactory,
         inputProtocolFactory, outputProtocolFactory, logger)
 {
     _clientWaitingDelay = clientWaitingDelay;
 }
Beispiel #3
0
 public TThreadPoolAsyncServer(ITProcessorFactory processorFactory,
                               TServerTransport serverTransport,
                               TTransportFactory transportFactory,
                               TProtocolFactory protocolFactory)
     : this(processorFactory, serverTransport,
            transportFactory, transportFactory,
            protocolFactory, protocolFactory,
            new Configuration())
 {
 }
Beispiel #4
0
 protected TBaseServer(ITProcessorFactory itProcessorFactory, TServerTransport serverTransport,
                       TTransportFactory inputTransportFactory, TTransportFactory outputTransportFactory,
                       ITProtocolFactory inputProtocolFactory, ITProtocolFactory outputProtocolFactory)
 {
     ItProcessorFactory     = itProcessorFactory ?? throw new ArgumentNullException(nameof(itProcessorFactory));
     ServerTransport        = serverTransport;
     InputTransportFactory  = inputTransportFactory ?? throw new ArgumentNullException(nameof(inputTransportFactory));
     OutputTransportFactory = outputTransportFactory ?? throw new ArgumentNullException(nameof(outputTransportFactory));
     InputProtocolFactory   = inputProtocolFactory ?? throw new ArgumentNullException(nameof(inputProtocolFactory));
     OutputProtocolFactory  = outputProtocolFactory ?? throw new ArgumentNullException(nameof(outputProtocolFactory));
 }
        public TThreadPoolAsyncServer(ITProcessorFactory processorFactory,
                                      TServerTransport serverTransport,
                                      TTransportFactory inputTransportFactory,
                                      TTransportFactory outputTransportFactory,
                                      TProtocolFactory inputProtocolFactory,
                                      TProtocolFactory outputProtocolFactory,
                                      Configuration threadConfig,
                                      ILogger logger = null)
            : base(processorFactory, serverTransport, inputTransportFactory, outputTransportFactory,
                   inputProtocolFactory, outputProtocolFactory, logger)
        {
#if !WINDOWS_UWP && !NETSTANDARD1_3
            lock (typeof(TThreadPoolAsyncServer))
            {
                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");
                    }
                }
            }
#endif
        }
Beispiel #6
0
 public TThreadPoolAsyncServer(ITProcessorFactory processorFactory,
                               TServerTransport serverTransport,
                               TTransportFactory inputTransportFactory,
                               TTransportFactory outputTransportFactory,
                               TProtocolFactory inputProtocolFactory,
                               TProtocolFactory outputProtocolFactory,
                               int minThreadPoolThreads, int maxThreadPoolThreads, ILogger logger = null)
     : this(processorFactory, serverTransport, inputTransportFactory, outputTransportFactory,
            inputProtocolFactory, outputProtocolFactory,
            new Configuration(minThreadPoolThreads, maxThreadPoolThreads),
            logger)
 {
 }
Beispiel #7
0
 protected TServer(ITProcessorFactory processorFactory, TServerTransport serverTransport,
                   TTransportFactory inputTransportFactory, TTransportFactory outputTransportFactory,
                   ITProtocolFactory inputProtocolFactory, ITProtocolFactory outputProtocolFactory,
                   ILogger logger = null)
 {
     ProcessorFactory       = processorFactory ?? throw new ArgumentNullException(nameof(processorFactory));
     ServerTransport        = serverTransport;
     InputTransportFactory  = inputTransportFactory ?? throw new ArgumentNullException(nameof(inputTransportFactory));
     OutputTransportFactory = outputTransportFactory ?? throw new ArgumentNullException(nameof(outputTransportFactory));
     InputProtocolFactory   = inputProtocolFactory ?? throw new ArgumentNullException(nameof(inputProtocolFactory));
     OutputProtocolFactory  = outputProtocolFactory ?? throw new ArgumentNullException(nameof(outputProtocolFactory));
     Logger = logger; // null is absolutely legal
 }
Beispiel #8
0
 public TSimpleAsyncServer(ITProcessorFactory itProcessorFactory,
                           TServerTransport serverTransport,
                           TTransportFactory inputTransportFactory,
                           TTransportFactory outputTransportFactory,
                           TProtocolFactory inputProtocolFactory,
                           TProtocolFactory outputProtocolFactory,
                           ILoggerFactory loggerFactory)
     : this(itProcessorFactory,
            serverTransport,
            inputTransportFactory,
            outputTransportFactory,
            inputProtocolFactory,
            outputProtocolFactory,
            loggerFactory.CreateLogger <TSimpleAsyncServer>())
 {
 }
Beispiel #9
0
 public TSimpleAsyncServer(ITProcessorFactory itProcessorFactory,
                           TServerTransport serverTransport,
                           TTransportFactory inputTransportFactory,
                           TTransportFactory outputTransportFactory,
                           TProtocolFactory inputProtocolFactory,
                           TProtocolFactory outputProtocolFactory,
                           ILogger logger)
     : base(itProcessorFactory,
            serverTransport,
            inputTransportFactory,
            outputTransportFactory,
            inputProtocolFactory,
            outputProtocolFactory,
            logger)
 {
 }
Beispiel #10
0
 public TSimpleAsyncServer(ITProcessorFactory itProcessorFactory,
                           TServerTransport serverTransport,
                           TTransportFactory inputTransportFactory,
                           TTransportFactory outputTransportFactory,
                           TProtocolFactory inputProtocolFactory,
                           TProtocolFactory outputProtocolFactory,
                           ILoggerFactory loggerFactory,
                           int clientWaitingDelay = 10)
     : this(itProcessorFactory,
            serverTransport,
            inputTransportFactory,
            outputTransportFactory,
            inputProtocolFactory,
            outputProtocolFactory,
            loggerFactory.CreateLogger <TSimpleAsyncServer>(),
            clientWaitingDelay)
 {
 }
Beispiel #11
0
        protected TBaseServer(ITProcessorFactory itProcessorFactory, TServerTransport serverTransport,
            TTransportFactory inputTransportFactory, TTransportFactory outputTransportFactory,
            ITProtocolFactory inputProtocolFactory, ITProtocolFactory outputProtocolFactory,
            ILogger logger)
        {
            if (itProcessorFactory == null) throw new ArgumentNullException(nameof(itProcessorFactory));
            if (inputTransportFactory == null) throw new ArgumentNullException(nameof(inputTransportFactory));
            if (outputTransportFactory == null) throw new ArgumentNullException(nameof(outputTransportFactory));
            if (inputProtocolFactory == null) throw new ArgumentNullException(nameof(inputProtocolFactory));
            if (outputProtocolFactory == null) throw new ArgumentNullException(nameof(outputProtocolFactory));
            if (logger == null) throw new ArgumentNullException(nameof(logger));

            ItProcessorFactory = itProcessorFactory;
            ServerTransport = serverTransport;
            InputTransportFactory = inputTransportFactory;
            OutputTransportFactory = outputTransportFactory;
            InputProtocolFactory = inputProtocolFactory;
            OutputProtocolFactory = outputProtocolFactory;
            Logger = logger;
        }
        protected TBaseServer(ITProcessorFactory itProcessorFactory, TServerTransport serverTransport,
                              TTransportFactory inputTransportFactory, TTransportFactory outputTransportFactory,
                              ITProtocolFactory inputProtocolFactory, ITProtocolFactory outputProtocolFactory,
                              ILogger logger)
        {
            if (itProcessorFactory == null)
            {
                throw new ArgumentNullException(nameof(itProcessorFactory));
            }
            if (inputTransportFactory == null)
            {
                throw new ArgumentNullException(nameof(inputTransportFactory));
            }
            if (outputTransportFactory == null)
            {
                throw new ArgumentNullException(nameof(outputTransportFactory));
            }
            if (inputProtocolFactory == null)
            {
                throw new ArgumentNullException(nameof(inputProtocolFactory));
            }
            if (outputProtocolFactory == null)
            {
                throw new ArgumentNullException(nameof(outputProtocolFactory));
            }
            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }

            ItProcessorFactory     = itProcessorFactory;
            ServerTransport        = serverTransport;
            InputTransportFactory  = inputTransportFactory;
            OutputTransportFactory = outputTransportFactory;
            InputProtocolFactory   = inputProtocolFactory;
            OutputProtocolFactory  = outputProtocolFactory;
            Logger = logger;
        }