Function SilcTaskNotifyCb
SYNOPSIS
typedef void (*SilcTaskNotifyCb)(SilcSchedule schedule,
SilcBool added, SilcTask task,
SilcBool fd_task, SilcUInt32 fd,
SilcTaskEvent event,
long seconds, long useconds,
void *context);
DESCRIPTION
Task notify callback. Callback of this type can be set to scheduler
by calling silc_schedule_set_notify and will be called whenever new
task is added or old task is removed. If `added' is TRUE then `task'
is added to scheduler. If `added' is FALSE then `task' will be removed
from the scheduler. If `fd_task' is TRUE the `task' is file descriptor
task and has `fd' is its file descriptor. If `fd_task' is FALSE then
the task is timeout task and `seconds' and `useconds' specify the
timeout. The `context' is the context given to silc_schedule_set_notify.
NOTES
The `schedule' is locked while this callback is called. This means that
new tasks cannot be added or removed inside this callback.
When timeout task expires this callback is not called. This is called
only when task is explicitly deleted from the scheduler. Note that,
when timeout task expires it is removed from the scheduler and `task'
will become invalid.
If fd task changes its events, this will be called as if it was a new
task with different `event' mask.
|