Exemple #1
0
        public LinkPullConsumer(
            ILinkConsumerBuilder consumerBuilder,
            TimeSpan getMessageTimeout,
            LinkTypeNameMapping typeNameMapping,
            ILinkSerializer serializer
            )
        {
            if (consumerBuilder == null)
            {
                throw new ArgumentNullException(nameof(consumerBuilder));
            }

            if (getMessageTimeout < TimeSpan.Zero && getMessageTimeout != Timeout.InfiniteTimeSpan)
            {
                throw new ArgumentOutOfRangeException(nameof(getMessageTimeout),
                                                      "Must be greater or equal zero or equal Timeout.InfiniteTimeSpan");
            }

            GetMessageTimeout = getMessageTimeout;
            _typeNameMapping  = typeNameMapping ?? throw new ArgumentNullException(nameof(typeNameMapping));
            _serializer       = serializer;

            _consumer = consumerBuilder
                        .ErrorStrategy(new LinkConsumerDefaultErrorStrategy())
                        .Handler(OnMessageReceived)
                        .OnStateChange(OnStateChanged)
                        .Build();
        }
 public LinkPullConsumerBuilder(
     ILinkConsumerBuilder consumerBuilder,
     LinkTypeNameMapping typeNameMapping,
     ILinkSerializer serializer,
     TimeSpan?getMessageTimeout = null
     )
 {
     _serializer        = serializer;
     _consumerBuilder   = consumerBuilder ?? throw new ArgumentNullException(nameof(consumerBuilder));
     _getMessageTimeout = getMessageTimeout ?? Timeout.InfiniteTimeSpan;
     _typeNameMapping   = typeNameMapping ?? throw new ArgumentNullException(nameof(typeNameMapping));
     _serializer        = serializer;
 }
 private LinkPullConsumerBuilder(
     LinkPullConsumerBuilder prev,
     ILinkConsumerBuilder consumerBuilder = null,
     LinkTypeNameMapping typeNameMapping  = null,
     ILinkSerializer serializer           = null,
     TimeSpan?getMessageTimeout           = null
     ) : this(
         consumerBuilder ?? prev._consumerBuilder,
         typeNameMapping ?? prev._typeNameMapping,
         serializer ?? prev._serializer,
         getMessageTimeout ?? prev._getMessageTimeout
         )
 {
 }
Exemple #4
0
 public RpcConsumer(ServiceLink link, ILinkConsumerBuilder builder, string queueName)
 {
     QueueName = queueName;
     _link     = link;
     _consumer = builder.Handler(Handle).Build();
 }