?? igmp_state_machine.h
字號:
igmp_router_querier_mode_group_state_transition_table[NUMBER_OF_IGMP_ROUTER_GROUP_STATES][NUMBER_OF_IGMP_ROUTER_GROUP_EVENTS] ={/*-------------------------------------------------*//* IGMP_ROUTER_GROUP_NO_MEMBERS_PRESENT_STATE *//*-------------------------------------------------*/{/* IGMP_ROUTER_GROUP_V2_REPORT_RECEIVED_EVENT */ {igmp_router_notify_routing_of_group_addition, igmp_router_start_group_specific_timer, NULL, (enum IGMP_ROUTER_GROUP_STATE) IGMP_ROUTER_GROUP_V2_MEMBERS_PRESENT_STATE},/* IGMP_ROUTER_GROUP_V1_REPORT_RECEIVED_EVENT */ {igmp_router_notify_routing_of_group_addition, igmp_router_start_group_specific_timer, igmp_router_start_v1_host_timer, (enum IGMP_ROUTER_GROUP_STATE) IGMP_ROUTER_GROUP_V1_MEMBERS_PRESENT_STATE},/* IGMP_ROUTER_GROUP_LEAVE_MESSAGE_RECEIVED_EVENT */ {NULL, NULL, NULL, (enum IGMP_ROUTER_GROUP_STATE) IGMP_INVALID_STATE},/* IGMP_ROUTER_GROUP_SPECIFIC_TIMER_EXPIRED_EVENT */ {NULL, NULL, NULL, (enum IGMP_ROUTER_GROUP_STATE) IGMP_INVALID_STATE},/* IGMP_ROUTER_GROUP_RETRANSMIT_TIMER_EXPIRED_EVENT */ {NULL, NULL, NULL, (enum IGMP_ROUTER_GROUP_STATE) IGMP_INVALID_STATE},/* IGMP_ROUTER_GROUP_V1_HOST_TIMER_EXPIRED_EVENT */ {NULL, NULL, NULL, (enum IGMP_ROUTER_GROUP_STATE) IGMP_INVALID_STATE},/* IGMP_ROUTER_GROUP_SPECIFIC_QUERY_RECEIVED_EVENT */ {NULL, NULL, NULL, (enum IGMP_ROUTER_GROUP_STATE) IGMP_INVALID_STATE}},/*-------------------------------------------------*//* IGMP_ROUTER_GROUP_V1_MEMBERS_PRESENT_STATE *//*-------------------------------------------------*/{/* IGMP_ROUTER_GROUP_V2_REPORT_RECEIVED_EVENT */ {igmp_router_start_group_specific_timer, NULL, NULL, (enum IGMP_ROUTER_GROUP_STATE) IGMP_ROUTER_GROUP_V1_MEMBERS_PRESENT_STATE},/* IGMP_ROUTER_GROUP_V1_REPORT_RECEIVED_EVENT */ {igmp_router_start_group_specific_timer, igmp_router_start_v1_host_timer, NULL, (enum IGMP_ROUTER_GROUP_STATE) IGMP_ROUTER_GROUP_V1_MEMBERS_PRESENT_STATE},/* IGMP_ROUTER_GROUP_LEAVE_MESSAGE_RECEIVED_EVENT */ {NULL, NULL, NULL, (enum IGMP_ROUTER_GROUP_STATE) IGMP_INVALID_STATE},/* IGMP_ROUTER_GROUP_SPECIFIC_TIMER_EXPIRED_EVENT */ {igmp_router_notify_routing_of_group_deletion, NULL, NULL, (enum IGMP_ROUTER_GROUP_STATE) IGMP_ROUTER_GROUP_NO_MEMBERS_PRESENT_STATE},/* IGMP_ROUTER_GROUP_RETRANSMIT_TIMER_EXPIRED_EVENT */ {NULL, NULL, NULL, (enum IGMP_ROUTER_GROUP_STATE) IGMP_INVALID_STATE},/* IGMP_ROUTER_GROUP_V1_HOST_TIMER_EXPIRED_EVENT */ {NULL, NULL, NULL, (enum IGMP_ROUTER_GROUP_STATE) IGMP_ROUTER_GROUP_V2_MEMBERS_PRESENT_STATE},/* IGMP_ROUTER_GROUP_SPECIFIC_QUERY_RECEIVED_EVENT */ {NULL, NULL, NULL, (enum IGMP_ROUTER_GROUP_STATE) IGMP_INVALID_STATE}},/*-------------------------------------------------*//* IGMP_ROUTER_GROUP_V2_MEMBERS_PRESENT_STATE *//*-------------------------------------------------*/{/* IGMP_ROUTER_GROUP_V2_REPORT_RECEIVED_EVENT */ {igmp_router_start_group_specific_timer, NULL, NULL, (enum IGMP_ROUTER_GROUP_STATE) IGMP_ROUTER_GROUP_V2_MEMBERS_PRESENT_STATE},/* IGMP_ROUTER_GROUP_V1_REPORT_RECEIVED_EVENT */ {igmp_router_start_group_specific_timer, igmp_router_start_v1_host_timer, NULL, (enum IGMP_ROUTER_GROUP_STATE) IGMP_ROUTER_GROUP_V1_MEMBERS_PRESENT_STATE},/* IGMP_ROUTER_GROUP_LEAVE_MESSAGE_RECEIVED_EVENT */ {igmp_router_start_star_timer, igmp_router_start_retransmit_timer, igmp_router_tx_message, (enum IGMP_ROUTER_GROUP_STATE) IGMP_ROUTER_GROUP_CHECKING_MEMBERSHIP_STATE},/* IGMP_ROUTER_GROUP_SPECIFIC_TIMER_EXPIRED_EVENT */ {igmp_router_notify_routing_of_group_deletion, NULL, NULL, (enum IGMP_ROUTER_GROUP_STATE) IGMP_ROUTER_GROUP_NO_MEMBERS_PRESENT_STATE},/* IGMP_ROUTER_GROUP_RETRANSMIT_TIMER_EXPIRED_EVENT */ {NULL, NULL, NULL, (enum IGMP_ROUTER_GROUP_STATE) IGMP_INVALID_STATE},/* IGMP_ROUTER_GROUP_V1_HOST_TIMER_EXPIRED_EVENT */ {NULL, NULL, NULL, (enum IGMP_ROUTER_GROUP_STATE) IGMP_INVALID_STATE},/* IGMP_ROUTER_GROUP_SPECIFIC_QUERY_RECEIVED_EVENT */ {NULL, NULL, NULL, (enum IGMP_ROUTER_GROUP_STATE) IGMP_INVALID_STATE}},/*-------------------------------------------------*//* IGMP_ROUTER_GROUP_CHECKING_MEMBERSHIP_STATE *//*-------------------------------------------------*/{/* IGMP_ROUTER_GROUP_V2_REPORT_RECEIVED_EVENT */ {igmp_router_start_group_specific_timer, NULL, NULL, (enum IGMP_ROUTER_GROUP_STATE) IGMP_ROUTER_GROUP_V2_MEMBERS_PRESENT_STATE},/* IGMP_ROUTER_GROUP_V1_REPORT_RECEIVED_EVENT */ {igmp_router_start_group_specific_timer, igmp_router_start_v1_host_timer, NULL, (enum IGMP_ROUTER_GROUP_STATE) IGMP_ROUTER_GROUP_V1_MEMBERS_PRESENT_STATE},/* IGMP_ROUTER_GROUP_LEAVE_MESSAGE_RECEIVED_EVENT */ {NULL, NULL, NULL, (enum IGMP_ROUTER_GROUP_STATE) IGMP_INVALID_STATE},/* IGMP_ROUTER_GROUP_SPECIFIC_TIMER_EXPIRED_EVENT */ {igmp_router_notify_routing_of_group_deletion, igmp_router_clear_retransmit_timer, NULL, (enum IGMP_ROUTER_GROUP_STATE) IGMP_ROUTER_GROUP_NO_MEMBERS_PRESENT_STATE},/* IGMP_ROUTER_GROUP_RETRANSMIT_TIMER_EXPIRED_EVENT */ {igmp_router_tx_message, igmp_router_start_retransmit_timer, NULL, (enum IGMP_ROUTER_GROUP_STATE) IGMP_ROUTER_GROUP_CHECKING_MEMBERSHIP_STATE},/* IGMP_ROUTER_GROUP_V1_HOST_TIMER_EXPIRED_EVENT */ {NULL, NULL, NULL, (enum IGMP_ROUTER_GROUP_STATE) IGMP_INVALID_STATE},/* IGMP_ROUTER_GROUP_SPECIFIC_QUERY_RECEIVED_EVENT */ {NULL, NULL, NULL, (enum IGMP_ROUTER_GROUP_STATE) IGMP_INVALID_STATE}}};/***************************************************************************************************************************//* Non Querier Mode Group State Transition Table *//* *//* +-------------------++----------------------------------------------------------------------------------------------+ *//* | || | *//* | || State | *//* | ++----------------------------------------------------------------------------------------------| *//* | Event || No Members Present V1 Members Present V2 Members Present Checking Membership | *//* |-------------------++----------------------+-----------------------+-----------------------+-----------------------| *//* |V2 Report Received || o Notify Routing of | o Start Group | o No actions | o Start Group | *//* | || group addition | Specific Timer | | Specific Timer | *//* | || o Start Group | | | | *//* | || Specific Timer | | | | *//* | || | | | | *//* | ||-> V1 Members Present |-> V1 Members Present |-> Invalid State |-> V1 Members Present | *//* |-------------------++----------------------+-----------------------+-----------------------+-----------------------| */ /* |V1 Report Received || o Notify Routing of | o Start Group | o No actions | o Start Group | *//* | || group addition | Specific Timer | | Specific Timer | *//* | || o Start Group | | | | *//* | || Specific Timer | | | | *//* | || | | | | *//* | ||-> V1 Members Present |-> V1 Members Present |-> Invalid State |-> V1 Members Present | *//* |-------------------++----------------------+-----------------------+-----------------------+-----------------------| *//* |Leave Message || o No actions | o No actions | o No actions | o No actions | *//* | Received || | | | | *//* | ||-> Invalid State |-> Invalid State |-> Invalid State |-> Invalid State | *//* |-------------------++----------------------+-----------------------+-----------------------+-----------------------| *//* |Group Specific || o No actions | o Notify Routing of | o No actions | o Notify Routing of | */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -