public ConsistentRingQueueBalancer( IConsistentRingProviderForGrains ringProvider, IStreamQueueMapper queueMapper) { if (ringProvider == null) { throw new ArgumentNullException("ringProvider"); } if (queueMapper == null) { throw new ArgumentNullException("queueMapper"); } _streamQueueMapper = queueMapper; _myRange = ringProvider.GetMyRange(); ringProvider.SubscribeToRangeChangeEvents(this); }
public ConsistentRingQueueBalancer( IConsistentRingProviderForGrains ringProvider, IStreamQueueMapper queueMapper) { if (ringProvider == null) { throw new ArgumentNullException("ringProvider"); } if (queueMapper == null) { throw new ArgumentNullException("queueMapper"); } if (!(queueMapper is IConsistentRingStreamQueueMapper)) { throw new ArgumentException("queueMapper for ConsistentRingQueueBalancer should implement IConsistentRingStreamQueueMapper", "queueMapper"); } streamQueueMapper = (IConsistentRingStreamQueueMapper)queueMapper; myRange = ringProvider.GetMyRange(); ringProvider.SubscribeToRangeChangeEvents(this); }