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 TopicStatesDef struct {
*am .StatesBase
ErrJoining string
ErrListening string
Joining string
Joined string
Started string
MissPeersByUpdates string
MissPeersByGossip string
MissUpdatesByGossip string
SendGossips string
SendUpdates string
ReqMissingPeers string
ReqMissingUpdates string
DoSendInfo string
PeerJoined string
PeerLeft string
MsgInfo string
MsgBye string
MsgUpdates string
MsgReqInfo string
MsgReqUpdates string
MsgReceived string
ListMachines string
SendMsg string
ProcessMsgs string
SendInfo string
*ss .BasicStatesDef
*ss .ConnectedStatesDef
*ss .DisposedStatesDef
}
type TopicGroupsDef struct {
*ss .ConnectedGroupsDef
}
var TopicSchema = SchemaMerge (
ss .BasicSchema ,
ss .ConnectedSchema ,
ss .DisposedSchema ,
am .Schema {
ssT .ErrJoining : {Require : S {Exception }},
ssT .ErrListening : {Require : S {Exception }},
ssT .Started : {Require : S {ssT .Start }},
ssT .Joining : {
Require : S {ssT .Connected },
Remove : S {ssT .Joined },
},
ssT .Joined : {
Require : S {ssT .Connected },
Remove : S {ssT .Joining },
},
ssT .Ready : {
Auto : true ,
Require : S {ssT .Joined },
},
ssT .SendGossips : {Require : S {ssT .Joined }},
ssT .SendUpdates : {Require : S {ssT .Joined }},
ssT .ReqMissingPeers : {Require : S {ssT .Joined }},
ssT .ReqMissingUpdates : {Require : S {ssT .Joined }},
ssT .DoSendInfo : {Require : S {ssT .Joined }},
ssT .PeerJoined : {
Multi : true ,
Require : S {ssT .Joined },
},
ssT .PeerLeft : {
Multi : true ,
Require : S {ssT .Joined },
},
ssT .MsgInfo : {
Multi : true ,
Require : S {ssT .Joined },
},
ssT .MsgBye : {
Multi : true ,
Require : S {ssT .Joined },
},
ssT .MsgUpdates : {
Multi : true ,
Require : S {ssT .Joined },
},
ssT .MsgReqInfo : {
Multi : true ,
Require : S {ssT .Joined },
},
ssT .MsgReqUpdates : {
Multi : true ,
Require : S {ssT .Joined },
},
ssT .MsgReceived : {
Multi : true ,
Require : S {ssT .Joined },
},
ssT .MissPeersByUpdates : {
Multi : true ,
Require : S {ssT .Joined },
},
ssT .MissPeersByGossip : {
Multi : true ,
Require : S {ssT .Joined },
},
ssT .MissUpdatesByGossip : {
Multi : true ,
Require : S {ssT .Joined },
},
ssT .ListMachines : {
Multi : true ,
Require : S {ssT .Joined },
},
ssT .SendMsg : {
Multi : true ,
Require : S {ssT .Joined },
},
ssT .ProcessMsgs : {
Multi : true ,
Require : S {ssT .Joined },
},
ssT .SendInfo : {Require : S {ssT .Joined }},
ssT .Heartbeat : {Require : S {ssT .Joined }},
})
var (
ssT = am .NewStates (TopicStatesDef {})
sgT = am .NewStateGroups (TopicGroupsDef {}, ss .ConnectedGroups )
TopicStates = ssT
TopicGroups = sgT
)
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 .