コード例 #1
0
        /// <summary>
        /// This method is the reason why SinkModule.create may return something that is
        /// not a Subscriber: a VirtualPublisher is used in order to avoid the immediate
        /// subscription a VirtualProcessor would perform (and it also saves overhead).
        /// </summary>
        public override object Create(MaterializationContext context, out IPublisher <TIn> materializer)
        {
            var processor = new VirtualProcessor <TIn>();

            materializer = processor;
            return(processor);
        }
コード例 #2
0
ファイル: Modules.cs プロジェクト: marcpiechura/akka.net
        /// <summary>
        /// TBD
        /// </summary>
        /// <param name="context">TBD</param>
        /// <param name="materializer">TBD</param>
        /// <returns>TBD</returns>
        public override IPublisher <TOut> Create(MaterializationContext context, out ISubscriber <TOut> materializer)
        {
            var processor = new VirtualProcessor <TOut>();

            materializer = processor;
            return(processor);
        }
コード例 #3
0
        public override IProcessor <int?, int?> CreateIdentityProcessor(int bufferSize)
        {
            var materializer = ActorMaterializer.Create(System);
            var identity     = Flow.Create <int?>().Select(x => x).Named("identity").ToProcessor().Run(materializer);
            var left         = new VirtualProcessor <int?>();
            var right        = new VirtualProcessor <int?>();

            left.Subscribe(identity);
            identity.Subscribe(right);
            return(ProcessorFromSubscriberAndPublisher(left, right));
        }