Ejemplo n.º 1
0
 /// <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);
 }
Ejemplo n.º 2
0
 /// <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);
 }
Ejemplo n.º 3
0
 /// <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));
 }
Ejemplo n.º 4
0
        /// <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));
 }