コード例 #1
0
        public async Task TestBlocking2()
        {
            var slowFlow = new SlowFlow(new DataflowOptions
                                            {
                                                FlowMonitorEnabled = true,
                                                MonitorInterval = TimeSpan.FromSeconds(5),
                                                RecommendedCapacity = 2
                                            });

            await slowFlow.SendAsync("a");
            await slowFlow.SendAsync("a");
            await slowFlow.SendAsync("a");
            await slowFlow.SendAsync("a");
            await slowFlow.SendAsync("a");
            await slowFlow.SendAsync("a");
            
            //Assert.IsTrue(slowFlow.Post("a"));
        }
コード例 #2
0
        public async Task TestBlocking1()
        {
            var slowFlow = new SlowFlow(new DataflowOptions
            {
                FlowMonitorEnabled  = true,
                MonitorInterval     = TimeSpan.FromSeconds(5),
                RecommendedCapacity = 2
            });

            Assert.IsTrue(slowFlow.Post("a"));
            Assert.IsTrue(slowFlow.Post("a"));
            Assert.IsFalse(slowFlow.Post("a"));
            Assert.IsFalse(slowFlow.Post("a"));
            Assert.IsFalse(slowFlow.Post("a"));
            Assert.IsFalse(slowFlow.Post("a"));

            await Task.Delay(2000);

            Assert.IsTrue(slowFlow.Post("a"));
        }
コード例 #3
0
        public async Task TestBlocking1()
        {
            var slowFlow = new SlowFlow(new DataflowOptions
                                            {
                                                FlowMonitorEnabled = true,
                                                MonitorInterval = TimeSpan.FromSeconds(5),
                                                RecommendedCapacity = 2
                                            });

            Assert.IsTrue(slowFlow.Post("a"));
            Assert.IsTrue(slowFlow.Post("a"));
            Assert.IsFalse(slowFlow.Post("a"));
            Assert.IsFalse(slowFlow.Post("a"));
            Assert.IsFalse(slowFlow.Post("a"));
            Assert.IsFalse(slowFlow.Post("a"));

            await Task.Delay(2000);

            Assert.IsTrue(slowFlow.Post("a"));
        }
コード例 #4
0
        public async Task TestBlocking2()
        {
            var slowFlow = new SlowFlow(new DataflowOptions
            {
                FlowMonitorEnabled  = true,
                MonitorInterval     = TimeSpan.FromSeconds(5),
                RecommendedCapacity = 2
            });

            await slowFlow.SendAsync("a");

            await slowFlow.SendAsync("a");

            await slowFlow.SendAsync("a");

            await slowFlow.SendAsync("a");

            await slowFlow.SendAsync("a");

            await slowFlow.SendAsync("a");

            //Assert.IsTrue(slowFlow.Post("a"));
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: charles-schrupp/DataflowEx
 public static async Task SlowFlowAsync()
 {
     var slowFlow = new SlowFlow( new DataflowOptions
                 {
                     FlowMonitorEnabled = true, 
                     BlockMonitorEnabled = true,
                     MonitorInterval = TimeSpan.FromSeconds(2),
                     PerformanceMonitorMode = DataflowOptions.PerformanceLogMode.Verbose
                 });
     
     await slowFlow.ProcessAsync(new[]
                                     {
                                         "abcd", 
                                         "abc", 
                                         "ab", 
                                         "a"
                                     });
     
 }