package states
import (
am "github.com/pancsta/asyncmachine-go/pkg/machine"
ss "github.com/pancsta/asyncmachine-go/pkg/states"
. "github.com/pancsta/asyncmachine-go/pkg/states/global"
)
type ReplStatesDef struct {
*am .StatesBase
ErrSyntax string
RpcConn string
RpcDisconn string
CmdAdd string
CmdRemove string
CmdGroupAdd string
CmdGroupRemove string
CmdList string
CmdScript string
CmdWhenTime string
CmdWhen string
CmdWhenNot string
CmdInspect string
CmdStatus string
ReplMode string
ListMachines string
AddrChanged string
*ss .BasicStatesDef
*ss .ConnPoolStatesDef
*ss .DisposedStatesDef
}
type ReplGroupsDef struct {
*ss .ConnectedGroupsDef
Cmds S
}
var ReplSchema = SchemaMerge (
ss .BasicSchema ,
ss .ConnPoolSchema ,
ss .DisposedSchema ,
am .Schema {
ssC .ErrSyntax : {
Multi : true ,
Require : S {Exception },
},
ssC .ErrNetwork : {
Multi : true ,
Require : S {Exception },
Remove : S {ssC .ConnectedFully },
},
ssC .RpcConn : {Multi : true },
ssC .RpcDisconn : {Multi : true },
ssC .CmdAdd : {
Multi : true ,
Require : S {ssC .Connected },
},
ssC .CmdRemove : {
Multi : true ,
Require : S {ssC .Connected },
},
ssC .CmdGroupAdd : {
Multi : true ,
Require : S {ssC .Connected },
},
ssC .CmdGroupRemove : {
Multi : true ,
Require : S {ssC .Connected },
},
ssC .CmdList : {
Multi : true ,
Require : S {ssC .Connected },
},
ssC .CmdScript : {
Multi : true ,
Require : S {ssC .Connected },
},
ssC .CmdWhenTime : {
Multi : true ,
Require : S {ssC .Connected },
},
ssC .CmdWhen : {
Multi : true ,
Require : S {ssC .Connected },
},
ssC .CmdWhenNot : {
Multi : true ,
Require : S {ssC .Connected },
},
ssC .CmdInspect : {
Multi : true ,
Require : S {ssC .Connected },
},
ssC .CmdStatus : {
Multi : true ,
Require : S {ssC .Connected },
},
ssC .ReplMode : {},
ssC .ListMachines : {
Multi : true ,
Require : S {ssC .Start },
},
ssC .AddrChanged : {
Multi : true ,
Require : S {ssC .Start },
},
})
var (
ssC = am .NewStates (ReplStatesDef {})
sgC = am .NewStateGroups (ReplGroupsDef {
Cmds : S {ssC .CmdAdd , ssC .CmdRemove , ssC .CmdList , ssC .CmdScript ,
ssC .CmdWhenTime , ssC .CmdWhen , ssC .CmdWhenNot , ssC .CmdInspect ,
ssC .CmdStatus },
}, ss .ConnectedGroups )
ReplStates = ssC
ReplGroups = sgC
)
The pages are generated with Golds v0.8.2 . (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu .
PR and bug reports are welcome and can be submitted to the issue list .
Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds .