internal SocketConnectionListener( EndPoint endpoint, SocketTransportOptions options, ISocketsTrace trace) { EndPoint = endpoint; _trace = trace; _options = options; _memoryPool = _options.MemoryPoolFactory(); var ioQueueCount = options.IOQueueCount; if (ioQueueCount > 0) { _numSchedulers = ioQueueCount; _schedulers = new IOQueue[_numSchedulers]; for (var i = 0; i < _numSchedulers; i++) { _schedulers[i] = new IOQueue(); } } else { var directScheduler = new PipeScheduler[] { PipeScheduler.ThreadPool }; _numSchedulers = directScheduler.Length; _schedulers = directScheduler; } }
public SocketTransportFactory( IOptions <SocketTransportOptions> options, ILoggerFactory loggerFactory) { if (options == null) { throw new ArgumentNullException(nameof(options)); } if (loggerFactory == null) { throw new ArgumentNullException(nameof(loggerFactory)); } _options = options.Value; var logger = loggerFactory.CreateLogger("Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets"); _trace = new SocketsTrace(logger); }