/// <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; }
/// <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(); }
/// <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) { }
public AzureServiceBusMessageSink(IFailoverStrategy sendStrategy) { this.sendStrategy = sendStrategy; }