Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Branch/no model tick #473

Open
wants to merge 21 commits into
base: development
Choose a base branch
from
Open

Branch/no model tick #473

wants to merge 21 commits into from

Conversation

scottnc27603
Copy link
Member

This is a copy of the branch/tickless-model without all of the merges. The changes from tickless-model were cherry-picked due to some strange issues with the merges/rebases.

davideaster and others added 21 commits February 23, 2015 16:55
There isn't any reason to delay execution. `kernel.tick` is still called
exactly once per reflector tick.

Also, don't bother advancing time after the last authorized action.
Nothing executes at that time if it is between actions, so nothing will
see it.

This is in preparation for keeping tick messages out of the queue.
If the model sees individual tick messages, then unexecuted ticks are
part of the application state. All ticks must pass through the message
queue, and unexecuted ticks must be included in the replication and
persistence data.

This adds unnecessary bulk to the state data and can increase buffer
delays during poor network conditions. It also prevents the reflector
from ticking clients on slower networks at a slower rate.

This commit interprets reflector ticks only as authorization to move
kernel time forward. Ticks are no longer placed in the queue.
`model.ticking` is no longer called on model drivers, and `node.tick` is
no longer called for nodes providing a `tick` function.

`view.ticked` is still called for view drivers since views don't affect
the application state. View ticks are still called exactly once per
reflector tick message.

Nodes and model drivers that make use of tick messages will need to be
updated. If necessary, the kernel may be able to insert `future` calls
to provide backward compatability.
@davideaster
Copy link
Member

The previous PR is #450 on branch/tickless-model.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants