public SequentialInputSource(GetInputStream resourceFactory, ITelemetryCryptoProvider cryptoProvider) { _resourceFactory = resourceFactory; _cryptoProvider = cryptoProvider; readerThread = new Thread(ThreadBody); readerThread.Name = "SequentialInputSource"; readerThread.Start(); }
public MultiplexInputSource(GetInputStream endpointConnection, ITelemetryCryptoProvider cryptoProvider) { _endpointConnection = endpointConnection; _cryptoProvider = cryptoProvider; packageProcessor = new QueuedMultiThreadProcessorWithDispatchCapabilities <byte[]>( Environment.ProcessorCount, 250, ThreadPriority.Highest, (package) => OnPackageReceived?.Invoke(package), dispatchLimit: Environment.ProcessorCount * 2, threadDescription: "MultiplexInputSource_Read"); packageReader = new MultiThreadProcessor(ThreadPriority.Highest, ReadPackages); }