Exemplo n.º 1
0
        public override Message OnReceiveMessage(Message message)
        {
            FreezeCheck();
            DelayCheck();

            Log("Received message from : " + message.SrcRemoteURL);


            // if an Elect message, define new master as the one included in the Elect message
            if (message.GetType() == typeof(Elect))
            {
                return(ProcessElect((Elect)message));
            }

            if (message.GetType().IsSubclassOf(typeof(Request)))
            {
                Behaviour.ProcessRequest((Request)message);
                return(message); //TODO
            }

            if (message.GetType() == typeof(Order))
            {
                return(Behaviour.ProcessOrder((Order)message));
            }



            throw new NotImplementedException();
        }