Class
DexFiber
Description [src]
final class Dex.Fiber : GObject.TypeInstance {
/* No available fields */
}
DexFiber
is a fiber (or coroutine) which itself is a DexFuture
.
When the fiber completes execution it will either resolve or reject the with the result or error.
You may treat a DexFiber
like any other DexFuture
which makes it simple
to integrate fibers into other processing chains.
DexFiber
are provided their own stack seperate from a threads main stack,
They are automatically scheduled as necessary.
Use dex_await()
and similar functions to await the result of another future
within the fiber and the fiber will be suspended allowing another fiber to
run and/or the rest of the applications main loop.
Once a fiber is created, it is pinned to that scheduler. Use
dex_scheduler_spawn()
to create a fiber on a specific scheduler.
Instance methods
Methods inherited from DexFuture (23)
dex_await
Suspends the current DexFiber
and resumes when future
has completed.
dex_await_boolean
Awaits on future
and returns the gboolean result.
dex_await_boxed
Awaits on future
and returns the G_TYPE_BOXED
based result.
dex_await_double
Awaits on future
and returns the result as an double.
dex_await_enum
Awaits on future
and returns the enum result.
dex_await_flags
Awaits on future
and returns the flags result.
dex_await_float
Awaits on future
and returns the result as an float.
dex_await_int
Awaits on future
and returns the result as an int.
dex_await_int64
Awaits on future
and returns the result as an int64.
dex_await_object
Awaits on future
and returns the GObject
-based result.
dex_await_pointer
Calls dex_await()
and returns the value of g_value_get_pointer(),
otherwise error
is set if the future rejected.
dex_await_string
Awaits on future
and returns the string result.
dex_await_uint
Awaits on future
and returns the result as an uint.
dex_await_uint64
Awaits on future
and returns the result as an uint64.
dex_await_variant
Awaits on future
and returns the G_TYPE_VARIANT
based result.
since: 0.4
dex_future_disown
Disowns a future, allowing it to run to completion even though there may be no observer interested in the futures completion or rejection.
since: 0.4
dex_future_get_name
dex_future_get_status
dex_future_get_value
dex_future_is_pending
This is a convenience function equivalent to calling
dex_future_get_status()
and checking for DEX_FUTURE_STATUS_PENDING
.
dex_future_is_rejected
This is a convenience function equivalent to calling
dex_future_get_status()
and checking for DEX_FUTURE_STATUS_REJECTED
.
dex_future_is_resolved
This is a convenience function equivalent to calling
dex_future_get_status()
and checking for DEX_FUTURE_STATUS_RESOLVED
.
dex_future_set_static_name
Sets the name of the future with a static/internal string.