2024-12-01 16:50:17 +01:00
|
|
|
// Copyright (C) 2014 The Syncthing Authors.
|
|
|
|
|
//
|
|
|
|
|
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
|
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
|
|
|
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
2015-02-08 11:04:01 +00:00
|
|
|
|
|
|
|
|
package protocol
|
|
|
|
|
|
2021-10-03 15:58:57 +02:00
|
|
|
import "errors"
|
2015-02-08 11:04:01 +00:00
|
|
|
|
|
|
|
|
var (
|
2015-09-22 20:34:24 +02:00
|
|
|
ErrGeneric = errors.New("generic error")
|
|
|
|
|
ErrNoSuchFile = errors.New("no such file")
|
|
|
|
|
ErrInvalid = errors.New("file is invalid")
|
2015-02-08 11:04:01 +00:00
|
|
|
)
|
|
|
|
|
|
2016-07-04 10:40:29 +00:00
|
|
|
func codeToError(code ErrorCode) error {
|
2021-10-03 15:58:57 +02:00
|
|
|
switch code {
|
|
|
|
|
case ErrorCodeNoError:
|
|
|
|
|
return nil
|
|
|
|
|
case ErrorCodeNoSuchFile:
|
|
|
|
|
return ErrNoSuchFile
|
|
|
|
|
case ErrorCodeInvalidFile:
|
|
|
|
|
return ErrInvalid
|
|
|
|
|
default:
|
2015-02-08 11:04:01 +00:00
|
|
|
return ErrGeneric
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2016-07-04 10:40:29 +00:00
|
|
|
func errorToCode(err error) ErrorCode {
|
2024-12-01 16:50:17 +01:00
|
|
|
switch {
|
|
|
|
|
case err == nil:
|
2021-10-03 15:58:57 +02:00
|
|
|
return ErrorCodeNoError
|
2024-12-01 16:50:17 +01:00
|
|
|
case errors.Is(err, ErrNoSuchFile):
|
2021-10-03 15:58:57 +02:00
|
|
|
return ErrorCodeNoSuchFile
|
2024-12-01 16:50:17 +01:00
|
|
|
case errors.Is(err, ErrInvalid):
|
2021-10-03 15:58:57 +02:00
|
|
|
return ErrorCodeInvalidFile
|
|
|
|
|
default:
|
2016-07-04 10:40:29 +00:00
|
|
|
return ErrorCodeGeneric
|
2015-02-08 11:04:01 +00:00
|
|
|
}
|
|
|
|
|
}
|