public CompositeSubscription SubscribeAsync <T>(PriorityAsyncSubscriptionOption <T> subscriptionOption) { TryConnectBeforeSubscribing(); Func <IModel, IBasicConsumer> createConsumer = channel => _priorityConsumerManager.CreateAsyncConsumer(channel, subscriptionOption.SubscriptionName, subscriptionOption.MessageHandler, subscriptionOption.BatchSize <= 0 ? (ushort)1 : subscriptionOption.BatchSize); return(CreateSubscription <T>(subscriptionOption, createConsumer)); }
public void SubscribeAsync <T>(string subscriptionName, uint maxPriorityLevel, Action <T> onReceiveMessage, Type comparerType = null, ushort?batchSize = null) { TryConnectBeforeSubscribing(); Func <IModel, string, IBasicConsumer> createConsumer = (channel, consumerTag) => _priorityConsumerManager.CreateAsyncConsumer(channel, subscriptionName, onReceiveMessage, batchSize); CreateSubscription <T>(subscriptionName, maxPriorityLevel, createConsumer, comparerType); }