internal SocketConnectionListener( EndPoint endpoint, SocketTransportOptions options, ISocketsTrace trace) { EndPoint = endpoint; this.trace = trace; this.options = options; memoryPool = MemoryPool <byte> .Shared; 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)); } this.options = options.Value; var logger = loggerFactory.CreateLogger("Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets"); trace = new SocketsTrace(logger); }