Ejemplo n.º 1
0
        public async Task TestSendAsyncOneHandler_10_000_000()
        {
            var channel = new DirectChannel(provider.GetService <IApplicationContext>());

            var handler = new CounterHandler();

            channel.Subscribe(handler);
            var message = Message.Create("test");

            Assert.True(await channel.SendAsync(message));
            for (var i = 0; i < 10000000; i++)
            {
                await channel.SendAsync(message);
            }

            Assert.Equal(10000001, handler.Count);
        }
Ejemplo n.º 2
0
        public async Task TestSendAsync()
        {
            var target  = new ThreadNameExtractingTestTarget();
            var channel = new DirectChannel(provider.GetService <IApplicationContext>());

            channel.Subscribe(target);
            var message = Message.Create("test");

            Assert.True(await channel.SendAsync(message));
        }
Ejemplo n.º 3
0
        public async Task TestSendAsyncOneHandler_10_000_000()
        {
            var services = new ServiceCollection();

            services.AddSingleton <IIntegrationServices, IntegrationServices>();
            var provider = services.BuildServiceProvider();
            var channel  = new DirectChannel(provider);

            var handler = new CounterHandler();

            channel.Subscribe(handler);
            var message = new GenericMessage("test");

            Assert.True(await channel.SendAsync(message));
            for (var i = 0; i < 10000000; i++)
            {
                await channel.SendAsync(message);
            }

            Assert.Equal(10000001, handler.Count);
        }
Ejemplo n.º 4
0
    public async Task DirectChannel_SendAsync_10_000_000_SingleHandler()
    {
        var services = new ServiceCollection();

        services.AddSingleton <IIntegrationServices, IntegrationServices>();
        var provider      = services.BuildServiceProvider();
        var directChannel = new DirectChannel(provider);
        var handler       = new CounterHandler();

        directChannel.Subscribe(handler);
        var message = new GenericMessage("test");
        await directChannel.SendAsync(message);

        for (var i = 0; i < 10_000_000; i++)
        {
            await directChannel.SendAsync(message);
        }

        if (handler.Count != 10_000_000 + 1)
        {
            throw new InvalidOperationException("Handler count invalid");
        }
    }
Ejemplo n.º 5
0
        public async Task TestSendAsync()
        {
            var services = new ServiceCollection();

            services.AddSingleton <IIntegrationServices, IntegrationServices>();
            var provider = services.BuildServiceProvider();
            var target   = new ThreadNameExtractingTestTarget();
            var channel  = new DirectChannel(provider);

            channel.Subscribe(target);
            var message = new GenericMessage("test");

            Assert.True(await channel.SendAsync(message));
        }