Example #1
0
        public void SendWithoutConnection()
        {
            ReliableProtocol pc1 = new ReliableProtocol("10.0.0.2", "00-11-22-33-44-55", 80);
            ReliableProtocol pc2 = new ReliableProtocol("192.168.1.2", "FF-DD-EE-CC-BB-AA", 443);

            var    pc1tmp = pc1.Send(new Message(ReliableProtocol.SEND, "message"));
            Bitset pc2tmp = pc1tmp;
            bool   one    = true;

            while (pc1tmp != null && pc2tmp != null)
            {
                if (one)
                {
                    one    = false;
                    pc2tmp = pc2.Recieve(pc1tmp);
                }
                else
                {
                    one    = true;
                    pc1tmp = pc1.Recieve(pc2tmp);
                }
            }

            Assert.AreEqual(ReliableProtocol.REJECT, pc1.status);

            Assert.AreEqual(ReliableProtocol.REJECT, pc2.status);
        }
Example #2
0
        public void SendAgain()
        {
            ReliableProtocol pc1 = new ReliableProtocol("10.0.0.2", "00-11-22-33-44-55", 80);
            ReliableProtocol pc2 = new ReliableProtocol("192.168.1.2", "FF-DD-EE-CC-BB-AA", 443);



            var    pc1tmp = pc1.SendSyncAck();
            Bitset pc2tmp = pc1tmp;
            bool   one    = true;

            while (pc1tmp != null && pc2tmp != null)
            {
                if (one || pc1.SentAgain)
                {
                    pc2tmp = pc2.Recieve(pc1tmp);
                }
                if (!one || pc2.SentAgain)
                {
                    pc1tmp = pc1.Recieve(pc2tmp);
                }
                one = !one;
            }
            Assert.AreEqual(ReliableProtocol.READY, pc1.status);
            Assert.AreEqual(ReliableProtocol.READY, pc2.status);
        }
Example #3
0
        public void Reject()
        {
            ReliableProtocol pc1 = new ReliableProtocol("10.0.0.2", "00-11-22-33-44-55", 80);
            ReliableProtocol pc2 = new ReliableProtocol("192.168.1.2", "FF-DD-EE-CC-BB-AA", 443);

            var pc1tmp = pc1.SendSyncAck();

            pc1.Recieve(pc2.Send(new Message(ReliableProtocol.REJECT, "rejtected")));

            Assert.AreEqual(ReliableProtocol.REJECT, pc1.status);

            Assert.AreEqual(ReliableProtocol.REJECT, pc2.status);
        }
Example #4
0
        static void Main(string[] args)
        {
            var pc1 = new ReliableProtocol("10.0.0.2", "00-11-22-33-44-55", 80);

            pc1.id = 1;
            var pc2 = new ReliableProtocol("192.168.1.2", "FF-DD-EE-CC-BB-AA", 443);

            pc2.id = 2;

            var simulator = new Simulator(pc1, pc2);

            simulator.SetIteration(2).SetLosingMessageRatio(0.5).SetMessageWaitingInterval(100);

            simulator.Simulate();
        }