huitema / quic-in-space

Discuss QUIC in Space, produce draft
Other
1 stars 1 forks source link

32 bits vars #8

Open marcblanchet opened 10 months ago

marcblanchet commented 10 months ago

As you found in picoquic, time related vars that encode microseconds will be short if encoded as 32 bit integer, which means around 30 minutes max. There should be some text about that.

marcblanchet commented 10 months ago

I can start one if you'd like

huitema commented 10 months ago

~They are 64 bits by default. Where do se use 32 bits?~

Sorry, I misread the question. Yes, that's a potential issue. Note that the RFC does not ask anyone to store the time variables as microseconds. The ACK frame has an "ACK Delay" variable nominally in microseconds, but each endpoint can use an "ack_delay_exponent" of up to 20, and the microsecond value is "ack_delay<<exponent" -- use exponent 10 for milliseconds, give or take. RFC9002 introduces a value "kGranularity", effectively the unit of time for computation of RTT, etc., and the recommended value is 1ms.

Using ms, 32 bits would last about 49 days. Not great, but not 30 minutes...