public override int GetHashCode()
                {
                    int hash = 1;

                    if (Priority != global::Envoy.Api.V3Alpha.Core.RoutingPriority.Default)
                    {
                        hash ^= Priority.GetHashCode();
                    }
                    if (maxConnections_ != null)
                    {
                        hash ^= MaxConnections.GetHashCode();
                    }
                    if (maxPendingRequests_ != null)
                    {
                        hash ^= MaxPendingRequests.GetHashCode();
                    }
                    if (maxRequests_ != null)
                    {
                        hash ^= MaxRequests.GetHashCode();
                    }
                    if (maxRetries_ != null)
                    {
                        hash ^= MaxRetries.GetHashCode();
                    }
                    if (TrackRemaining != false)
                    {
                        hash ^= TrackRemaining.GetHashCode();
                    }
                    if (maxConnectionPools_ != null)
                    {
                        hash ^= MaxConnectionPools.GetHashCode();
                    }
                    if (_unknownFields != null)
                    {
                        hash ^= _unknownFields.GetHashCode();
                    }
                    return(hash);
                }
 /// <summary>
 /// Gets the hash code
 /// </summary>
 /// <returns>Hash code</returns>
 public override int GetHashCode()
 {
     unchecked // Overflow is fine, just wrap
     {
         var hashCode = 41;
         // Suitable nullity checks etc, of course :)
         if (MessageProperties != null)
         {
             hashCode = hashCode * 59 + MessageProperties.GetHashCode();
         }
         if (MessageBoxSizeLimit != null)
         {
             hashCode = hashCode * 59 + MessageBoxSizeLimit.GetHashCode();
         }
         if (MessageCountLimit != null)
         {
             hashCode = hashCode * 59 + MessageCountLimit.GetHashCode();
         }
         if (NotifyFailure != null)
         {
             hashCode = hashCode * 59 + NotifyFailure.GetHashCode();
         }
         if (FailureMessageFrom != null)
         {
             hashCode = hashCode * 59 + FailureMessageFrom.GetHashCode();
         }
         if (FailureTemplatePath != null)
         {
             hashCode = hashCode * 59 + FailureTemplatePath.GetHashCode();
         }
         if (MaxRetries != null)
         {
             hashCode = hashCode * 59 + MaxRetries.GetHashCode();
         }
         if (MinWaitBetweenRetries != null)
         {
             hashCode = hashCode * 59 + MinWaitBetweenRetries.GetHashCode();
         }
         if (CountUpdatePoolSize != null)
         {
             hashCode = hashCode * 59 + CountUpdatePoolSize.GetHashCode();
         }
         if (InboxPath != null)
         {
             hashCode = hashCode * 59 + InboxPath.GetHashCode();
         }
         if (SentitemsPath != null)
         {
             hashCode = hashCode * 59 + SentitemsPath.GetHashCode();
         }
         if (SupportAttachments != null)
         {
             hashCode = hashCode * 59 + SupportAttachments.GetHashCode();
         }
         if (SupportGroupMessaging != null)
         {
             hashCode = hashCode * 59 + SupportGroupMessaging.GetHashCode();
         }
         if (MaxTotalRecipients != null)
         {
             hashCode = hashCode * 59 + MaxTotalRecipients.GetHashCode();
         }
         if (BatchSize != null)
         {
             hashCode = hashCode * 59 + BatchSize.GetHashCode();
         }
         if (MaxTotalAttachmentSize != null)
         {
             hashCode = hashCode * 59 + MaxTotalAttachmentSize.GetHashCode();
         }
         if (AttachmentTypeBlacklist != null)
         {
             hashCode = hashCode * 59 + AttachmentTypeBlacklist.GetHashCode();
         }
         if (AllowedAttachmentTypes != null)
         {
             hashCode = hashCode * 59 + AllowedAttachmentTypes.GetHashCode();
         }
         if (ServiceSelector != null)
         {
             hashCode = hashCode * 59 + ServiceSelector.GetHashCode();
         }
         if (FieldWhitelist != null)
         {
             hashCode = hashCode * 59 + FieldWhitelist.GetHashCode();
         }
         return(hashCode);
     }
 }