Data Fields
_Eina_Future_Scheduler Struct Reference

This struct is used as a bridge between Eina and the future scheduler. More...

#include <eina_promise.h>

Data Fields

Eina_Future_Schedule_Entry *(* schedule )(Eina_Future_Scheduler *scheduler, Eina_Future_Scheduler_Cb cb, Eina_Future *f, Eina_Value value)
 Called by Eina_Future when a delivery must be scheduled to a safe context. More...
 
void(* recall )(Eina_Future_Schedule_Entry *entry)
 Called by Eina_Future when a delivery must be canceled. More...
 

Detailed Description

This struct is used as a bridge between Eina and the future scheduler.

By using the functions provided by _Eina_Future_Scheduler Eina can schedule futures resolutions, rejections and cancellations to a safe context.

See also
eina_promise_new()
Eina_Future_Schedule_Entry
Eina_Future_Scheduler_Cb

Field Documentation

◆ schedule

Eina_Future_Schedule_Entry *(* _Eina_Future_Scheduler::schedule) (Eina_Future_Scheduler *scheduler, Eina_Future_Scheduler_Cb cb, Eina_Future *f, Eina_Value value)

Called by Eina_Future when a delivery must be scheduled to a safe context.

i.e.: after eina_promise_resolve()

Note
Must not be NULL

Must call back from a safe context using cb(f,value)

Parameters
[in,out]schedulerThe scheduler to use.
[in]cbThe Eina_Future_Scheduler_Cb to be called and deliver the f and value.
[in]fThe future to be delivered to cb
[in]valueThe value to be delivered to cb
Returns
A scheduled entry or NULL on error

Referenced by eina_promise_new().

◆ recall

void(* _Eina_Future_Scheduler::recall) (Eina_Future_Schedule_Entry *entry)

Called by Eina_Future when a delivery must be canceled.

i.e.: after eina_future_cancel()

Note
Must not be NULL.
Parameters
[in,out]entryThe scheduled event to cancel

Referenced by eina_promise_new().