[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