mirror of
https://github.com/XTLS/Xray-core.git
synced 2024-11-27 11:01:27 +00:00
1919a1e86f
* Improve feature deprecation/removal logs * Add a note about the new feature * When the feature has removed, this should be an error not a warning
28 lines
1.1 KiB
Go
28 lines
1.1 KiB
Go
package features
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/xtls/xray-core/common"
|
|
"github.com/xtls/xray-core/common/errors"
|
|
)
|
|
|
|
//go:generate go run github.com/xtls/xray-core/common/errors/errorgen
|
|
|
|
// Feature is the interface for Xray features. All features must implement this interface.
|
|
// All existing features have an implementation in app directory. These features can be replaced by third-party ones.
|
|
type Feature interface {
|
|
common.HasType
|
|
common.Runnable
|
|
}
|
|
|
|
// PrintDeprecatedFeatureWarning prints a warning for deprecated feature.
|
|
func PrintDeprecatedFeatureWarning(feature string) {
|
|
errors.LogWarning(context.Background(), "You are using a deprecated feature: " + feature + ". Please update your config file(s) with latest configuration format, or update your client software.")
|
|
}
|
|
|
|
// PrintRemovedFeatureError prints an error message for removed feature. And after long enough time the message can also be removed, use as an indicator.
|
|
func PrintRemovedFeatureError(feature string) {
|
|
errors.New("The feature " + feature + " is removed. Please update your config file(s) according to release notes and documentations.")
|
|
}
|