You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When a client invokes an operation, we typically have the following interaction scheme, if client-side layout is switched on:
C --> S: ExecuteOperationAction
|
C <-- S: ComputeBoundsAction
|
C --> S: ComputedBoundsAction
|
C <-- S: UpdateModelAction
If the client invokes multiple operations in a short time, it may happen that the second operation invocation is sent before the UpdateModelAction from the first operation has arrived. This may lead to strange behavior in the diagram, as it may seem to the user that the second, third, ... action is undone. This is because the "visual feedback" of a ChangeBoundsAction (client-side local move) is first applied on the client and is then reset by the UpdateModelAction sent by the server before it is applied again by a following UpdateModelAction.
A possible approach could be introducing an action queue on the server and waiting for the ComputedBoundsAction from the client before a next incoming action (if it is an operation) is processed. This queue would ensure that the operations are not processed before the entire interaction scheme is completed. However, it may not be sufficient to avoid resetting and reapplying the actions caused by multiple ChangeBoundsActions that lead to sequential UpdateModelActions. Therefore, we may have to batch those operations (skipping the UpdateModelAction).
The text was updated successfully, but these errors were encountered:
When a client invokes an operation, we typically have the following interaction scheme, if client-side layout is switched on:
If the client invokes multiple operations in a short time, it may happen that the second operation invocation is sent before the
UpdateModelAction
from the first operation has arrived. This may lead to strange behavior in the diagram, as it may seem to the user that the second, third, ... action is undone. This is because the "visual feedback" of aChangeBoundsAction
(client-side local move) is first applied on the client and is then reset by theUpdateModelAction
sent by the server before it is applied again by a followingUpdateModelAction
.A possible approach could be introducing an action queue on the server and waiting for the
ComputedBoundsAction
from the client before a next incoming action (if it is an operation) is processed. This queue would ensure that the operations are not processed before the entire interaction scheme is completed. However, it may not be sufficient to avoid resetting and reapplying the actions caused by multipleChangeBoundsAction
s that lead to sequentialUpdateModelAction
s. Therefore, we may have to batch those operations (skipping theUpdateModelAction
).The text was updated successfully, but these errors were encountered: