[Verse-dev] [Verse-dev]understanding event collapse

Eskil Steenberg verse-dev@blender.org
Wed, 18 Aug 2004 17:38:48 +0200


Hi!

>So this is another good example where a change command would be a benefit.
>If you send the first create command and after that a change command may
>looking like that:
>
>verse_send_b_init_dimensions(2, 128, 128, 1);
>verse_send_b_change_dimensions(2, 256, 256, 1);
>
>you would have no problems with overwriting something. If the change command
>arrives before the create command nothing will happen! and then the create
>command arrives and will create a layer.
>Yes - the change is lost, but you won't have wrong data. But what you then
>can think of is a stack that holds the change command for a short time. and
>looks for an arriving create command that contains the layer or node that
>you wish to change......
>
>  
>
You dont seem to have under stood what the event compression does, 
because the event compression as it is right now deals with this so that 
you do get the right data, and that data arrives securely, with no 
look-ups.and you dont always have to wait for re-sends. (anything else 
is a bug in the implementation)

The example you describe above will get you, non-secure state (since the 
state is wrong in the receiving end), more API where there is no 
difference in arguments. Then you describe how you have to wait for the 
init command to be re sent to be able to apply the change command (in 
other words a look-up). And how the user should do this, giving way more 
responsibility to the programmer to actually see to that the data gets 
there. (right now the client may not get the same data back from the 
server as it set to it, but if it doesnt there is no reason to resend 
the data because the client will know that the changes got rejected by 
the servers security system and not because it didnt get there).

To me it is very clear that you have not understood how the event 
compression works despite my long winding mail. I dont know how to 
explain it in other terms. Does any one besides me and Emil understand 
this? The tip I can give is for you to re-read the my mails, read the 
spec, read the verse source, and the page on networking on the site. 
(http://www.blender.org/modules/verse/network.htm)

I dont see much point in discussing changes when you dont understand how 
thing work right now.

Cheers

E