/// <summary> /// Sets the key semaphore /// </summary> /// <typeparam name="TKeyType">The key types</typeparam> /// <param name="keySemaphore">A key semaphore</param> /// <returns>A SemaphoreWithKeyDecoratorBuilder</returns> public SemaphoreWithKeyDecoratorBuilder <TMessageType, TKeyType> KeySemaphore <TKeyType>(KeySemaphore <TKeyType> keySemaphore) { var newBuilder = new SemaphoreWithKeyDecoratorBuilder <TMessageType, TKeyType>().MaxNumberOfConcurrentMessages(this.maxNumberOfConcurrentMessages) .KeySemaphore(keySemaphore); this.buildFunc = newBuilder.Build; return(newBuilder); }
/// <summary> /// Sets an equality comparer /// </summary> /// <typeparam name="TKeyType">The key types</typeparam> /// <param name="equalityComparer"> /// The equality Comparer. /// </param> /// <returns>A SemaphoreWithKeyDecoratorBuilder</returns> public SemaphoreWithKeyDecoratorBuilder <TMessageType, TKeyType> EqualityComparer <TKeyType>(IEqualityComparer <TKeyType> equalityComparer) { var newBuilder = new SemaphoreWithKeyDecoratorBuilder <TMessageType, TKeyType>().MaxNumberOfConcurrentMessages(this.maxNumberOfConcurrentMessages) .EqualityComparer(equalityComparer); this.buildFunc = newBuilder.Build; return(newBuilder); }