private bool EqualFields(IgmpQueryVersion3Layer other) { if (other != null && this.GroupAddress == other.GroupAddress && (this.IsSuppressRouterSideProcessing == other.IsSuppressRouterSideProcessing && (int)this.QueryRobustnessVariable == (int)other.QueryRobustnessVariable) && (TimeSpanExtensions.Divide(this.QueryInterval, 2.0) <= other.QueryInterval && TimeSpanExtensions.Multiply(this.QueryInterval, 2.0) >= other.QueryInterval)) { return(Enumerable.SequenceEqual <IpV4Address>((IEnumerable <IpV4Address>) this.SourceAddresses, (IEnumerable <IpV4Address>)other.SourceAddresses)); } return(false); }
/// <summary> /// true iff the GroupAddress, IsSuppressRouterSideProcessing, QueryRobustnessVariable and SourceAddresses fields are equal /// and the QueryInterval is similar. /// </summary> private bool EqualFields(IgmpQueryVersion3Layer other) { return(other != null && GroupAddress == other.GroupAddress && IsSuppressRouterSideProcessing == other.IsSuppressRouterSideProcessing && QueryRobustnessVariable == other.QueryRobustnessVariable && QueryInterval.Divide(2) <= other.QueryInterval && QueryInterval.Multiply(2) >= other.QueryInterval && SourceAddresses.SequenceEqual(other.SourceAddresses)); }
/// <summary> /// true iff the GroupAddress, IsSuppressRouterSideProcessing, QueryRobustnessVariable and SourceAddresses fields are equal /// and the QueryInterval is similar. /// </summary> private bool EqualFields(IgmpQueryVersion3Layer other) { return other != null && GroupAddress == other.GroupAddress && IsSuppressRouterSideProcessing == other.IsSuppressRouterSideProcessing && QueryRobustnessVariable == other.QueryRobustnessVariable && QueryInterval.Divide(2) <= other.QueryInterval && QueryInterval.Multiply(2) >= other.QueryInterval && SourceAddresses.SequenceEqual(other.SourceAddresses); }