public void OnMessage(Gs2SessionTaskId gs2SessionTaskId, Gs2Response gs2Response) { using (var scopedLock = new NonreentrantLock.ScopedLock(_lock)) { _gs2SessionTaskList.Find(v => v.Gs2SessionTaskId == gs2SessionTaskId)?.Complete(gs2Response); } }
public Gs2WebSocketResponse(string message) : base(message) { try { var gs2Message = Gs2Message.FromDict(JsonMapper.ToObject(message)); Body = gs2Message.body; var errorMessage = ""; if (gs2Message.status != 200) { var error = GeneralError.FromDict(gs2Message.body); if (error != null) { errorMessage = error.Message; } else { errorMessage = message; } } Error = ExtractError(errorMessage, gs2Message.status ?? 0); Gs2SessionTaskId = new Gs2SessionTaskId(gs2Message.requestId); } catch (System.Exception) { Error = new UnknownException("JSON parsing error: \n" + message); Gs2SessionTaskId = Gs2SessionTaskId.InvalidId; } }
public IEnumerator Send(Gs2RestSession gs2RestSession, Gs2SessionTaskId gs2SessionTaskId) { _gs2RestSession = gs2RestSession; _gs2SessionTaskId = gs2SessionTaskId; return(Send()); }