mirror of https://github.com/XTLS/Xray-core
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
1.1 KiB
27 lines
1.1 KiB
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.") |
|
}
|
|
|