21 lines
565 B
C
21 lines
565 B
C
|
|
|
||
|
|
enum e_future_error
|
||
|
|
{
|
||
|
|
FUTURE_ERROR_CANCEL,
|
||
|
|
FUTURE_ERROR_EXCEPTION,
|
||
|
|
FUTURE_ERROR_TIMEOUT
|
||
|
|
};
|
||
|
|
struct promise;
|
||
|
|
struct future;
|
||
|
|
typedef void (*future_success_cb)(void * result, void * user);
|
||
|
|
typedef void (*future_failed_cb)(enum e_future_error err, const char * what, void * user);
|
||
|
|
typedef void (*promise_ctx_destroy_cb)(struct promise* p);
|
||
|
|
|
||
|
|
struct future* future_create(future_success_cb * cb_success, future_failed_cb * cb_failed, void * user);
|
||
|
|
|
||
|
|
struct future* promise_to_future(struct promise* p);
|
||
|
|
struct promise* future_to_promise(struct future* f);
|
||
|
|
|
||
|
|
|
||
|
|
|