private async Task HandleMessage(MessageReceivedMessage sender) { if (sender.Value.status == 0 && sender.Value.msgId == requestID) { var creds = await credentials; creds.Email = EmailAddress; creds.EmpireName = EmpireName; loginCache.UpdateCache(creds); Device.BeginInvokeOnMainThread(() => { new ConfirmRegistrationMessage(); }); } else { await CoreMethods.DisplayAlert("Error", sender.Value.message, "Ok"); } }
protected abstract void HandleMessage(MessageReceivedMessage sender);
protected override void HandleMessage(MessageReceivedMessage sender) { }
private void InitHandlers() { MessagingFilter MessagingFilter = new MessagingFilter() { ReceivingMessageAction = (Node, Payload) => { String fromNode = Node == null ? "-" : Node.RemoteSocketAddress + ":" + Node.RemoteSocketPort; LogMessageContext.Create("Received message (" + fromNode + ") : " + Utils.GetPayloadContent(Payload)); MessageReceivedMessage MessageReceivedMessage = new MessageReceivedMessage(); if (Node != null) { MessageReceivedMessage.NodeInfo = new NodeInfo() { Address = fromNode, PeerAddress = Node.RemoteSocketAddress + ":" + Node.RemoteSocketPort }; } MessageReceivedMessage.MessageInfo = new MessageInfo() { Type = Payload.GetType().ToString(), Content = Utils.GetPayloadContent(Payload) }; PushMessage(MessageReceivedMessage); }, SendingMessageAction = (Node, Payload) => { String toNode = Node == null ? "-" : Node.RemoteSocketAddress + ":" + Node.RemoteSocketPort; LogMessageContext.Create("Sending message (" + toNode + ") : " + Utils.GetPayloadContent(Payload)); MessageSentMessage MessageSentMessage = new MessageSentMessage(); if (Node != null) { MessageSentMessage.NodeInfo = new NodeInfo() { Address = toNode, PeerAddress = Node.RemoteSocketAddress + ":" + Node.RemoteSocketPort }; } MessageSentMessage.MessageInfo = new MessageInfo() { Type = Payload.GetType().ToString(), Content = Utils.GetPayloadContent(Payload) }; PushMessage(MessageSentMessage); }, }; _Server.OnNodeAdded((sender, node) => { LogMessageContext.Create("Node connected (" + node.RemoteSocketAddress + ":" + node.RemoteSocketPort + ")"); PushMessage(new NodeConnectedMessage() { NodeInfo = new NodeInfo() { Address = node.RemoteSocketAddress + ":" + node.RemoteSocketPort, PeerAddress = node.Peer.Endpoint.ToString() } }); node.Filters.Add(MessagingFilter); }); }