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(); }