TPL Dataflow: LinkTo

Will the output be the same or different for these two blocks of C# TPL Dataflow code?

            var firstBuffer = new BufferBlock<int>();
            var secondBuffer = new BufferBlock<int>();
            var msgBus = new ActionBlock<int>(i => Console.WriteLine(string.Join(" ", "MsgBus: ", i)));
            var logger = new ActionBlock<int>(i => Console.WriteLine(string.Join(" ", "Logger", i)));
            firstBuffer.LinkTo(secondBuffer);
            firstBuffer.LinkTo(logger);
            secondBuffer.LinkTo(msgBus);
            secondBuffer.LinkTo(logger);
            firstBuffer.Post(1);

            var firstBBuffer = new BroadcastBlock<int>(_ => _);
            var secondBBuffer = new BroadcastBlock<int>(_ => _);
            var msgBus = new ActionBlock<int>(i => Console.WriteLine(string.Join(" ", "MsgBus: ", i)));
            var logger = new ActionBlock<int>(i => Console.WriteLine(string.Join(" ", "Logger", i)));
            firstBBuffer.LinkTo(secondBBuffer);
            firstBBuffer.LinkTo(logger);
            secondBBuffer.LinkTo(msgBus);
            secondBBuffer.LinkTo(logger);
            firstBBuffer.Post(1);

Advertisement

~ by mdavey on December 13, 2010.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

 
Follow

Get every new post delivered to your Inbox.

Join 272 other followers