public TransformationTraversalWithMonitor(ITransformationTraversal core, IMonitorFactory monitorFactory)
        {
            if (core == null)
            {
                throw new ArgumentNullException(nameof(core));
            }
            if (monitorFactory == null)
            {
                throw new ArgumentNullException(nameof(monitorFactory));
            }

            this.core = core;

            this.backlogCount    = monitorFactory.OpenPerformanceCounter("Traversal Backlog");
            this.rateOfEmbark    = monitorFactory.OpenPerformanceCounter("Traversal Embark per Second");
            this.rateOfDisembark = monitorFactory.OpenPerformanceCounter("Traversal Disembark per Second");
        }
Example #2
0
        public WordTransformer(ITransformationTraversalWithMonitor traversal,
                               ITransformationNodeFactory nodeFactory, IWordModulator wordModulator)
        {
            if (traversal == null)
            {
                throw new ArgumentNullException(nameof(traversal));
            }
            if (nodeFactory == null)
            {
                throw new ArgumentNullException(nameof(nodeFactory));
            }
            if (wordModulator == null)
            {
                throw new ArgumentNullException(nameof(wordModulator));
            }

            this.traversal     = traversal;
            this.nodeFactory   = nodeFactory;
            this.wordModulator = wordModulator;
        }