Пример #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="CommandRunner"/> class. 
        /// </summary>
        /// <param name="processor">The <see cref="IMessageProcessor"/>.</param>
        /// <param name="receiver">The <see cref="ICommandReceiver"/>.</param>
        /// <param name="degreeOfParallelism">The maximum degree of parallelism.</param>
        public CommandRunner(IMessageProcessor processor, ICommandReceiver receiver, int degreeOfParallelism)
        {
            if (processor == null)
            {
                throw new ArgumentNullException("processor");
            }

            if (receiver == null)
            {
                throw new ArgumentNullException("receiver");
            }

            if (degreeOfParallelism <= 0)
            {
                throw new ArgumentOutOfRangeException("degreeOfParallelism");
            }

            this.runners = new CommandQueueRunner[degreeOfParallelism];
            this.receiver = receiver;
            for (int i = 0; i < this.runners.Length; i++)
            {
                var runner = new CommandQueueRunner(processor, receiver);
                this.runners[i] = runner;
            }
        }
Пример #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="CommandRunner"/> class.
        /// </summary>
        /// <param name="processor">The <see cref="IMessageProcessor"/>.</param>
        /// <param name="receiver">The <see cref="ICommandReceiver"/>.</param>
        /// <param name="degreeOfParallelism">The maximum degree of parallelism.</param>
        public CommandRunner(IMessageProcessor processor, ICommandReceiver receiver, int degreeOfParallelism)
        {
            if (processor == null)
            {
                throw new ArgumentNullException("processor");
            }

            if (receiver == null)
            {
                throw new ArgumentNullException("receiver");
            }

            if (degreeOfParallelism <= 0)
            {
                throw new ArgumentOutOfRangeException("degreeOfParallelism");
            }

            this.runners  = new CommandQueueRunner[degreeOfParallelism];
            this.receiver = receiver;
            for (int i = 0; i < this.runners.Length; i++)
            {
                var runner = new CommandQueueRunner(processor, receiver);
                this.runners[i] = runner;
            }
        }