/// <summary>
 /// Initializes a new instance of the <see cref="RoundTripTimeBasedRegionFailover{TAWSClient}"/> class.
 /// </summary>
 /// <param name="context">The <see cref="IPlugInContext"/> that contains configuration info, logger, metrics etc.</param>
 /// <param name="regionResetWindowInMillis">Time interval to reset region availability after failure.</param>
 /// <param name="createClient">Handler to create AWS service clients.</param>
 /// <param name="checkServiceReachable">Function to check service health.</param>
 public RoundTripTimeBasedRegionFailover(IPlugInContext context, long regionResetWindowInMillis,
                                         IFailoverStrategy <TAWSClient> .CreateClient createClient, IFailoverSink <TAWSClient> .CheckServiceReachable checkServiceReachable)
     : base(context, regionResetWindowInMillis, createClient)
 {
     // Check service health callback
     _checkServiceReachable = checkServiceReachable;
 }
コード例 #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="FailoverStrategy{TAWSClient}"/> class.
        /// </summary>
        /// <param name="context">The <see cref="IPlugInContext"/> that contains configuration info, logger, metrics etc.</param>
        /// <param name="regionResetWindowInMillis">Time interval to reset region availability after failure.</param>
        /// <param name="createClient">Handler to create AWS service clients.</param>
        public FailoverStrategy(IPlugInContext context, long regionResetWindowInMillis, IFailoverStrategy <TAWSClient> .CreateClient createClient)
        {
            _context = context;
            _logger  = context.Logger;

            _regionResetWindowInMillis = regionResetWindowInMillis;
            _createClient = createClient;

            // Parse supported regions
            ParseSupportedRegions();
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="WeightedLoadBalanceRegionFailover{TAWSClient}"/> class.
 /// </summary>
 /// <param name="context">The <see cref="IPlugInContext"/> that contains configuration info, logger, metrics etc.</param>
 /// <param name="regionResetWindowInMillis">Time interval to reset region availability after failure.</param>
 /// <param name="createClient">Handler to create AWS service clients.</param>
 public WeightedLoadBalanceRegionFailover(IPlugInContext context, long regionResetWindowInMillis, IFailoverStrategy <TAWSClient> .CreateClient createClient)
     : base(context, regionResetWindowInMillis, createClient)
 {
     // Parse supported regions weights
     ParseSupportedRegionsWeights();
 }
コード例 #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="LoadBalanceRegionFailover{TAWSClient}"/> class.
 /// </summary>
 /// <param name="context">The <see cref="IPlugInContext"/> that contains configuration info, logger, metrics etc.</param>
 /// <param name="regionResetWindowInMillis">Time interval to reset region availability after failure.</param>
 /// <param name="createClient">Handler to create AWS service clients.</param>
 public LoadBalanceRegionFailover(IPlugInContext context, long regionResetWindowInMillis, IFailoverStrategy <TAWSClient> .CreateClient createClient)
     : base(context, regionResetWindowInMillis, createClient)
 {
 }
コード例 #5
0
 public AzureServiceBusMessageSink(IFailoverStrategy sendStrategy)
 {
     this.sendStrategy = sendStrategy;
 }