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.
70 lines
1.5 KiB
70 lines
1.5 KiB
// Copyright 2019 PingCAP, Inc.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
package plugin
|
|
|
|
// Kind presents the kind of plugin.
|
|
type Kind uint8
|
|
|
|
const (
|
|
// Audit indicates it is a Audit plugin.
|
|
Audit Kind = 1 + iota
|
|
// Authentication indicate it is a Authentication plugin.
|
|
Authentication
|
|
// Schema indicate a plugin that can change TiDB schema.
|
|
Schema
|
|
// Daemon indicate a plugin that can run as daemon task.
|
|
Daemon
|
|
)
|
|
|
|
func (k Kind) String() (str string) {
|
|
switch k {
|
|
case Audit:
|
|
str = "Audit"
|
|
case Authentication:
|
|
str = "Authentication"
|
|
case Schema:
|
|
str = "Schema"
|
|
case Daemon:
|
|
str = "Daemon"
|
|
}
|
|
return
|
|
}
|
|
|
|
// State present the state of plugin.
|
|
type State uint8
|
|
|
|
const (
|
|
// Uninitialized indicates plugin is uninitialized.
|
|
Uninitialized State = iota
|
|
// Ready indicates plugin is ready to work.
|
|
Ready
|
|
// Dying indicates plugin will be close soon.
|
|
Dying
|
|
// Disable indicate plugin is disabled.
|
|
Disable
|
|
)
|
|
|
|
func (s State) String() (str string) {
|
|
switch s {
|
|
case Uninitialized:
|
|
str = "Uninitialized"
|
|
case Ready:
|
|
str = "Ready"
|
|
case Dying:
|
|
str = "Dying"
|
|
case Disable:
|
|
str = "Disable"
|
|
}
|
|
return
|
|
}
|
|
|