Skip to content

Federated Solving Payloads

GearsAD edited this page Mar 21, 2019 · 3 revisions

This is the preliminary sequence for state management of federated solves:

//INIT
{
    "Id": "GUID",
    "EnvironmentId": "",
    "multisessionSolverId": "",
    "step": "INIT",
    "sessions": [
        {
            "userId":"",
            "robotId":"",
            "sessionId": "",
            "status": "",
            "resultDebug": ""
        },
        {
            "userId":"",
            "robotId":"",
            "sessionId": "",
            "status": "",
            "resultDebug": ""
        },
    ]
}

//BUILDINGPRIMES { "Id": "GUID", "EnvironmentId": "", "step": "BUILDINGPRIMES", "sessions": [ { "userId":"", "robotId":"", "sessionId": "", "status": "" }, { "userId":"", "robotId":"", "sessionId": "" "status": "" }, ] }

//INDIVIDUALSOLVES { "Id": "GUID", "EnvironmentId": "", "step": "INDIVIDUALSOLVES", "sessions": [ { "userId":"", "robotId":"", "sessionId": "", "primeVariables": ["l0", "l1", "l2"] "status": "WAITING" }, { "userId":"", "robotId":"", "sessionId": "", "primeVariables": ["l1", "l2"] "status": "WAITING" }, ] }

  • Push individual solves

// When individual solves complete, they each update status.... //INDIVIDUALSOLVES { "Id": "GUID", "EnvironmentId": "", "step": "INDIVIDUALSOLVES", "sessions": [ { "userId":"", "robotId":"", "sessionId": "", "status": "COMPLETE" }, { "userId":"", "robotId":"", "sessionId": "", "status": "COMPLETE" }, ] }

//If individual fails, then we need to trigger somehow { "Id": "GUID", "EnvironmentId": "", "step": "INDIVIDUALSOLVES", "sessions": [ { "userId":"", "robotId":"", "sessionId": "", "status": "COMPLETE" }, { "userId":"", "robotId":"", "sessionId": "", "status": "ERROR" }, ] }

// All solved - propagate back to primes { "Id": "GUID", "EnvironmentId": "", "step": "CONSENSUS", "sessions": [ { "userId":"", "robotId":"", "sessionId": "", "status": "COMPLETE" }, { "userId":"", "robotId":"", "sessionId": "", "status": "COMPLETE" }, ] }

// Complete { "Id": "GUID", "EnvironmentId": "", "step": "FINISHED", "sessions": [ { "userId":"", "robotId":"", "sessionId": "", "status": "COMPLETE" }, { "userId":"", "robotId":"", "sessionId": "", "status": "COMPLETE" }, ] }

Clone this wiki locally