Function silc_fsm_next_later
SYNOPSIS
void silc_fsm_next_later(void *fsm, SilcFSMStateCallback next_state,
SilcUInt32 seconds, SilcUInt32 useconds);
DESCRIPTION
Set the next state to be executed later, at the specified time.
The SILC_FSM_WAIT must be returned in the state function if this
function is called. If any other state is returned machine operation
is undefined. The machine or thread will move to `next_state' after
the specified timeout. This function is used with both SilcFSM and
SilcFSMThread contexts.
NOTES
If both `seconds' and `useconds' are 0, the effect is same as calling
silc_fsm_next function, and SILC_FSM_CONTINUE must be returned.
If silc_fsm_continue or silc_fsm_continue_sync is called while the
machine or thread is in SILC_FSM_WAIT state the timeout is automatically
canceled and the state moves to the next state.
EXAMPLE
// Move to next state after 10 seconds
silc_fsm_next_later(fsm, next_state, 10, 0);
return SILC_FSM_WAIT;
|