Current section

Files

Jump to
wampex_client priv client.json
Raw

priv/client.json

{
"Comment": "Session State Machine",
"StartAt": "Init",
"States": {
"Init": {
"Type": "Task",
"Resource": "Hello",
"TransitionEvent": ":hello_sent",
"Next": "Handshake",
"Catch": [
{
"ErrorEquals": [":abort"],
"Next": "Abort"
}
]
},
"Handshake": {
"Type": "Choice",
"Resource": "HandleHandshake",
"Choices": [
{
"StringEquals": ":message_received",
"Next": "Message"
},
{
"StringEquals": ":abort",
"Next": "Abort"
}
]
},
"Established": {
"Type": "Choice",
"Resource": "HandleEstablished",
"Choices": [
{
"StringEquals": ":message_received",
"Next": "Message"
},
{
"StringEquals": ":goodbye",
"Next": "GoodBye"
},
{
"StringEquals": ":abort",
"Next": "Abort"
}
]
},
"Message": {
"Type": "Choice",
"Resource": "HandleMessage",
"Choices": [
{
"StringEquals": ":established",
"Next": "Established"
},
{
"StringEquals": ":welcome",
"Next": "Welcome"
},
{
"StringEquals": ":event",
"Next": "Event"
},
{
"StringEquals": ":invocation",
"Next": "Invocation"
},
{
"StringEquals": ":abort",
"Next": "Abort"
},
{
"StringEquals": ":goodbye",
"Next": "GoodBye"
},
{
"StringEquals": ":challenge",
"Next": "Challenge"
},
{
"StringEquals": ":interrupt",
"Next": "Interrupt"
}
]
},
"Welcome": {
"Type": "Task",
"Resource": "HandleWelcome",
"TransitionEvent": ":established",
"Next": "Established"
},
"Interrupt": {
"Type": "Task",
"Resource": "HandleInterrupt",
"Next": "Established"
},
"Challenge": {
"Type": "Task",
"Resource": "HandleChallenge",
"Next": "Handshake",
"TransitionEvent": ":challenged"
},
"Event": {
"Type": "Task",
"Resource": "HandleEvent",
"Next": "Established"
},
"Invocation": {
"Type": "Task",
"Resource": "HandleInvocation",
"Next": "Established"
},
"GoodBye": {
"Type": "Task",
"Resource": "GoodBye",
"End": true
},
"Abort": {
"Type": "Task",
"Resource": "HandleAbort",
"End": true
}
}
}