?? igmp_state_machine.h
字號:
/* igmp_state_machine.h - state transition definitions and table *//* Copyright 1997 - 2001 Wind River Systems, Inc. *//*modification history--------------------01b,20nov03,niq Remove copyright_wrs.h file inclusion01a,29mar01,spm file creation: copied from version 01c of tor2_0.open_stack branch (wpwr VOB) for unified code base*/#if !defined (_IGMP_STATE_MACHINE_H_)#define _IGMP_STATE_MACHINE_H_#if defined GLOBAL_FILE/***************************************************************************************************************//* Port State Transition Table *//* *//* +----------------------------++---------------------------------------------------------------------+ *//* | || State | *//* | ++---------------------------------+-----------------------------------| *//* | || | | *//* | Event || Non Querier | Querier | *//* |============================++=================================+===================================| *//* |General Query Timer Expired || o No actions | o Trasmit General Query | *//* | || | o Start General Query Timer | *//* | || | | *//* | || -> Invalid state | -> Querier | *//* |----------------------------++---------------------------------+-----------------------------------| *//* |Query Received from Router || o Start other Querier | o Start Other Querier | *//* | with Lower IP address || Present Timer | Present Timer | *//* | || | | *//* | || -> Non Querier | -> Non Querier | *//* |----------------------------++---------------------------------+-----------------------------------| *//* |Other Querier Present timer || o Transmit General Query | o No actions | *//* | || o Start General Query Timer | | *//* | || | | *//* | || -> Querier | -> Invalid State | *//* +----------------------------++---------------------------------+-----------------------------------+ *//* *//* *//***************************************************************************************************************/IGMP_ROUTER_PORT_STATE_TRANSITION_TABLE_ENTRY igmp_router_port_state_transition_table[NUMBER_OF_IGMP_ROUTER_PORT_STATES][NUMBER_OF_IGMP_ROUTER_PORT_EVENTS] ={/*-------------------------------------------------*//* IGMP_ROUTER_PORT_NON_QUERIER_STATE *//*-------------------------------------------------*/{/* IGMP_ROUTER_PORT_GENERAL_QUERY_TIMER_EXPIRED_EVENT */ {NULL, NULL, NULL, (enum IGMP_ROUTER_PORT_STATE) IGMP_INVALID_STATE},/* IGMP_ROUTER_PORT_QUERY_RECEIVED_FROM_ROUTER_WITH_LOWER_IP_ADDRESS_EVENT */ {igmp_router_start_other_querier_present_timer, NULL, NULL, (enum IGMP_ROUTER_PORT_STATE) IGMP_ROUTER_PORT_NON_QUERIER_STATE},/* IGMP_ROUTER_PORT_OTHER_QUERIER_PRESENT_TIMER_EXPIRED_EVENT */ {igmp_router_tx_message, igmp_router_start_general_query_timer, NULL, (enum IGMP_ROUTER_PORT_STATE) IGMP_ROUTER_PORT_QUERIER_STATE}},/*-------------------------------------------------*//* IGMP_ROUTER_PORT_QUERIER_STATE *//*-------------------------------------------------*/{/* IGMP_ROUTER_PORT_GENERAL_QUERY_TIMER_EXPIRED_EVENT */ {igmp_router_tx_message, igmp_router_start_general_query_timer, NULL, (enum IGMP_ROUTER_PORT_STATE) IGMP_ROUTER_PORT_QUERIER_STATE},/* IGMP_ROUTER_PORT_QUERY_RECEIVED_FROM_ROUTER_WITH_LOWER_IP_ADDRESS_EVENT */ {igmp_router_start_other_querier_present_timer, NULL, NULL, (enum IGMP_ROUTER_PORT_STATE) IGMP_ROUTER_PORT_NON_QUERIER_STATE},/* IGMP_ROUTER_PORT_OTHER_QUERIER_PRESENT_TIMER_EXPIRED_EVENT */ {NULL, NULL, NULL, (enum IGMP_ROUTER_PORT_STATE) IGMP_INVALID_STATE}}};/***************************************************************************************************************************//* Querier Mode Group Next State 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 Start Group | o Start Group | *//* | || Group Addition | Specific Timer | Specific Timer | Specific Timer | *//* | || o Start Group | | | | *//* | || Specific Timer | | | | *//* | || | | | | *//* | ||-> V2 Members Present |-> V1 Members Present |-> V2 Members Present |-> V2 Members Present | *//* |-------------------++----------------------+-----------------------+-----------------------+-----------------------| */ /* |V1 Report Received || o Notify Routing of | o Start Group | o Start Group | o Start Group | *//* | || Group Addition | Specific Timer | Specific Timer | Specific Timer | *//* | || o Start Group | o Start V1 Host | o Start V1 Host | o Start V1 Host | *//* | || Specific Timer | Timer | Timer | Timer | *//* | || o Start V1 Host | | | | *//* | || Timer | | | | *//* | || | | | | *//* | ||-> V1 Members Present |-> V1 Members Present |-> V1 Members Present |-> V1 Members Present | *//* |-------------------++----------------------+-----------------------+-----------------------+-----------------------| *//* |Leave Message || o No actions | o No actions | o Start star timer | o No actions | *//* | Received || | | o Start retransmit | | *//* | || | | timer | | *//* | || | | o Send group specific | | *//* | || | | query | | *//* | || | | | | *//* | ||-> Invalid State |-> Invalid State |-> Checking Membership |-> Invalid State | *//* |-------------------++----------------------+-----------------------+-----------------------+-----------------------| *//* |Group Specific || o No actions | o Notify Routing of | o Notify Routing of | o Notify Routing of | *//* | Timer Expired || | Group Deletion | Group Deletion | Group Deletion | *//* | || | | | o Clear retransmit | *//* | || | | | timer | *//* | || | | | | *//* | || | | | | *//* | ||-> Invalid State |-> No Members Present |-> No Members Present |-> No Members Present | *//* |-------------------++----------------------+-----------------------+-----------------------+-----------------------| *//* |Retransmit Timer || o No actions | o No actions | o No actions | o Send group specific | *//* | Expired || | | | query | *//* | || | | | o Start retransmit | *//* | || | | | timer | *//* | || | | | | *//* | ||-> Invalid State |-> Invalid State |-> Invalid State |-> Checking Membership | *//* |-------------------++----------------------+-----------------------+-----------------------+-----------------------| *//* |V1 Host Timer || o No actions | o No actions | o No actions | o No actions | *//* | Expired || | | | | *//* | || | | | | *//* | ||-> Invalid State |-> V2 Members Present |-> Invalid State |-> Invalid State | *//* |-------------------++----------------------+-----------------------+-----------------------+-----------------------| *//* |Group Specific || o No actions | o No actions | o No actions | o No actions | *//* | Query Received || | | | | *//* | ||-> Invalid State |-> Invalid State |-> Invalid State |-> Invalid State | *//* +-------------------++----------------------+-----------------------+-----------------------+-----------------------+ *//* *//***************************************************************************************************************************/IGMP_ROUTER_GROUP_STATE_TRANSITION_TABLE_ENTRY
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -