func()

in grpc-xds/control-plane-go/pkg/applications/application.go [58:87]


func (a Application) Compare(b Application) int {
	if a.Namespace != b.Namespace {
		return strings.Compare(a.Namespace, b.Namespace)
	}
	if a.ServiceAccountName != b.ServiceAccountName {
		return strings.Compare(a.ServiceAccountName, b.ServiceAccountName)
	}
	if a.Name != b.Name {
		return strings.Compare(a.Name, b.Name)
	}
	if a.PathPrefix != b.PathPrefix {
		return strings.Compare(a.PathPrefix, b.PathPrefix)
	}
	if a.ServingPort != b.ServingPort {
		return int(a.ServingPort - b.ServingPort)
	}
	if a.ServingProtocol != b.ServingProtocol {
		return strings.Compare(a.ServingProtocol, b.ServingProtocol)
	}
	if a.HealthCheckPort != b.HealthCheckPort {
		return int(a.HealthCheckPort - b.HealthCheckPort)
	}
	if a.HealthCheckProtocol != b.HealthCheckProtocol {
		return strings.Compare(a.HealthCheckProtocol, b.HealthCheckProtocol)
	}
	return slices.CompareFunc(a.Endpoints, b.Endpoints,
		func(e ApplicationEndpoints, f ApplicationEndpoints) int {
			return e.Compare(f)
		})
}