Example #1
0
        public Rdt21(VirtualSocket client) : base()
        {
            socket = client;
            rdt    = new RdtUtils();
            socket.Start();

            socket.OnReceive += RdtReceive;
        }
Example #2
0
        /*This implementation has flaw where gbnWindow doesn't mean window per se,
         * more like whole seqnum space...Will do proper way with selective repeat.*/
        public GoBackN(VirtualSocket socket)
        {
            rdt         = new RdtUtils();
            this.socket = socket;
            socket.Start();

            socket.OnReceive += RdtReceive;

            gbnSendDictionary = new Dictionary <int, byte[]>();
            gbnLatestAck      = rdt.MakeAck(0);
        }
Example #3
0
 public SelectiveRepeat(VirtualSocket client)
 {
     cts        = new CancellationTokenSource();
     rcvBucket  = new Bucket();
     sendBucket = new Bucket();
     rdt        = new RdtUtils();
     socket     = client;
     socket.Start();
     socket.OnReceive += RdtReceive;
     StartDumbTimer(cts.Token);
 }
Example #4
0
        public Rdt30(VirtualSocket client) : base()
        {
            socket = client;
            rdt    = new RdtUtils();
            socket.Start();

            timer         = new System.Windows.Forms.Timer();
            timer.Enabled = false;

            socket.OnReceive += RdtReceive;
        }
Example #5
0
 //protected byte[][] buffer;
 public Rdt22(VirtualSocket client) : base()
 {
     socket = client;
     rdt    = new RdtUtils();
     socket.Start();
     state                  = (int)STATE22.wait0r;
     socket.OnReceive      += RdtReceive;
     previouslySentDatagram = null;
     seq = 0;
     //buffer = new byte[2][];
     timer         = new System.Windows.Forms.Timer();
     timer.Enabled = false;
 }
Example #6
0
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                client                      = new VirtualSocket(int.Parse(textBox_clientport.Text), int.Parse(textBox_serverport.Text));
                client.OnDeliver           += HandlerMessageFromRdt;
                groupBoxProtocolBox.Enabled = true;

                //StartUdpSocketListener();

                //sendButton.Enabled = true;
            } catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }