/// <summary> /// Przetwarza dane otrzymane od serwera, określa czy są odpowiedzią na zapytanie, czy sygnałem od serwera /// </summary> /// <param name="data">Dane do przetworzenia</param> protected void ProcessReceivedData(JObject data) { var serializer = new StandardResponseWrapperSerializer(data); try { serializer.Validate(); } catch (ValidationException e) { Console.WriteLine("Wystąpił błąd walidacji odpowiedzi: \n" + e.GetJson()); return; } // Przypadek odpowiedzi na zapytanie wysłane przez socket if (serializer.CommunicateType == "REQUEST_RESPONSE" || serializer.CommunicateType == "REQUEST_ERROR" || serializer.CommunicateType == "AUTHORIZATION") { long id = serializer.RequestCode; if (OnGoingRequests.ContainsKey(id)) { Request request = OnGoingRequests[id]; request.AttachResponse(serializer.Data); request.ResponseType = serializer.CommunicateType; OnGoingRequests.Remove(id); RequestResponseReceived?.Invoke(this, request); } else { Console.WriteLine("Zapytanie z identyfikatorem nie znalezione: " + id); } } else { SignalReceived?.Invoke(this, serializer); } }
public void ReceiveResponse(long messageId, bool success) { RequestResponseReceived.Raise(this, new RequestResponseReceivedEventArgs(StitchInstanceId, messageId, success)); }
private void OnStitchResponseReceived(object sender, RequestResponseReceivedEventArgs e) { RequestResponseReceived.Raise(this, e); }
/// <summary> /// OnRequestResponseReceived initiates a RequestResponseReceived event /// </summary> /// <param name="response">A Response object containing the response from the service</param> protected virtual void OnRequestResponseReceived(Response response) { var e = new RequestResponseReceivedEventArgs(response); RequestResponseReceived?.Invoke(this, e); }