mirror of
https://github.com/syncthing/syncthing.git
synced 2024-11-16 10:28:49 -07:00
45 lines
862 B
Go
45 lines
862 B
Go
// Copyright (C) 2014 The Protocol Authors.
|
|
|
|
package protocol
|
|
|
|
import (
|
|
"errors"
|
|
)
|
|
|
|
var (
|
|
ErrNoError error
|
|
ErrGeneric = errors.New("generic error")
|
|
ErrNoSuchFile = errors.New("no such file")
|
|
ErrInvalid = errors.New("file is invalid")
|
|
)
|
|
|
|
var lookupError = map[ErrorCode]error{
|
|
ErrorCodeNoError: ErrNoError,
|
|
ErrorCodeGeneric: ErrGeneric,
|
|
ErrorCodeNoSuchFile: ErrNoSuchFile,
|
|
ErrorCodeInvalidFile: ErrInvalid,
|
|
}
|
|
|
|
var lookupCode = map[error]ErrorCode{
|
|
ErrNoError: ErrorCodeNoError,
|
|
ErrGeneric: ErrorCodeGeneric,
|
|
ErrNoSuchFile: ErrorCodeNoSuchFile,
|
|
ErrInvalid: ErrorCodeInvalidFile,
|
|
}
|
|
|
|
func codeToError(code ErrorCode) error {
|
|
err, ok := lookupError[code]
|
|
if !ok {
|
|
return ErrGeneric
|
|
}
|
|
return err
|
|
}
|
|
|
|
func errorToCode(err error) ErrorCode {
|
|
code, ok := lookupCode[err]
|
|
if !ok {
|
|
return ErrorCodeGeneric
|
|
}
|
|
return code
|
|
}
|