Re: [PATCH 3/6]: Fix calculation of t_ipi time of scheduled transmission

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Quoting Ian McDonald:
|  > +                * if (t_now > t_nom - delta)
|  > +                *       // send the packet now
|  > +                * else
|  > +                *       // send the packet in (t_nom - t_now) milliseconds.
|  > +                */
|  > +               if (delay < hctx->ccid3hctx_delta)
|  > +                       rc = 0;
|  > +               else
|  > +                       rc = delay/1000L;
|  
|  Shouldn't that last line be rc = (delay-hctx->ccid3hctx_delta)/1000 as
|  you're not taking the delta into account on the else clause.

The value of `delay' is the difference between t_nom = t_(i+1) and t_now:

	delay = timeval_delta(&hctx->ccid3hctx_t_nom, &now);

If this difference is less than delta (which includes the case when t_now is
later than t_nom such that the difference is negative), then the packet is sent now.

If the difference is greater than delta then t_now < t_nom and the packet is too early
to be sent; [RFC 3448, 4.6] says to reschedule in 

          t_ipi - (t_now - t_i) = t_ipi - (t_now - t_i) = (t_i + t_ipi) - t_now
                                                        = t_(i+1)       - t_now
                                                        = t_nom         - t_now

Hence we can reuse the timeval_delta. Maybe the variable should be renamed to highlight
the fact that it is a time difference, but I quite liked `delay'.
-
To unsubscribe from this list: send the line "unsubscribe dccp" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [IETF DCCP]     [Linux Networking]     [Git]     [Security]     [Linux Assembly]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux