update it

This commit is contained in:
Sukchan Lee 2017-04-11 09:36:35 +09:00
parent ab0584dabb
commit fc455e1a11
6 changed files with 26 additions and 36 deletions

View File

@ -32,7 +32,7 @@ void pgw_terminate(void)
void *THREAD_FUNC pgw_sm_main(thread_id id, void *data)
{
event_t event;
pgw_sm_t pgw_sm;
fsm_t pgw_sm;
c_time_t prev_tm, now_tm;
int r;
@ -45,9 +45,8 @@ void *THREAD_FUNC pgw_sm_main(thread_id id, void *data)
gtp_xact_init(&pgw_self()->gtp_xact_ctx,
&pgw_self()->tm_service, EVT_TM_PGW_T3);
fsm_create(&pgw_sm.fsm, pgw_state_initial, pgw_state_final);
d_assert(&pgw_sm.fsm, return NULL, "PGW state machine creation failed");
fsm_init((fsm_t*)&pgw_sm, 0);
fsm_create(&pgw_sm, pgw_state_initial, pgw_state_final);
fsm_init(&pgw_sm, 0);
prev_tm = time_now();
@ -74,11 +73,11 @@ void *THREAD_FUNC pgw_sm_main(thread_id id, void *data)
continue;
}
fsm_dispatch((fsm_t*)&pgw_sm, (fsm_event_t*)&event);
fsm_dispatch(&pgw_sm, (fsm_event_t*)&event);
}
fsm_final((fsm_t*)&pgw_sm, 0);
fsm_clear((fsm_t*)&pgw_sm);
fsm_final(&pgw_sm, 0);
fsm_clear(&pgw_sm);
gtp_xact_final();
event_delete(pgw_self()->queue_id);

View File

@ -7,7 +7,7 @@
#include "pgw_path.h"
#include "pgw_handler.h"
void pgw_state_initial(pgw_sm_t *s, event_t *e)
void pgw_state_initial(fsm_t *s, event_t *e)
{
pgw_sm_trace(1, e);
@ -16,14 +16,14 @@ void pgw_state_initial(pgw_sm_t *s, event_t *e)
FSM_TRAN(s, &pgw_state_operational);
}
void pgw_state_final(pgw_sm_t *s, event_t *e)
void pgw_state_final(fsm_t *s, event_t *e)
{
pgw_sm_trace(1, e);
d_assert(s, return, "Null param");
}
void pgw_state_operational(pgw_sm_t *s, event_t *e)
void pgw_state_operational(fsm_t *s, event_t *e)
{
status_t rv;

View File

@ -9,14 +9,10 @@
extern "C" {
#endif /* __cplusplus */
typedef struct _pgw_sm_t {
fsm_t fsm;
} pgw_sm_t;
void pgw_state_initial(pgw_sm_t *s, event_t *e);
void pgw_state_final(pgw_sm_t *s, event_t *e);
void pgw_state_operational(pgw_sm_t *s, event_t *e);
void pgw_state_exception(pgw_sm_t *s, event_t *e);
void pgw_state_initial(fsm_t *s, event_t *e);
void pgw_state_final(fsm_t *s, event_t *e);
void pgw_state_operational(fsm_t *s, event_t *e);
void pgw_state_exception(fsm_t *s, event_t *e);
#define pgw_sm_print(__pe) \
d_print("%s(): %s\n", __func__, pgw_event_get_name(__pe))

View File

@ -32,7 +32,7 @@ void sgw_terminate(void)
void *THREAD_FUNC sgw_sm_main(thread_id id, void *data)
{
event_t event;
sgw_sm_t sgw_sm;
fsm_t sgw_sm;
c_time_t prev_tm, now_tm;
int r;
@ -45,9 +45,8 @@ void *THREAD_FUNC sgw_sm_main(thread_id id, void *data)
gtp_xact_init(&sgw_self()->gtp_xact_ctx,
&sgw_self()->tm_service, EVT_TM_SGW_T3);
fsm_create(&sgw_sm.fsm, sgw_state_initial, sgw_state_final);
d_assert(&sgw_sm.fsm, return NULL, "SGW state machine creation failed");
fsm_init((fsm_t*)&sgw_sm, 0);
fsm_create(&sgw_sm, sgw_state_initial, sgw_state_final);
fsm_init(&sgw_sm, 0);
prev_tm = time_now();
@ -74,11 +73,11 @@ void *THREAD_FUNC sgw_sm_main(thread_id id, void *data)
continue;
}
fsm_dispatch((fsm_t*)&sgw_sm, (fsm_event_t*)&event);
fsm_dispatch(&sgw_sm, (fsm_event_t*)&event);
}
fsm_final((fsm_t*)&sgw_sm, 0);
fsm_clear((fsm_t*)&sgw_sm);
fsm_final(&sgw_sm, 0);
fsm_clear(&sgw_sm);
gtp_xact_final();
event_delete(sgw_self()->queue_id);

View File

@ -6,7 +6,7 @@
#include "sgw_path.h"
#include "sgw_handler.h"
void sgw_state_initial(sgw_sm_t *s, event_t *e)
void sgw_state_initial(fsm_t *s, event_t *e)
{
sgw_sm_trace(1, e);
@ -15,14 +15,14 @@ void sgw_state_initial(sgw_sm_t *s, event_t *e)
FSM_TRAN(s, &sgw_state_operational);
}
void sgw_state_final(sgw_sm_t *s, event_t *e)
void sgw_state_final(fsm_t *s, event_t *e)
{
sgw_sm_trace(1, e);
d_assert(s, return, "Null param");
}
void sgw_state_operational(sgw_sm_t *s, event_t *e)
void sgw_state_operational(fsm_t *s, event_t *e)
{
status_t rv;

View File

@ -9,14 +9,10 @@
extern "C" {
#endif /* __cplusplus */
typedef struct _sgw_sm_t {
fsm_t fsm;
} sgw_sm_t;
void sgw_state_initial(sgw_sm_t *s, event_t *e);
void sgw_state_final(sgw_sm_t *s, event_t *e);
void sgw_state_operational(sgw_sm_t *s, event_t *e);
void sgw_state_exception(sgw_sm_t *s, event_t *e);
void sgw_state_initial(fsm_t *s, event_t *e);
void sgw_state_final(fsm_t *s, event_t *e);
void sgw_state_operational(fsm_t *s, event_t *e);
void sgw_state_exception(fsm_t *s, event_t *e);
#define sgw_sm_print(__pe) \
d_print("%s(): %s\n", __func__, sgw_event_get_name(__pe))