Method
DexStateTransitionContextcontinue_to
unstable since: 1.2
Declaration [src]
gboolean
dex_state_transition_context_continue_to (
DexStateTransitionContext* context,
guint target,
GError** error
)
Description [src]
Attempts to continue from the current transition to target immediately.
The continuation runs while the state machine still holds its internal
serialization slot, so queued dex_state_machine_transition() requests
are not processed first. If context has not explicitly set the state with
dex_state_transition_context_set_state(), the current edge target is
committed before the next edge is executed.
The next transition callback is called before this function returns. If that
callback uses dex_await(), the same transition fiber suspends and resumes,
while the state machine still holds the serialization slot. Chained
continuations therefore use the normal C call stack and should be reserved
for short, bounded chains rather than unbounded graph traversal.
The next edge is looked up from the real current state to target. If no
such edge exists, FALSE is returned and error is set to
DEX_ERROR_INVALID_TRANSITION. If the next edge callback fails, its
error is propagated.
Available since: 1.2
Parameters
target-
Type:
guintThe target state for the next edge.
error-
Type:
GError **The return location for a recoverable error.
The argument can be NULL.If the return location is not NULL, then you must initialize it to aNULLGError*.The argument will be left initialized to NULLby the method if there are no errors.In case of error, the argument will be set to a newly allocated GError; the caller will take ownership of the data, and be responsible for freeing it.