/// <inheritdoc/> Backend IDeepCloneable <Backend> .DeepClone() { return(new Backend { Id = Id, CircuitBreakerOptions = CircuitBreakerOptions?.DeepClone(), QuotaOptions = QuotaOptions?.DeepClone(), PartitioningOptions = PartitioningOptions?.DeepClone(), LoadBalancing = LoadBalancing?.DeepClone(), HealthCheckOptions = HealthCheckOptions?.DeepClone(), Destinations = Destinations.DeepClone(StringComparer.Ordinal), Metadata = Metadata?.DeepClone(StringComparer.Ordinal), }); }
/// <inheritdoc/> Cluster IDeepCloneable <Cluster> .DeepClone() { return(new Cluster { Id = Id, CircuitBreakerOptions = CircuitBreakerOptions?.DeepClone(), QuotaOptions = QuotaOptions?.DeepClone(), PartitioningOptions = PartitioningOptions?.DeepClone(), LoadBalancing = LoadBalancing?.DeepClone(), SessionAffinity = SessionAffinity?.DeepClone(), HealthCheckOptions = HealthCheckOptions?.DeepClone(), Destinations = Destinations.DeepClone(StringComparer.Ordinal), Metadata = Metadata?.DeepClone(StringComparer.Ordinal), }); }
internal static bool Equals(HealthCheckOptions options1, HealthCheckOptions options2) { if (options1 == null && options2 == null) { return(true); } if (options1 == null || options2 == null) { return(false); } return(PassiveHealthCheckOptions.Equals(options1.Passive, options2.Passive) && ActiveHealthCheckOptions.Equals(options1.Active, options2.Active)); }
internal static bool Equals(HealthCheckOptions options1, HealthCheckOptions options2) { if (options1 == null && options2 == null) { return(true); } if (options1 == null || options2 == null) { return(false); } return(options1.Enabled == options2.Enabled && options1.Interval == options2.Interval && options1.Timeout == options2.Timeout && options1.Port == options2.Port && string.Equals(options1.Path, options2.Path, StringComparison.OrdinalIgnoreCase)); }
internal static bool Equals(Cluster cluster1, Cluster cluster2) { if (cluster1 == null && cluster2 == null) { return(true); } if (cluster1 == null || cluster2 == null) { return(false); } return(string.Equals(cluster1.Id, cluster2.Id, StringComparison.OrdinalIgnoreCase) && LoadBalancingOptions.Equals(cluster1.LoadBalancing, cluster2.LoadBalancing) && SessionAffinityOptions.Equals(cluster1.SessionAffinity, cluster2.SessionAffinity) && HealthCheckOptions.Equals(cluster1.HealthCheck, cluster2.HealthCheck) && ProxyHttpClientOptions.Equals(cluster1.HttpClient, cluster2.HttpClient) && ProxyHttpRequestOptions.Equals(cluster1.HttpRequest, cluster2.HttpRequest) && CaseInsensitiveEqualHelper.Equals(cluster1.Destinations, cluster2.Destinations, Destination.Equals) && CaseInsensitiveEqualHelper.Equals(cluster1.Metadata, cluster2.Metadata)); }