public void SingleTwister() { var queue = new DuplexQueueStream(); using (var client = new MultiplexStream(queue)) using (var server = new MultiplexStream(queue.Peer)) TestUtils.RunTwister(client.Connect(), server.Accept()); }
public void ParallelTwister() { TestUtils.SetupLogging(); var queue = new DuplexQueueStream(); using (var client = new MultiplexStream(queue)) using (var server = new MultiplexStream(queue.Peer)) { for (int n = 1; n <= 10; ++n) { NLog.LogManager.GetCurrentClassLogger().Info("Running {0} parallel streams", n); var jobs = Enumerable.Range(0, n).Select(nn => { var subclient = client.Connect(); var subserver = server.Accept(); return(new Action(() => TestUtils.RunTwister(subclient, subserver, TimeSpan.FromSeconds(30)))); }).ToList(); Task.WhenAll(jobs.Select(job => Task.Run(job)).ToList()).Wait(); } } }
public void Twister() { var queue = new DuplexQueueStream(); TestUtils.RunTwister(queue, queue.Peer); }
public void Twister() { var queue = new DuplexQueueStream(); TestUtils.RunTwister(new DuplexBufferedStream(queue), new DuplexBufferedStream(queue.Peer)); }
public void Twister() { var queue = new DuplexQueueStream(); TestUtils.RunTwister(new PrefixStream("prefix", queue), new PrefixStream("prefix", queue.Peer)); }
public void Twister() { var queue = new DuplexQueueStream(); TestUtils.RunTwister(new ForceCancelStream(queue), new ForceCancelStream(queue.Peer)); }
public void Twister() { var queue = new DuplexQueueStream(); TestUtils.RunTwister(new CancellableStream(queue, new CancellationTokenSource().Token), new CancellableStream(queue.Peer, new CancellationTokenSource().Token)); }