Пример #1
0
 public override void InitializeTest()
 {
     m_ioService      = new IoServiceScheduler();
     m_threadPool     = new IoServiceThreadPoolScheduler(m_ioService);
     m_proxyScheduler = new ProxyScheduler(m_threadPool);
     base.InitializeTest();
 }
Пример #2
0
        public async Task Run()
        {
            var ioService   = new IoServiceScheduler();
            var threadPool  = new IoServiceThreadPoolScheduler(ioService);
            var proxyEngine = new ProxyEngine(threadPool);

            ILibraryActor library = new LibraryActor();

            library = proxyEngine.CreateProxy(library);

            IResultProcessorActor resultProcessorActor = new PrintTopWordsProcessorActor();

            resultProcessorActor = proxyEngine.CreateProxy(resultProcessorActor);

            ICountWordAggregateActor aggregateWordCountActor = new WordCountAggregateActor(resultProcessorActor, BookLinesParserActor.NUMBER_OF_CONSUMERS);

            aggregateWordCountActor = proxyEngine.CreateProxy(aggregateWordCountActor);

            IBookLinesParserActor linesParserActor = new BookLinesParserActor(library, new BookLineConsumerFactory(aggregateWordCountActor, proxyEngine));

            linesParserActor = proxyEngine.CreateProxy(linesParserActor);

            library.AddBook(BOOK_NAME);

            await linesParserActor.ProcessLastBook().ConfigureAwait(false);


            linesParserActor.Complete();

            await resultProcessorActor.Completed;
        }
Пример #3
0
        public ConsoleRunner()
        {
            m_scheduler = new IoServiceScheduler();
            var proxyScheduler = new ProxyScheduler(m_scheduler);

            m_synchContext = new LogSynchronizationContextDecorator(
                new IoServiceSynchronizationContext(m_scheduler, disposeIoServiceAfterComplete: true));
        }
Пример #4
0
        public AsyncPlayerTest()
        {
            var ioServiceScheduler = new IoServiceScheduler();

            var threadPoolScheduler    = new IoServiceThreadPoolScheduler(ioServiceScheduler, 1);
            var externalProxyScheduler = new ProxyScheduler(threadPoolScheduler);

            m_proxyEngine = new ProxyEngine(threadPoolScheduler);
            createActors();
        }
Пример #5
0
        private static void runSimpleUploaderActor()
        {
            const int NUMBER_OF_THREADS = 1;
            var       ioService         = new IoServiceScheduler();
            var       primaryScheduler  = new IoServiceThreadPoolScheduler(ioService, NUMBER_OF_THREADS);
            var       proxyScheduler    = new ProxyScheduler(primaryScheduler);

            var proxyEngine         = new ProxyEngine(primaryScheduler);
            var simpleUploaderActor = new SimpleUploaderActor();

            var uploaderActorProxy = proxyEngine.CreateProxy <IService>(simpleUploaderActor);

            runSimpleUploader(uploaderActorProxy);
        }
Пример #6
0
 public override void InitializeTest()
 {
     m_scheduler      = new IoServiceScheduler();
     m_proxyScheduler = new ProxyScheduler(m_scheduler);
     base.InitializeTest();
 }
Пример #7
0
 public LogCoroutineTester()
 {
     m_scheduler      = new IoServiceScheduler();
     m_proxyScheduler = new ProxyScheduler(m_scheduler);
     m_coroutine      = new Coroutine(m_scheduler);
 }
Пример #8
0
 public Coroutine(IoServiceScheduler ioServiceScheduler)
 {
     m_ioServiceScheduler = ioServiceScheduler;
 }
        protected override ITaskScheduler CreateInnerScheduler()
        {
            var ioService = new IoServiceScheduler();

            return(new IoServiceThreadPoolScheduler(ioService, NUMBER_OF_THREADS_IN_IMPLICIT_STRAND));
        }