Documentation ¶
Index ¶
- func AbortedErrorf(format string, args ...interface{}) error
- func AlreadyExistsErrorf(format string, args ...interface{}) error
- func CancelledErrorf(format string, args ...interface{}) error
- func DataLossErrorf(format string, args ...interface{}) error
- func DeadlineExceededErrorf(format string, args ...interface{}) error
- func ErrorMessage(err error) string
- func ErrorName(err error) string
- func FailedPreconditionErrorf(format string, args ...interface{}) error
- func FromHeaders(code Code, name string, message string) error
- func InternalErrorf(format string, args ...interface{}) error
- func InvalidArgumentErrorf(format string, args ...interface{}) error
- func IsAborted(err error) bool
- func IsAlreadyExists(err error) bool
- func IsCancelled(err error) bool
- func IsDataLoss(err error) bool
- func IsDeadlineExceeded(err error) bool
- func IsFailedPrecondition(err error) bool
- func IsInternal(err error) bool
- func IsInvalidArgument(err error) bool
- func IsNotFound(err error) bool
- func IsOutOfRange(err error) bool
- func IsPermissionDenied(err error) bool
- func IsResourceExhausted(err error) bool
- func IsUnauthenticated(err error) bool
- func IsUnavailable(err error) bool
- func IsUnimplemented(err error) bool
- func IsUnknown(err error) bool
- func IsYARPCError(err error) bool
- func NamedErrorf(name string, format string, args ...interface{}) error
- func NotFoundErrorf(format string, args ...interface{}) error
- func OutOfRangeErrorf(format string, args ...interface{}) error
- func PermissionDeniedErrorf(format string, args ...interface{}) error
- func ResourceExhaustedErrorf(format string, args ...interface{}) error
- func UnauthenticatedErrorf(format string, args ...interface{}) error
- func UnavailableErrorf(format string, args ...interface{}) error
- func UnimplementedErrorf(format string, args ...interface{}) error
- func UnknownErrorf(format string, args ...interface{}) error
- type Code
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AbortedErrorf ¶
AbortedErrorf returns a new yarpc error with code CodeAborted.
func AlreadyExistsErrorf ¶
AlreadyExistsErrorf returns a new yarpc error with code CodeAlreadyExists.
func CancelledErrorf ¶
CancelledErrorf returns a new yarpc error with code CodeCancelled.
func DataLossErrorf ¶
DataLossErrorf returns a new yarpc error with code CodeDataLoss.
func DeadlineExceededErrorf ¶
DeadlineExceededErrorf returns a new yarpc error with code CodeDeadlineExceeded.
func ErrorMessage ¶
ErrorMessage returns the message for the given error, or "" if the given error is not a YARPC error or the YARPC error had no message.
func ErrorName ¶
ErrorName returns the name for the given error, or "" if the given error is not a YARPC error created with NamedErrorf that has a non-empty name.
func FailedPreconditionErrorf ¶
FailedPreconditionErrorf returns a new yarpc error with code CodeFailedPrecondition.
func FromHeaders ¶
FromHeaders returns a new yarpc error from headers transmitted from the server side.
If the specified code is CodeOK, this will return nil. If the specified code is not CodeUnknown, this will not set the name field.
The name must only contain lowercase letters from a-z and dashes (-), and cannot start or end in a dash. If the name is something else, an error with code CodeInternal will be returned.
This function should not be used by server implementations, use the individual error constructors instead. This should only be used by transport implementations.
func InternalErrorf ¶
InternalErrorf returns a new yarpc error with code CodeInternal.
func InvalidArgumentErrorf ¶
InvalidArgumentErrorf returns a new yarpc error with code CodeInvalidArgument.
func IsAlreadyExists ¶
IsAlreadyExists returns true if ErrorCode(err) == CodeAlreadyExists.
func IsCancelled ¶
IsCancelled returns true if ErrorCode(err) == CodeCancelled.
func IsDataLoss ¶
IsDataLoss returns true if ErrorCode(err) == CodeDataLoss.
func IsDeadlineExceeded ¶
IsDeadlineExceeded returns true if ErrorCode(err) == CodeDeadlineExceeded.
func IsFailedPrecondition ¶
IsFailedPrecondition returns true if ErrorCode(err) == CodeFailedPrecondition.
func IsInternal ¶
IsInternal returns true if ErrorCode(err) == CodeInternal.
func IsInvalidArgument ¶
IsInvalidArgument returns true if ErrorCode(err) == CodeInvalidArgument.
func IsNotFound ¶
IsNotFound returns true if ErrorCode(err) == CodeNotFound.
func IsOutOfRange ¶
IsOutOfRange returns true if ErrorCode(err) == CodeOutOfRange.
func IsPermissionDenied ¶
IsPermissionDenied returns true if ErrorCode(err) == CodePermissionDenied.
func IsResourceExhausted ¶
IsResourceExhausted returns true if ErrorCode(err) == CodeResourceExhausted.
func IsUnauthenticated ¶
IsUnauthenticated returns true if ErrorCode(err) == CodeUnauthenticated.
func IsUnavailable ¶
IsUnavailable returns true if ErrorCode(err) == CodeUnavailable.
func IsUnimplemented ¶
IsUnimplemented returns true if ErrorCode(err) == CodeUnimplemented.
func IsYARPCError ¶
IsYARPCError is a convenience function that returns true if the given error is a non-nil YARPC error.
This is equivalent to yarpcerrors.ErrorCode(err) != yarpcerrors.CodeOK.
func NamedErrorf ¶
NamedErrorf returns a new yarpc error with code CodeUnknown and the given name.
This should be used for user-defined errors.
The name must only contain lowercase letters from a-z and dashes (-), and cannot start or end in a dash. If the name is something else, an error with code CodeInternal will be returned.
func NotFoundErrorf ¶
NotFoundErrorf returns a new yarpc error with code CodeNotFound.
func OutOfRangeErrorf ¶
OutOfRangeErrorf returns a new yarpc error with code CodeOutOfRange.
func PermissionDeniedErrorf ¶
PermissionDeniedErrorf returns a new yarpc error with code CodePermissionDenied.
func ResourceExhaustedErrorf ¶
ResourceExhaustedErrorf returns a new yarpc error with code CodeResourceExhausted.
func UnauthenticatedErrorf ¶
UnauthenticatedErrorf returns a new yarpc error with code CodeUnauthenticated.
func UnavailableErrorf ¶
UnavailableErrorf returns a new yarpc error with code CodeUnavailable.
func UnimplementedErrorf ¶
UnimplementedErrorf returns a new yarpc error with code CodeUnimplemented.
func UnknownErrorf ¶
UnknownErrorf returns a new yarpc error with code CodeUnknown.
Types ¶
type Code ¶
type Code int
Code represents the type of error for an RPC call.
Sometimes multiple error codes may apply. Services should return the most specific error code that applies. For example, prefer `OutOfRange` over `FailedPrecondition` if both codes apply. Similarly prefer `NotFound` or `AlreadyExists` over `FailedPrecondition`.
const ( // CodeOK means no error; returned on success CodeOK Code = 0 // CodeCancelled means the operation was cancelled, typically by the caller. CodeCancelled Code = 1 // CodeUnknown means an unknown error. Errors raised by APIs // that do not return enough error information // may be converted to this error. CodeUnknown Code = 2 // CodeInvalidArgument means the client specified an invalid argument. // Note that this differs from `FailedPrecondition`. `InvalidArgument` // indicates arguments that are problematic regardless of the state of // the system (e.g., a malformed file name). CodeInvalidArgument Code = 3 // CodeDeadlineExceeded means the deadline expired before the operation could // complete. For operations that change the state of the system, this error // may be returned even if the operation has completed successfully. For example, // a successful response from a server could have been delayed long // enough for the deadline to expire. CodeDeadlineExceeded Code = 4 // CodeNotFound means some requested entity (e.g., file or directory) was not found. // For privacy reasons, this code *may* be returned when the client // does not have the access rights to the entity, though such usage is // discouraged. CodeNotFound Code = 5 // CodeAlreadyExists means the entity that a client attempted to create // (e.g., file or directory) already exists. CodeAlreadyExists Code = 6 // CodePermissionDenied means the caller does not have permission to execute // the specified operation. `PermissionDenied` must not be used for rejections // caused by exhausting some resource (use `ResourceExhausted` // instead for those errors). `PermissionDenied` must not be // used if the caller can not be identified (use `Unauthenticated` // instead for those errors). CodePermissionDenied Code = 7 // CodeResourceExhausted means some resource has been exhausted, perhaps a per-user // quota, or perhaps the entire file system is out of space. CodeResourceExhausted Code = 8 // CodeFailedPrecondition means the operation was rejected because the system is not // in a state required for the operation's execution. For example, the directory // to be deleted is non-empty, an rmdir operation is applied to // a non-directory, etc. // // Service implementors can use the following guidelines to decide // between `FailedPrecondition`, `Aborted`, and `Unavailable`: // (a) Use `Unavailable` if the client can retry just the failing call. // (b) Use `Aborted` if the client should retry at a higher level // (e.g., restarting a read-modify-write sequence). // (c) Use `FailedPrecondition` if the client should not retry until // the system state has been explicitly fixed. E.g., if an "rmdir" // fails because the directory is non-empty, `FailedPrecondition` // should be returned since the client should not retry unless // the files are deleted from the directory. CodeFailedPrecondition Code = 9 // CodeAborted means the operation was aborted, typically due to a concurrency issue // such as a sequencer check failure or transaction abort. // // See the guidelines above for deciding between `FailedPrecondition`, // `Aborted`, and `Unavailable`. CodeAborted Code = 10 // CodeOutOfRange means the operation was attempted past the valid range. // E.g., seeking or reading past end-of-file. // // Unlike `InvalidArgument`, this error indicates a problem that may // be fixed if the system state changes. For example, a 32-bit file // system will generate `InvalidArgument` if asked to read at an // offset that is not in the range [0,2^32-1], but it will generate // `OutOfRange` if asked to read from an offset past the current // file size. // // There is a fair bit of overlap between `FailedPrecondition` and // `OutOfRange`. We recommend using `OutOfRange` (the more specific // error) when it applies so that callers who are iterating through // a space can easily look for an `OutOfRange` error to detect when // they are done. CodeOutOfRange Code = 11 // CodeUnimplemented means the operation is not implemented or is not // supported/enabled in this service. CodeUnimplemented Code = 12 // CodeInternal means an internal error. This means that some invariants expected // by the underlying system have been broken. This error code is reserved // for serious errors. CodeInternal Code = 13 // transient condition, which can be corrected by retrying with a backoff. // // See the guidelines above for deciding between `FailedPrecondition`, // `Aborted`, and `Unavailable`. CodeUnavailable Code = 14 // CodeDataLoss means unrecoverable data loss or corruption. CodeDataLoss Code = 15 // CodeUnauthenticated means the request does not have valid authentication // credentials for the operation. CodeUnauthenticated Code = 16 )
func ErrorCode ¶
ErrorCode returns the Code for the given error, or CodeOK if the given error is not a YARPC error.
func (Code) MarshalJSON ¶
MarshalJSON implements json.Marshaler.
func (Code) MarshalText ¶
MarshalText implements encoding.TextMarshaler.
func (*Code) UnmarshalJSON ¶
UnmarshalJSON implements json.Unmarshaler.
func (*Code) UnmarshalText ¶
UnmarshalText implements encoding.TextUnmarshaler.