Dex.StateTransitionContext.continue_to

### Method

# Dex StateTransitionContextcontinue_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: `guint`

  The 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 a `NULL` `GError*`.
  The argument will be left initialized to `NULL` by 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.

#### Return value

Type: `gboolean`

`TRUE` if the continuation succeeded; otherwise `FALSE`.