Exemple #1
0
        public void Constructor_ValuesInitialized()
        {
            var uut = new Rrepack();

            Assert.AreEqual(MessageType.Rrepack, uut.Type);
            Assert.AreEqual(2, uut.Size);
        }
Exemple #2
0
        public void CopyConstructor_ValuesInitialized()
        {
            var rrepack = new Rrepack();
            var uut     = new Rrepack(rrepack);

            Assert.AreEqual(rrepack.Type, uut.Type);
            Assert.AreEqual(rrepack.Size, uut.Size);
        }
        public Message(Message msg) //Copy constructor
        {
            DestinationAddress = msg.DestinationAddress;
            PreviousHop        = msg.PreviousHop;
            SourceAddress      = msg.SourceAddress;
            Ttl      = msg.Ttl;
            HopCount = msg.HopCount;

            switch (msg.Type)
            {
            case MessageType.Rreq:
                var rreq = (Rreq)msg.Payload;
                Payload = new Rreq(rreq);
                break;

            case MessageType.Rrep:
                var rrep = (Rrep)msg.Payload;
                Payload = new Rrep(rrep);
                break;

            case MessageType.Rerr:
                var rerr = (Rerr)msg.Payload;
                Payload = new Rerr(rerr);
                break;

            case MessageType.Rrepack:
                var rrepack = (Rrepack)msg.Payload;
                Payload = new Rrepack(rrepack);
                break;

            case MessageType.Data:
                var data = (DataMsg)msg.Payload;
                Payload = new DataMsg(data);
                break;

            case MessageType.Hello:
                var hello = (Hello)msg.Payload;
                Payload = new Hello(hello);
                break;
            }

            TotalPropagationDelay = msg.TotalPropagationDelay;
        }