Documentation ¶
Index ¶
- Constants
- Variables
- func DefaultUserInfoParser(req *bindings.InvokeRequest, object *UserInfo) error
- func ParseObjFromRequest[T customizedObjType](req *bindings.InvokeRequest, parse objectParser[T], ...) error
- func SentProbeEvent(ctx context.Context, opsResult OpsResult, log logger.Logger)
- func SortRoleByWeight(r1, r2 RoleType) bool
- func String2RoleType(roleName string) RoleType
- func UserNameAndPasswdValidator(user UserInfo) error
- func UserNameAndRoleValidator(user UserInfo) error
- func UserNameValidator(user UserInfo) error
- type AccessMode
- type BaseInternalOps
- type BaseOperations
- func (ops *BaseOperations) CheckRoleOps(ctx context.Context, req *bindings.InvokeRequest, ...) (OpsResult, error)
- func (ops *BaseOperations) CheckRunningOps(ctx context.Context, req *bindings.InvokeRequest, ...) (OpsResult, error)
- func (ops *BaseOperations) GetRoleOps(ctx context.Context, req *bindings.InvokeRequest, ...) (OpsResult, error)
- func (ops *BaseOperations) Init(metadata bindings.Metadata)
- func (ops *BaseOperations) Invoke(ctx context.Context, req *bindings.InvokeRequest) (*bindings.InvokeResponse, error)
- func (ops *BaseOperations) Operations() []bindings.OperationKind
- func (ops *BaseOperations) RegisterOperation(opsKind bindings.OperationKind, operation Operation)
- type Operation
- type OpsResult
- type RedisEntry
Constants ¶
View Source
const ( ReadWrite AccessMode = "ReadWrite" Readonly AccessMode = "Readonly" None AccessMode = "None" // keys from response's metadata. RespOpKey = "operation" RespStartTimeKey = "start-time" RespRowsAffectedKey = "rows-affected" RespEndTimeKey = "end-time" RespDurationKey = "duration" StatusCode = "status-code" // 451 Unavailable For Legal Reasons, used to indicate operation failed. OperationFailedHTTPCode = "451" // 404 Not Found, used to indicate operation not found. OperationNotFoundHTTPCode = "404" // CommandSQLKey keys from request's metadata. CommandSQLKey = "sql" )
View Source
const ( // types for probe CheckRunningType int = iota CheckStatusType CheckRoleChangedType )
View Source
const ( PRIMARY = "primary" SECONDARY = "secondary" MASTER = "master" SLAVE = "slave" )
Variables ¶
Functions ¶
func DefaultUserInfoParser ¶
func DefaultUserInfoParser(req *bindings.InvokeRequest, object *UserInfo) error
func ParseObjFromRequest ¶
func ParseObjFromRequest[T customizedObjType](req *bindings.InvokeRequest, parse objectParser[T], validator objectValidator[T], object *T) error
func SentProbeEvent ¶
func SortRoleByWeight ¶
func SortRoleByWeight(r1, r2 RoleType) bool
func String2RoleType ¶
func String2RoleType(roleName string) RoleType
func UserNameAndPasswdValidator ¶
func UserNameAndPasswdValidator(user UserInfo) error
func UserNameAndRoleValidator ¶
func UserNameAndRoleValidator(user UserInfo) error
func UserNameValidator ¶
func UserNameValidator(user UserInfo) error
Types ¶
type BaseInternalOps ¶
type BaseOperations ¶
type BaseOperations struct { CheckRunningFailedCount int CheckStatusFailedCount int CheckRoleFailedCount int RoleUnchangedCount int FailedEventReportFrequency int // RoleDetectionThreshold is used to set the report duration of role event after role changed, // then event controller can always get rolechanged events to maintain pod label accurately // in cases of: // 1 rolechanged event lost; // 2 pod role label deleted or updated incorrectly. RoleDetectionThreshold int DBPort int DBAddress string DBType string OriRole string DBRoles map[string]AccessMode Logger logger.Logger Metadata bindings.Metadata InitIfNeed func() bool GetRole func(context.Context, *bindings.InvokeRequest, *bindings.InvokeResponse) (string, error) OperationMap map[bindings.OperationKind]Operation }
func (*BaseOperations) CheckRoleOps ¶
func (ops *BaseOperations) CheckRoleOps(ctx context.Context, req *bindings.InvokeRequest, resp *bindings.InvokeResponse) (OpsResult, error)
func (*BaseOperations) CheckRunningOps ¶
func (ops *BaseOperations) CheckRunningOps(ctx context.Context, req *bindings.InvokeRequest, resp *bindings.InvokeResponse) (OpsResult, error)
CheckRunningOps checks whether the binding service is in running status, If check fails continuously, report an event at FailedEventReportFrequency frequency
func (*BaseOperations) GetRoleOps ¶
func (ops *BaseOperations) GetRoleOps(ctx context.Context, req *bindings.InvokeRequest, resp *bindings.InvokeResponse) (OpsResult, error)
func (*BaseOperations) Init ¶
func (ops *BaseOperations) Init(metadata bindings.Metadata)
func (*BaseOperations) Invoke ¶
func (ops *BaseOperations) Invoke(ctx context.Context, req *bindings.InvokeRequest) (*bindings.InvokeResponse, error)
Invoke handles all invoke operations.
func (*BaseOperations) Operations ¶
func (ops *BaseOperations) Operations() []bindings.OperationKind
Operations returns list of operations supported by the binding.
func (*BaseOperations) RegisterOperation ¶
func (ops *BaseOperations) RegisterOperation(opsKind bindings.OperationKind, operation Operation)
type Operation ¶
type Operation func(ctx context.Context, request *bindings.InvokeRequest, response *bindings.InvokeResponse) (OpsResult, error)
type OpsResult ¶
type OpsResult map[string]interface{}
func ExecuteObject ¶
func ExecuteObject[T customizedObjType](ctx context.Context, ops BaseInternalOps, req *bindings.InvokeRequest, opsKind bindings.OperationKind, sqlTplRend cmdRender[T], msgTplRend cmdRender[T], object T) (OpsResult, error)
func QueryObject ¶
func QueryObject[T customizedObjType](ctx context.Context, ops BaseInternalOps, req *bindings.InvokeRequest, opsKind bindings.OperationKind, sqlTplRend cmdRender[T], dataProcessor resultRender[T], object T) (OpsResult, error)
type RedisEntry ¶
Click to show internal directories.
Click to hide internal directories.