Esempio n. 1
0
        private static Tuple <ITargetBlock <string>, ISourceBlock <string> > SetupIrcDataflow()
        {
            var startpoint  = new TransformBlock <String, IrcMessage>(str => IrcMessageParser.Deserialize(str));
            var broadcaster = new BroadcastBlock <IrcMessage>(null);

            startpoint.LinkTo(broadcaster);
            var endpoint = new TransformBlock <IrcMessage, String>(msg => IrcMessageParser.Serialize(msg));

            Dataflows.InstallComplexPluginSystem(broadcaster, endpoint);
            Dataflows.InstallSimplePluginSystem(broadcaster, endpoint);

            return(Tuple.Create((ITargetBlock <string>)startpoint, (ISourceBlock <string>)endpoint));
        }