public void Start()
        {
            var performanceLogger = new LoggerConfiguration()
                                    .WriteTo.RollingFile("perf.log")
                                    .CreateLogger();


            var eventHandler = new EventHandler("A");


            metricsEventHandler = new FixedSecondCountReporter <QueueItem>(
                new ISink[] {
                new SerilogSink(performanceLogger, "DemoBuffer"),
                new ColoredConsoleSink()
            },
                1);

            //disruptor = new Disruptor<QueueItem>(() => new QueueItem(), ringbufferSize, TaskScheduler.Default);

            disruptor = new Disruptor <QueueItem>(() => new QueueItem(), new SingleThreadedClaimStrategy(ringbufferSize), new BusySpinWaitStrategy(), TaskScheduler.Default);
            disruptor.HandleExceptionsWith(new FatalExceptionHandler());
            disruptor.HandleEventsWith(eventHandler, metricsEventHandler);


            ringBuffer = disruptor.Start();
            metricsEventHandler.Setup(ringBuffer);
        }
        public void Start()
        {
            metricsEventHandler = new FixedMessageCountReporter <QueueItem>(new ColoredConsoleSink(), 1000000);
            disruptor           = new Disruptor <QueueItem>(() => new QueueItem(), new SingleThreadedClaimStrategy(ringbufferSize), new BusySpinWaitStrategy(), TaskScheduler.Default);

            disruptor.HandleEventsWith(metricsEventHandler);

            ringBuffer = disruptor.Start();
            metricsEventHandler.Setup(ringBuffer);
        }
Beispiel #3
0
        public void Start()
        {
            var eventHandler = new EventHandler("A");


            metricsEventHandler = new FixedSecondCountReporter <QueueItem>(new ColoredConsoleSink(), 1);

            //disruptor = new Disruptor<QueueItem>(() => new QueueItem(), ringbufferSize, TaskScheduler.Default);

            disruptor = new Disruptor <QueueItem>(() => new QueueItem(), new SingleThreadedClaimStrategy(ringbufferSize), new BusySpinWaitStrategy(), TaskScheduler.Default);
            disruptor.HandleExceptionsWith(new FatalExceptionHandler());
            disruptor.HandleEventsWith(metricsEventHandler);


            ringBuffer = disruptor.Start();
            metricsEventHandler.Setup(ringBuffer);
        }