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 LinkConsumerBuilder( Link link, TimeSpan recoveryInterval, ILinkSerializer serializer, ushort?prefetchCount = null, bool?autoAck = null, int?priority = null, bool?cancelOnHaFailover = null, bool?exclusive = null, ILinkConsumerErrorStrategy errorStrategy = null, LinkConsumerMessageHandlerBuilder messageHandlerBuilder = null, ILinkConsumerTopologyHandler topologyHandler = null, LinkStateHandler <LinkConsumerState> stateHandler = null, LinkStateHandler <LinkChannelState> channelStateHandler = null, LinkTypeNameMapping typeNameMapping = null ) { _link = link ?? throw new ArgumentNullException(nameof(link)); _reconveryInterval = recoveryInterval; _prefetchCount = prefetchCount ?? 1; _autoAck = autoAck ?? false; _priority = priority ?? 0; _cancelOnHaFailover = cancelOnHaFailover ?? false; _exclusive = exclusive ?? false; _errorStrategy = errorStrategy ?? new LinkConsumerDefaultErrorStrategy(); _messageHandlerBuilder = messageHandlerBuilder; _topologyHandler = topologyHandler; _stateHandler = stateHandler ?? ((old, @new) => { }); _channelStateHandler = channelStateHandler ?? ((old, @new) => { }); _serializer = serializer; _typeNameMapping = typeNameMapping ?? new LinkTypeNameMapping(); }
private LinkConsumerBuilder( LinkConsumerBuilder prev, TimeSpan?recoveryInterval = null, ushort?prefetchCount = null, bool?autoAck = null, int?priority = null, bool?cancelOnHaFailover = null, bool?exclusive = null, ILinkConsumerErrorStrategy errorStrategy = null, LinkConsumerMessageHandlerBuilder messageHandlerBuilder = null, ILinkConsumerTopologyHandler topologyHandler = null, LinkStateHandler <LinkConsumerState> stateHandler = null, LinkStateHandler <LinkChannelState> channelStateHandler = null, ILinkSerializer serializer = null, LinkTypeNameMapping typeNameMapping = null ) : this ( prev._link, recoveryInterval ?? prev._reconveryInterval, serializer ?? prev._serializer, prefetchCount ?? prev._prefetchCount, autoAck ?? prev._autoAck, priority ?? prev._priority, cancelOnHaFailover ?? prev._cancelOnHaFailover, exclusive ?? prev._exclusive, errorStrategy ?? prev._errorStrategy, messageHandlerBuilder ?? prev._messageHandlerBuilder, topologyHandler ?? prev._topologyHandler, stateHandler ?? prev._stateHandler, channelStateHandler ?? prev._channelStateHandler, typeNameMapping ?? prev._typeNameMapping ) { }
public LinkTypeNameMapBuilder(LinkTypeNameMapping mapping = null) { if (mapping != null) { _map = mapping; } }
private LinkProducerBuilder ( LinkProducerBuilder prev, TimeSpan?recoveryInterval = null, TimeSpan?publishTimeout = null, bool?confirmsMode = null, bool?setUserId = null, ILinkMessageIdGenerator messageIdGenerator = null, LinkPublishProperties publishProperties = null, LinkMessageProperties messageProperties = null, ILinkProducerTopologyHandler topologyHandler = null, LinkStateHandler <LinkProducerState> stateHandler = null, LinkStateHandler <LinkChannelState> channelStateHandler = null, ILinkSerializer serializer = null, LinkTypeNameMapping typeNameMapping = null ) : this ( prev._link, recoveryInterval ?? prev._recoveryInterval, serializer ?? prev._serializer, publishTimeout ?? prev._publishTimeout, confirmsMode ?? prev._confirmsMode, setUserId ?? prev._setUserId, messageIdGenerator ?? prev._messageIdGenerator, publishProperties ?? prev._publishProperties.Clone(), messageProperties ?? prev._messageProperties.Clone(), topologyHandler ?? prev._topologyHandler, stateHandler ?? prev._stateHandler, channelStateHandler ?? prev._channelStateHandler, typeNameMapping ?? prev._typeNameMapping ) { }
public LinkProducerBuilder ( Link link, TimeSpan recoveryInterval, ILinkSerializer serializer, TimeSpan?publishTimeout = null, bool?confirmsMode = null, bool?setUserId = null, ILinkMessageIdGenerator messageIdGenerator = null, LinkPublishProperties publishProperties = null, LinkMessageProperties messageProperties = null, ILinkProducerTopologyHandler topologyHandler = null, LinkStateHandler <LinkProducerState> stateHandler = null, LinkStateHandler <LinkChannelState> channelStateHandler = null, LinkTypeNameMapping typeNameMapping = null ) { _link = link ?? throw new ArgumentNullException(nameof(link)); _confirmsMode = confirmsMode ?? false; _setUserId = setUserId ?? true; _publishTimeout = publishTimeout ?? Timeout.InfiniteTimeSpan; _recoveryInterval = recoveryInterval; _messageIdGenerator = messageIdGenerator ?? new LinkGuidMessageIdGenerator(); _publishProperties = publishProperties ?? new LinkPublishProperties(); _messageProperties = messageProperties ?? new LinkMessageProperties(); _topologyHandler = topologyHandler; _stateHandler = stateHandler ?? ((old, @new) => { }); _channelStateHandler = channelStateHandler ?? ((old, @new) => { }); _serializer = serializer; _typeNameMapping = typeNameMapping ?? new LinkTypeNameMapping(); }
public ILinkProducerConfigurationBuilder TypeNameMap(IDictionary<Type, string> values) { if (values == null) throw new ArgumentNullException(nameof(values)); var mapping = new LinkTypeNameMapping(values); Configuration.TypeNameMapping.Clear(); Configuration.TypeNameMapping.Set(mapping); return this; }
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 ) { }
public LinkProducerConfiguration( TimeSpan publishTimeout, TimeSpan recoveryInterval, ILinkMessageIdGenerator messageIdGenerator, bool confirmsMode, bool setUserId, LinkPublishProperties publishProperties, LinkMessageProperties messageProperties, ILinkProducerTopologyHandler topologyHandler, LinkStateHandler <LinkProducerState> stateHandler, ILinkSerializer serializer, LinkTypeNameMapping typeNameMapping ) { if (publishTimeout < TimeSpan.Zero && publishTimeout != Timeout.InfiniteTimeSpan) { throw new ArgumentOutOfRangeException(nameof(publishTimeout), "Must be greater or equal TimeSpan.Zero or equal Timeout.InfiniteTimeSpan"); } if (recoveryInterval < TimeSpan.Zero) { throw new ArgumentOutOfRangeException(nameof(recoveryInterval), "Must be greater than TimeSpan.Zero"); } PublishTimeout = publishTimeout; RecoveryInterval = recoveryInterval; MessageIdGenerator = messageIdGenerator ?? throw new ArgumentNullException(nameof(messageIdGenerator)); ConfirmsMode = confirmsMode; SetUserId = setUserId; _publishProperties = publishProperties ?? throw new ArgumentNullException(nameof(publishProperties)); _messageProperties = messageProperties ?? throw new ArgumentNullException(nameof(messageProperties)); TopologyHandler = topologyHandler ?? throw new ArgumentNullException(nameof(topologyHandler)); StateHandler = stateHandler ?? throw new ArgumentNullException(nameof(stateHandler)); Serializer = serializer; TypeNameMapping = typeNameMapping ?? throw new ArgumentNullException(nameof(typeNameMapping)); }
public ILinkTypeNameMapBuilder Set(Type type, string name) { _map = _map.Set(type, name); return(this); }
public ILinkTypeNameMapBuilder Clear() { _map = new LinkTypeNameMapping(); return(this); }