public void Step(State state, Action <StepResponse> callback) { string stateJson = JsonUtility.ToJson(state); StartCoroutine(PutRequest(Host + "step", stateJson, (res) => { StepResponse stepResponse = JsonUtility.FromJson <StepResponse>(res); callback(stepResponse); })); }
public void StepResponseDebugging() { StepResponse stepResponse = new StepResponse(5000); for (int t = 0; t < 3500; t++) { int stepResponseValue = stepResponse.GetValue(t); TestContext.WriteLine("StepResponse.GetValue({0}) = {1}", t, stepResponseValue); } }
private async Task <StepResponse> Step(StepAction stepAction, uint threadId) { await BeginRunStateTransition(); var fbb = BeginRequest(); int requestDataOffset = StepRequest.CreateStepRequest(fbb, stepAction, threadId); var response = await CommitRequest(fbb, RequestData.StepRequest, requestDataOffset); System.Diagnostics.Debug.Assert(response.ResponseDataType == ResponseData.StepResponse); var stepResponse = new StepResponse(); response.GetResponseData(stepResponse); await CompleteRunStateTransition(RunState.Paused); return(stepResponse); }
private static void Main() { IWorkflowStep currentStep = new CreateWorkflow(); while (true) { Console.Write(currentStep.ExplainStep()); StepResponse response = currentStep.CommitStep(Console.ReadLine()); if (response.Success) { Console.WriteLine(response.Message); currentStep = response.NextStep; } else { Console.WriteLine(response.Message); } } }
public static void HandleResponseReceived(string jsonResponse) { requestResponseBalance = true; //Just got a response to our request Debug.Log("Debugger sent us " + jsonResponse); QueryResponse currResponse = (JsonUtility.FromJson <QueryResponse>(jsonResponse)); switch (currResponse.responseType) { case "ACTION_RESPONSE": //Debug.Log("Received an action response"); ActionResponse curr = (JsonUtility.FromJson <ActionResponse>(jsonResponse)); //One ActionResponse includes a list of events for one atomic step List <ActorEvent> tempList1 = new List <ActorEvent>(); foreach (string ev in curr.events) { tempList1.Add(EventUnwrapper(ev)); } if (tempList1.Count > 0) { int stepNum = curr.stepNum; Trace.visualizationToDispatcherIndexMapper.Add(Trace.allEvents.Count, stepNum); //stepNum may be -1 for invalid dispatcher steps Trace.allEvents.Add(tempList1); } foreach (State st in curr.states) { StateUnwrapper(st); } break; case "TOPOGRAPHY_RESPONSE": TopographyResponse tr = (JsonUtility.FromJson <TopographyResponse>(jsonResponse)); //One TopographyResponse includes the type and ordered list of actors, which need to be unwrapped TopographyUnwrapper(tr); break; case "TAG_RESPONSE": TagActorResponse tar = (JsonUtility.FromJson <TagActorResponse>(jsonResponse)); TagResponseUnwrapper(tar); break; case "TAG_REACHED_RESPONSE": TagReachedResponse trr = (JsonUtility.FromJson <TagReachedResponse>(jsonResponse)); TagReachedResponseUnwrapper(trr); break; case "EOT_RESPONSE": EOTResponseUnwrapper(); break; case "SUPPRESS_ACTOR_RESPONSE": SuppressActorResponse sar = JsonUtility.FromJson <SuppressActorResponse>(jsonResponse); SuppressResponseUnwrapper(sar); break; case "STEP_RESPONSE": StepResponse sr = (JsonUtility.FromJson <StepResponse>(jsonResponse)); int id = sr.stepNum; //Store the StepNum Debug.Log("Received response of step " + (id + 1)); List <ActorEvent> listOfEvents = new List <ActorEvent>(); //This list consists of the net difference we need to do //Unwrap specific parts in the same way foreach (string ev in sr.events) { Trace.stepEvents.Add(EventUnwrapper(ev)); //Send these events to a special list } //State unwrapping is done later as the actors at prior stepNum are not the same as current stepNum //StateUnwrapping done in TraceImplement //Send message to Reevaluate log- newer logs need to be deleted SendMessageContext context = new SendMessageContext(VisualizationHandler.logHead, "ReevaluateList", id + 1, SendMessageOptions.RequireReceiver); SendMessageHelper.RegisterSendMessage(context); //state at n -1 is sent break; default: Debug.LogError("Unable to resolve to a particular class"); break; } }
internal virtual void SetPreviousStepReponse(StepResponse currentStepResponse) { }