On Tue, Apr 20, 2010 at 7:15 AM, Argent Stonecutter
<secret.arg...@gmail.com> wrote:
> On 2010-04-19, at 19:42, Joshua Bell wrote:
>>
>> That's a completely different issue. The lower level transport
>> protocol guarantees reliable delivery of certain types of messages -
>> packets are ack'd and resent if missed.
>
> 1. Are these messages actually being handled by that mechanism?

As far as I can tell from inspection of the code, yes. I don't know
how to correlate that with the actual behavior of the system any more
than you do, however. :(

> 2. I have seen similar failure modes in downloads over TCP where the
> end-user software declined to cross reference the expected size of the file
> and the size of the file actually transferred and reported a complete
> transfer when it wasn't actually completed. Not only does the lower level
> transport have to guarantee delivery, the higher level has to notice whether
> that happened or not. Telling it how many objects to expect (size of the
> file) or transferring a terminating token (eg, the way zip puts the
> directory at the end of the archive... which is how I discovered this
> problem) is a common safeguard.

Completely agreed. TCP guarantees the integrity of the stream, but by
itself provides no metadata about what's being transported on top of
it or that all of the data was sent. Common transfer mechanisms like
FTP and HTTP provide that, but even those don't guarantee that the
recipient processed the data it received. (Which, FWIW, motivated the
design of http://wiki.secondlife.com/wiki/Chttp)

As I mentioned previously, any new additions to the SL protocol use a
network stack with multiple layers of reliability, security and
metadata to provide transport of data that's more easily reasoned
about.
_______________________________________________
Policies and (un)subscribe information available here:
http://wiki.secondlife.com/wiki/OpenSource-Dev
Please read the policies before posting to keep unmoderated posting privileges

Reply via email to