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; }
public AsyncPlayerTest() { var ioServiceScheduler = new IoServiceScheduler(); var threadPoolScheduler = new IoServiceThreadPoolScheduler(ioServiceScheduler, 1); var externalProxyScheduler = new ProxyScheduler(threadPoolScheduler); m_proxyEngine = new ProxyEngine(threadPoolScheduler); createActors(); }
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); }
static void Main(string[] args) { ServicePointManager.ServerCertificateValidationCallback = TrustCertificate; var harFile = string.Format("SharpProxy.{0}.har", DateTime.Now.ToString("yyyyMMddh.hhmmss")); harFile = "SharpProxy.har"; var inspector = new HarProxyInspector(); _proxy = ProxyEngine.New(proxyInspector: inspector); Task.Run((Action)MakeRequest); while (!_done) { //Console.Write("."); Thread.Sleep(100); } using (var fs = File.Open(harFile, FileMode.Create)) inspector.SaveTo(fs); Console.WriteLine(); Console.WriteLine("CurDir: " + Environment.CurrentDirectory); Console.WriteLine("Done!"); Console.ReadKey(); }
public BookLineConsumerFactory(ICountWordAggregateActor aggregateActor, ProxyEngine proxyEngine) { m_aggregateActor = aggregateActor ?? throw new ArgumentNullException(nameof(aggregateActor)); m_proxyEngine = proxyEngine ?? throw new ArgumentNullException(nameof(proxyEngine)); }