|
M0_INTERNAL void | m0_sm_group_init (struct m0_sm_group *grp) |
|
M0_INTERNAL void | m0_sm_group_fini (struct m0_sm_group *grp) |
|
static void | _sm_group_lock (struct m0_sm_group *grp) |
|
M0_INTERNAL void | m0_sm_group_lock (struct m0_sm_group *grp) |
|
static void | _sm_group_unlock (struct m0_sm_group *grp) |
|
M0_INTERNAL void | m0_sm_group_unlock (struct m0_sm_group *grp) |
|
static bool | grp_is_locked (const struct m0_sm_group *grp) |
|
M0_INTERNAL bool | m0_sm_group_is_locked (const struct m0_sm_group *grp) |
|
M0_INTERNAL void | m0_sm_group_lock_rec (struct m0_sm_group *grp, bool runast) |
|
M0_INTERNAL void | m0_sm_group_unlock_rec (struct m0_sm_group *grp, bool runast) |
|
M0_INTERNAL void | m0_sm_ast_post (struct m0_sm_group *grp, struct m0_sm_ast *ast) |
|
M0_INTERNAL void | m0_sm_asts_run (struct m0_sm_group *grp) |
|
M0_INTERNAL void | m0_sm_ast_cancel (struct m0_sm_group *grp, struct m0_sm_ast *ast) |
|
static void | sm_lock (struct m0_sm *mach) |
|
static void | sm_unlock (struct m0_sm *mach) |
|
static bool | sm_is_locked (const struct m0_sm *mach) |
|
static bool | state_is_valid (const struct m0_sm_conf *conf, uint32_t state) |
|
static const struct m0_sm_state_descr * | state_get (const struct m0_sm *mach, uint32_t state) |
|
static const struct m0_sm_state_descr * | sm_state (const struct m0_sm *mach) |
|
M0_INTERNAL bool | sm_invariant0 (const struct m0_sm *mach) |
|
M0_INTERNAL bool | m0_sm_invariant (const struct m0_sm *mach) |
|
static bool | conf_invariant (const struct m0_sm_conf *conf) |
|
M0_INTERNAL void | m0_sm_init (struct m0_sm *mach, const struct m0_sm_conf *conf, uint32_t state, struct m0_sm_group *grp) |
|
M0_INTERNAL void | m0_sm_fini (struct m0_sm *mach) |
|
M0_INTERNAL void | m0_sm_conf_init (struct m0_sm_conf *conf) |
|
M0_INTERNAL void | m0_sm_conf_fini (struct m0_sm_conf *conf) |
|
M0_INTERNAL bool | m0_sm_conf_is_initialized (const struct m0_sm_conf *conf) |
|
M0_INTERNAL int | m0_sm_timedwait (struct m0_sm *mach, uint64_t states, m0_time_t deadline) |
|
static void | state_set (struct m0_sm *mach, int state, int32_t rc) |
|
M0_INTERNAL void | m0_sm_fail (struct m0_sm *mach, int fail_state, int32_t rc) |
|
void | m0_sm_state_set (struct m0_sm *mach, int state) |
|
M0_INTERNAL void | m0_sm_move (struct m0_sm *mach, int32_t rc, int state) |
|
static unsigned long | sm_timer_top (unsigned long data) |
|
static void | timer_done (struct m0_sm_timer *timer) |
|
static void | sm_timer_bottom (struct m0_sm_group *grp, struct m0_sm_ast *ast) |
|
M0_INTERNAL void | m0_sm_timer_init (struct m0_sm_timer *timer) |
|
M0_INTERNAL void | m0_sm_timer_fini (struct m0_sm_timer *timer) |
|
M0_INTERNAL int | m0_sm_timer_start (struct m0_sm_timer *timer, struct m0_sm_group *group, void(*cb)(struct m0_sm_timer *), m0_time_t deadline) |
|
M0_INTERNAL void | m0_sm_timer_cancel (struct m0_sm_timer *timer) |
|
M0_INTERNAL bool | m0_sm_timer_is_armed (const struct m0_sm_timer *timer) |
|
static void | timeout_ast (struct m0_sm_timer *timer) |
|
static bool | sm_timeout_cancel (struct m0_clink *link) |
|
M0_INTERNAL void | m0_sm_timeout_init (struct m0_sm_timeout *to) |
|
M0_INTERNAL int | m0_sm_timeout_arm (struct m0_sm *mach, struct m0_sm_timeout *to, m0_time_t timeout, int state, uint64_t bitmask) |
|
M0_INTERNAL void | m0_sm_timeout_fini (struct m0_sm_timeout *to) |
|
M0_INTERNAL bool | m0_sm_timeout_is_armed (const struct m0_sm_timeout *to) |
|
static bool | trans_exists (const struct m0_sm_conf *conf, uint32_t src, uint32_t tgt) |
|
M0_INTERNAL void | m0_sm_conf_trans_extend (const struct m0_sm_conf *base, struct m0_sm_conf *sub) |
|
M0_INTERNAL void | m0_sm_conf_extend (const struct m0_sm_state_descr *base, struct m0_sm_state_descr *sub, uint32_t nr) |
|
M0_INTERNAL const char * | m0_sm_conf_state_name (const struct m0_sm_conf *conf, int state) |
|
M0_INTERNAL const char * | m0_sm_state_name (const struct m0_sm *mach, int state) |
|
static void | sm_call_ast (struct m0_sm_group *grp, struct m0_sm_ast *ast) |
|
int | m0_sm_group_call (struct m0_sm_group *group, int(*cb)(void *), void *data) |
|
static int | sm_addb2_ctor (struct m0_sm_addb2_stats *stats, const struct m0_sm_conf *c) |
|
static void | sm_addb2_dtor (struct m0_sm_addb2_stats *stats, const struct m0_sm_conf *c) |
|
M0_INTERNAL int | m0_sm_addb2_init (struct m0_sm_conf *conf, uint64_t id, uint64_t counter) |
|
M0_INTERNAL void | m0_sm_addb2_fini (struct m0_sm_conf *conf) |
|
static void | sm_addb2_counter_init_add (struct m0_sm *sm) |
|
M0_INTERNAL bool | m0_sm_addb2_counter_init (struct m0_sm *sm) |
|
M0_INTERNAL void | m0_sm_ast_wait_init (struct m0_sm_ast_wait *wait, struct m0_mutex *ch_guard) |
|
M0_INTERNAL void | m0_sm_ast_wait_fini (struct m0_sm_ast_wait *wait) |
|
M0_INTERNAL void | m0_sm_ast_wait_prepare (struct m0_sm_ast_wait *wait, struct m0_clink *clink) |
|
M0_INTERNAL void | m0_sm_ast_wait_complete (struct m0_sm_ast_wait *wait, struct m0_clink *clink) |
|
M0_INTERNAL void | m0_sm_ast_wait_loop (struct m0_sm_ast_wait *wait, struct m0_clink *clink) |
|
M0_INTERNAL void | m0_sm_ast_wait (struct m0_sm_ast_wait *wait) |
|
M0_INTERNAL void | m0_sm_ast_wait_post (struct m0_sm_ast_wait *wait, struct m0_sm_group *grp, struct m0_sm_ast *ast) |
|
M0_INTERNAL void | m0_sm_ast_wait_signal (struct m0_sm_ast_wait *wait) |
|
M0_INTERNAL void | m0_sm_conf_print (const struct m0_sm_conf *conf) |
|
M0_INTERNAL uint64_t | m0_sm_id_get (const struct m0_sm *sm) |
|