protected override void ExecuteDetails(object context) { RegisterKeyRequest incoming = (RegisterKeyRequest)context; Tuple <bool, string, string, UserKey> result = KeyResourceManager.GetInstance().AddUserKey(incoming.Id, incoming.UserKey); if (result.Item1 == true) { var acknowledgement = new RegisterKeyResponse(result.Item3, result.Item4); acknowledgement.Code = ResponseCodes.SUCCESS; acknowledgement.Message = result.Item2; var envelope = new Envelope() { Message = acknowledgement, EndPoint = RemoteEndPoint }; if (!Send(envelope)) { Error = "Cannot send back acknowledgement"; } } else { var acknowledgement = new RegisterKeyResponse(result.Item3, result.Item4); acknowledgement.Code = ResponseCodes.FAIL; acknowledgement.Message = result.Item2; var envelope = new Envelope() { Message = acknowledgement, EndPoint = RemoteEndPoint }; if (!Send(envelope)) { Error = "Cannot send back acknowledgement"; } } }
protected override void ProcessValidResponse(Envelope env) { RegisterKeyResponse m = (RegisterKeyResponse)env.Message; if (m.Code == ResponseCodes.SUCCESS) { UserResourceManager.GetInstance().SetUserId(new Guid(m.UserId)); URM.SetUserKey(m.UserId, m.UserKey); MyState = State.Success; Console.WriteLine("Conversation Complete"); } else { MyState = State.Failed; Console.WriteLine("Conversation Failed: Server Responded with: " + m.Message); } return; }