/// <summary> /// Register a state changed handler. /// </summary> public static IProducerBuilder <TMessage> StateChangedHandler <TMessage>( this IProducerBuilder <TMessage> builder, Func <ProducerStateChanged, CancellationToken, ValueTask> handler, CancellationToken cancellationToken = default) { builder.StateChangedHandler(new FuncStateChangedHandler <ProducerStateChanged>(handler, cancellationToken)); return(builder); }
/// <summary> /// Register a state changed handler. /// </summary> public static IProducerBuilder <TMessage> StateChangedHandler <TMessage>( this IProducerBuilder <TMessage> builder, Action <ProducerStateChanged, CancellationToken> handler, CancellationToken cancellationToken = default) { builder.StateChangedHandler(new ActionStateChangedHandler <ProducerStateChanged>(handler, cancellationToken)); return(builder); }
/// <summary> /// Uses REDIS producer channel. /// </summary> /// <param name="builder">The builder.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <param name="logger">The logger.</param> /// <param name="configuration">The configuration.</param> /// <param name="resiliencePolicy">The resilience policy.</param> /// <param name="endpointEnvKey">The endpoint env key.</param> /// <param name="passwordEnvKey">The password env key.</param> /// <returns></returns> /// <exception cref="NotImplementedException"></exception> public static IProducerOptionsBuilder UseRedisProducerChannel( this IProducerBuilder builder, CancellationToken cancellationToken, ILogger?logger = null, Action <ConfigurationOptions>?configuration = null, AsyncPolicy?resiliencePolicy = null, string endpointEnvKey = PRODUCER_END_POINT_KEY, string passwordEnvKey = PRODUCER_PASSWORD_KEY) { return(UseRedisProducerChannel(builder, logger, configuration, resiliencePolicy, cancellationToken, endpointEnvKey, passwordEnvKey)); }
/// <summary> /// Uses REDIS producer channel. /// </summary> /// <param name="builder">The builder.</param> /// <param name="logger">The logger.</param> /// <param name="configuration">The configuration.</param> /// <param name="resiliencePolicy">The resilience policy.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <param name="endpointEnvKey">The endpoint env key.</param> /// <param name="passwordEnvKey">The password env key.</param> /// <returns></returns> /// <exception cref="NotImplementedException"></exception> public static IProducerOptionsBuilder UseRedisProducerChannel( this IProducerBuilder builder, ILogger?logger = null, Action <ConfigurationOptions>?configuration = null, AsyncPolicy?resiliencePolicy = null, CancellationToken cancellationToken = default, string endpointEnvKey = PRODUCER_END_POINT_KEY, string passwordEnvKey = PRODUCER_PASSWORD_KEY) { var channel = new RedisProducerChannel( logger ?? EventSourceFallbakLogger.Default, configuration, resiliencePolicy, endpointEnvKey, passwordEnvKey); cancellationToken.ThrowIfCancellationRequested(); IProducerOptionsBuilder result = builder.UseChannel(channel); return(result); }
public static IProducerOptionsBuilder UseTestProducerChannel( this IProducerBuilder builder) { return(builder.UseChannel(_producerChannel)); }