/// <summary>
        /// Process the peer messages
        /// </summary>
        private void PeerOnMessageReceivedEvent(IClient sender, MessageEventArgs messageArgs)
        {
            var message = messageArgs.Message;

            if (message == null)
            {
                return;
            }

            switch (message.TypeOfMessage)
            {
            case MessageType.Request:
                switch (((RequestMessage)message).RequestedMessageType)
                {
                case MessageType.Ping:
                    _superPeerNode.GetClientInfo().LastPingMesssageDateTime = DateTime.Now;
                    break;

                case MessageType.CloseConnection:
                    _superPeerNode.GetSuperPeerClient().Close();
                    break;
                }
                break;

            default:
                if (_superPeerNode is SuperPeerClient)
                {
                    new ClientMessageManager((SuperPeerClient)_superPeerNode).ClientPeerOnMessageReceivedEvent(sender, messageArgs);
                }
                else if (_superPeerNode is SuperPeerServer)
                {
                    new ServerMessageManager((SuperPeerServer)_superPeerNode).ServerPeerOnMessageReceivedEvent(sender, messageArgs);
                }
                break;
            }
        }
Example #2
0
 private void StartListeningMessagesFromSuperPeerNode(SuperPeerNode superPeerNode)
 {
     superPeerNode.GetClientInfo().Client.ListenMessages();
 }
Example #3
0
 private void StartListeningMessagesFromSuperPeerNode(SuperPeerNode superPeerNode)
 {
     superPeerNode.GetClientInfo().Client.ListenMessages();
 }