Current section
Files
Jump to
Current section
Files
priv/router.json
{
"Comment": "Router Session State Machine",
"StartAt": "Init",
"States": {
"Init": {
"Type": "Task",
"Resource": "HandleInit",
"Next": "Established"
},
"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": ":hello",
"Next": "Hello"
},
{
"StringEquals": ":authenticate",
"Next": "Authenticate"
},
{
"StringEquals": ":call",
"Next": "Call"
},
{
"StringEquals": ":yield",
"Next": "Yield"
},
{
"StringEquals": ":register",
"Next": "Register"
},
{
"StringEquals": ":unregister",
"Next": "Unregister"
},
{
"StringEquals": ":subscribe",
"Next": "Subscribe"
},
{
"StringEquals": ":unsubscribe",
"Next": "Unsubscribe"
},
{
"StringEquals": ":publish",
"Next": "Publish"
},
{
"StringEquals": ":invocation_error",
"Next": "InvocationError"
},
{
"StringEquals": ":abort",
"Next": "Abort"
},
{
"StringEquals": ":goodbye",
"Next": "GoodBye"
},
{
"StringEquals": ":cancel",
"Next": "Cancel"
}
]
},
"Hello": {
"Type": "Task",
"Resource": "HandleHello",
"Next": "Established"
},
"Authenticate": {
"Type": "Task",
"Resource": "HandleAuthenticate",
"Next": "Established"
},
"Call": {
"Type": "Task",
"Resource": "HandleCall",
"Next": "Established",
"Catch": [
{
"ErrorEquals": ["{:error, :no_live_callees}"],
"Next": "Error"
}
]
},
"Yield": {
"Type": "Task",
"Resource": "HandleYield",
"Next": "Established"
},
"Register":{
"Type": "Task",
"Resource": "HandleRegister",
"Next": "Established"
},
"Unregister":{
"Type": "Task",
"Resource": "HandleUnregister",
"Next": "Established"
},
"Subscribe":{
"Type": "Task",
"Resource": "HandleSubscribe",
"Next": "Established"
},
"Unsubscribe":{
"Type": "Task",
"Resource": "HandleUnsubscribe",
"Next": "Established"
},
"Publish":{
"Type": "Task",
"Resource": "HandlePublish",
"Next": "Established"
},
"InvocationError":{
"Type": "Task",
"Resource": "HandleInvocationError",
"Next": "Established"
},
"GoodBye": {
"Type": "Task",
"Resource": "HandleGoodbye",
"End": true
},
"Abort": {
"Type": "Task",
"Resource": "HandleAbort",
"End": true
}
}
}