command

package
v0.0.12 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 29, 2021 License: GPL-3.0 Imports: 15 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	NonSupport = ResultError(-1, "executor not support")
)

Functions

This section is empty.

Types

type Accessory added in v0.0.9

type Accessory interface {
	Info() string
	Reader() io.Reader
	Writer() io.Writer
	IsEmpty() bool
}

func EmptyAccessory added in v0.0.9

func EmptyAccessory() Accessory

func NewByteAccessory added in v0.0.9

func NewByteAccessory(info string, bs []byte) Accessory

type Command

type Command interface {
	MetaData
	ServiceId() string
	FuncId() string
	CmdMsg() []byte
}

func SimpleCommand added in v0.0.9

func SimpleCommand(serviceId, funcId string, cmdMsg []byte) Command

type CommandArgs added in v0.0.6

type CommandArgs struct {
	ServiceId string
	FuncId    string
	Params    []byte
	Extend    []byte
}

type CommandError

type CommandError struct {
	DetailErr   error `json:"Err"`
	RandId      int
	RequestTime JsonTime
}

func (*CommandError) Error

func (e *CommandError) Error() string

type CommandExecuter

type CommandExecuter interface {
	Name() string
	//CreateSimpleCommand(args *CommandArgs) Command
	Execute(ctx context.Context, cmd Command) *CommandResult
	ListServiceName() ([]ServiceInfo, error)
	ObtainService(srvId string) ([]ServiceInfo, error)
}

func NewLoggerExecutor added in v0.0.9

func NewLoggerExecutor(target CommandExecuter, opts ...LoggerExecutorOption) CommandExecuter

type CommandMetaData added in v0.0.9

type CommandMetaData struct {
	// contains filtered or unexported fields
}

func NewCommandMetaData added in v0.0.9

func NewCommandMetaData(id string, head map[string]string) CommandMetaData

func (*CommandMetaData) Head added in v0.0.9

func (c *CommandMetaData) Head() map[string]string

func (*CommandMetaData) Id added in v0.0.9

func (c *CommandMetaData) Id() string

type CommandResult

type CommandResult struct {
	CommandMetaData
	Error  error
	Code   int
	Result bytes.Buffer
}

func Fail added in v0.0.9

func Fail(result ResultCoder) *CommandResult

func FailCmd added in v0.0.9

func FailCmd(code int, msg string, cause error) *CommandResult

func FailCmdMsg added in v0.0.9

func FailCmdMsg(code int, msg string) *CommandResult

func FailCmdResult

func FailCmdResult(code int, err error) *CommandResult

func OkCmdResult

func OkCmdResult(d []byte) *CommandResult

func (CommandResult) DetailErr added in v0.0.6

func (cr CommandResult) DetailErr() (*CommandError, error)

func (CommandResult) ErrMsg added in v0.0.6

func (cr CommandResult) ErrMsg() string

func (CommandResult) IsOk

func (cr CommandResult) IsOk() bool

type FileCommand added in v0.0.8

type FileCommand interface {
	Command
	GetAccessory() Accessory
}

func SimpleFileCommand added in v0.0.9

func SimpleFileCommand(cmd Command, accessory Accessory) FileCommand

type FileCommandExecuter added in v0.0.8

type FileCommandExecuter interface {
	CommandExecuter
	ExecuteWithFile(ctx context.Context, cmdReq FileCommand) (cmdResp FileCommandResult)
}

func NewLoggerFileExecutor added in v0.0.9

func NewLoggerFileExecutor(target FileCommandExecuter, opts ...LoggerExecutorOption) FileCommandExecuter

type FileCommandResult added in v0.0.8

type FileCommandResult interface {
	GetCommandResult() *CommandResult
	GetAccessory() Accessory
}

func FileResult added in v0.0.9

func FileResult(cmdResult *CommandResult, accessory Accessory) FileCommandResult

type JsonTime

type JsonTime struct {
	time.Time
}

func NowJsonTime

func NowJsonTime() JsonTime

func (JsonTime) MarshalJSON

func (jtime JsonTime) MarshalJSON() ([]byte, error)

所以我们只需定义一个内嵌time.Time的结构体,并重写MarshalJSON方法,然后在定义model的时候把time.Time类型替换为我们自己的类型即可。但是在gorm中只重写MarshalJSON是不够的,只写这个方法会在写数据库的时候会提示delete_at字段不存在,需要加上database/sql的Value和Scan方法 https://github.com/jinzhu/gorm/issues/1611#issuecomment-329654638

func (JsonTime) String

func (jtime JsonTime) String() string

func (*JsonTime) UnmarshalJSON

func (jtime *JsonTime) UnmarshalJSON(data []byte) error

type LoggerExecutorOption added in v0.0.9

type LoggerExecutorOption func(ins *loggerExecutor)

type MetaData added in v0.0.9

type MetaData interface {
	Id() string
	Head() map[string]string
}

元数据

type MetricExecutor added in v0.0.9

type MetricExecutor struct {
	// contains filtered or unexported fields
}

func (*MetricExecutor) Execute added in v0.0.9

func (l *MetricExecutor) Execute(ctx context.Context, cmd Command) *CommandResult

func (*MetricExecutor) ExecuteWithFile added in v0.0.9

func (l *MetricExecutor) ExecuteWithFile(ctx context.Context, cmdReq FileCommand) (cmdResp FileCommandResult)

func (*MetricExecutor) ListServiceName added in v0.0.9

func (l *MetricExecutor) ListServiceName() ([]ServiceInfo, error)

func (*MetricExecutor) Name added in v0.0.9

func (l *MetricExecutor) Name() string

func (*MetricExecutor) ObtainService added in v0.0.9

func (l *MetricExecutor) ObtainService(srvId string) ([]ServiceInfo, error)

type ResultCoder added in v0.0.9

type ResultCoder interface {
	GetCode() int
	GetMessage() string
}

func ResultError added in v0.0.9

func ResultError(code int, msg string) ResultCoder

type ServiceFuncInfo added in v0.0.6

type ServiceFuncInfo struct {
	FuncId   string
	FuncName string
}

服务函数的描述信息

type ServiceInfo added in v0.0.6

type ServiceInfo struct {
	ServiceId   string
	ServiceName string
	Funcs       []ServiceFuncInfo
	Version     string
	MetaData    map[string]string
	Nodes       []ServiceNode
}

服务描述信息,不同版本的服务使用不同的ServiceInfo对象

type ServiceNode added in v0.0.6

type ServiceNode struct {
	Id        string
	Address   string
	AliasName string
	MetaData  map[string]string
}

服务节点信息

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL