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
