Jump to content
SubSpace Forum Network

Recommended Posts

Posted
I never claimed your code didn't match SS. I claim you are both wrong. It is possible for your clock to be 80ms ahead of server, and mine to be exact. It is possible for a packet to get from you to me in 70ms. Therefore it is possible for me to get a packet 10ms before it was sent. Therefore your calculations will incorrectly wrap. Clamping or not, this will happen.
Posted

...*clears throat*....

 

Ladies and gentlemen of the supposed jury, I have one final thing I want you to consider: (*pulls down a diagram of Chewie*) this is Chewbacca. Chewbacca is a Wookiee from the planet Kashyyyk, but Chewbacca lives on the planet Endor. Now, think about that. That does not make sense!

 

Why would a Wookiee -- an eight foot tall Wookiee -- want to live on Endor with a bunch of two foot tall Ewoks? That does not make sense!

 

But more importantly, you have to ask yourself: what does that have to do with this case? Nothing. Ladies and gentlemen, it has nothing to do with this case! It does not make sense!

 

Look at me, I'm a lawyer defending a major record company, and I'm talkin' about Chewbacca. Does that make sense? Ladies and gentlemen, I am not making any sense. None of this makes sense.

 

And so you have to remember, when you're in that jury room deliberating and conjugating the Emancipation Proclamation... does it make sense? No! Ladies and gentlemen of this supposed jury, it does not make sense.

 

If Chewbacca lives on Endor, you must acquit! The defense rests.

 

Later in that same episode, Cochran has a change of heart and defends Chef when Chef sues the record company. Again, he uses the Chewbacca Defense, although with some minor changes:

 

Ladies and gentlemen of this supposed jury, you must now decided whether to reverse the decision for my client Chef. I know he seems guilty, but ladies and gentlemen... (*pulls down a diagram of Chewbacca*) This is Chewbacca. Now think about that for one moment -- that does not make sense. Why am I talking about Chewbacca when a man's life is on the line? Why? I'll tell you why: I don't know.

 

It does not make sense. If Chewbacca does not make sense, you must acquit!

Posted

Southpark rules :lol:

 

 

"It is possible for your clock to be 80ms ahead of server, and mine to be exact. It is possible for a packet to get from you to me in 70ms. Therefore it is possible for me to get a packet 10ms before it was sent. Therefore your calculations will incorrectly wrap. Clamping or not, this will happen."

 

cat_time = server_time + 80

ek_time = server_time

transit_time <= 70

80 > 70

true

 

Okay, but it doesn't matter how they wrap so long as the bounds are taken. The values get clamped to zero when they go negative or really large positive, ie. when they wrap. In other words, SubSpace never has negative calculated transit time, so there's no problem.

 

I really don't see what else there is to dispute about this. If you believe that timestamps should be allowed to come in higher than local timestamps, then say that. It's wrong, but at least say what you mean.

Posted
Ok, so you and SS basically say if an event happens in the future, assume it happens NOW. That's fine. I still feel, however, that it's poor coding to allow improper wrapping of the timestamp with the !@#$%^&*umption that the value will be "luckily" handled later. So this disagreement comes down to coding style I guess, which is not worth arguing about.
Posted
If anyone else is interested in understanding this issue, just ask.
I read this "0x00010001 sent as 0x0001 received at 0x0000ffff becomes 0x00010001 (+1)". How can 0xFFFF + 0x1 = 0x10001? Looks like 0x10000 to me.

"0x00010008 becomes 0x0000ffff (-1)" so 0x10008 - 0x1 = 0xFFFF?

Posted
It's shorthand notation for what's going on. If you receive a packet at 0x0000ffff and the timestamp is 0x0001, you need to find the closest time to "now" that the timestamp is in full 32 bits. The closest value to 0x0000ffff ending in 0x0001 is 0x00010001, so the net effect is adding 1 to the upper 16-bits of your version of the server time. That make sense? blum.gif
Guest
This topic is now closed to further replies.
×
×
  • Create New...