func IsInconsistentError(err error) bool {
	e, ok := err.(ClusterInfosError)
	return ok && e.Inconsistent()
}
IsInconsistentError eturns true if the error is due to cluster inconsistencies
package redisutil
import "fmt"
type Error string
func (e Error) Error() string { return string(e) }
const nodeNotFoundedError = Error("node not founded")
func IsNodeNotFoundedError(err error) bool {
	return err == nodeNotFoundedError
}
type ClusterInfosError struct {
	errs         map[string]error
	partial      bool
	inconsistent bool
}
func NewClusterInfosError() ClusterInfosError {
	return ClusterInfosError{
		errs:         make(map[string]error),
		partial:      false,
		inconsistent: false,
	}
}
func (e ClusterInfosError) Error() string {
	s := ""
	if e.partial {
		s += "Cluster infos partial: "
		for addr, err := range e.errs {
			s += fmt.Sprintf("%s: '%s'", addr, err)
		}
		return s
	}
	if e.inconsistent {
		s += "Cluster view is inconsistent"
	}
	return s
}
func (e ClusterInfosError) Partial() bool {
	return e.partial
}
func (e ClusterInfosError) Inconsistent() bool {
	return e.inconsistent
}
func IsPartialError(err error) bool {
	e, ok := err.(ClusterInfosError)
	return ok && e.Partial()
}