silcfsm.html
SILC Finite State Machine Header: silcfsm.h
DESCRIPTION
SILC FSM Interface implements a finite state machine. The FSM can be
used to implement all kinds of machines and protocols. The FSM supports
also threads and can be synchronized by using mutex locks. The FSM
also supports real system threads. It is possible to create new FSM
thread and then execute in real system thread, if platform supports
threads.
The FSM provides also asynchronous events that can be used to wait for
some events or states to occur. The FSM events may be used as condition
variables and signallers. The FSM events can safely be used in FSM
threads that are executed in real system threads.
To synchronize machines that use FSM threads that are executed in real
system threads the SILC Mutex API (silcmutex.h) may be used. Normal
multi-threaded coding conventions apply when programming with real FSM
threads. If the FSM threads are not real system threads, synchronization
is not required.
SilcFSM
SilcFSMStruct
SilcFSMThread
SilcFSMThreadStruct
SILC_FSM_CONTINUE
SILC_FSM_YIELD
SILC_FSM_WAIT
SILC_FSM_FINISH
SilcFSMDestructor
SilcFSMThreadDestructor
SILC_FSM_STATE
SILC_FSM_CALL
SILC_FSM_CALL_CONTINUE
SILC_FSM_CALL_CONTINUE_SYNC
SILC_FSM_THREAD_WAIT
silc_fsm_alloc
silc_fsm_init
silc_fsm_thread_alloc
silc_fsm_thread_init
silc_fsm_free
silc_fsm_start
silc_fsm_start_sync
silc_fsm_next
silc_fsm_next_later
silc_fsm_continue
silc_fsm_continue_sync
silc_fsm_finish
silc_fsm_set_context
silc_fsm_get_context
silc_fsm_set_state_context
silc_fsm_get_state_context
silc_fsm_get_schedule
silc_fsm_get_machine
silc_fsm_is_started
SilcFSMEvent
SilcFSMEventStruct
silc_fsm_event_alloc
silc_fsm_event_init
silc_fsm_event_free
SILC_FSM_EVENT_WAIT
SILC_FSM_EVENT_TIMEDWAIT
SILC_FSM_EVENT_SIGNAL
|