VOS_VOID FC_GPRS_FcNotifyProcess( VOS_VOID )
{
    /* 根据当前最新GPRS流控状态启停流控 */
    if (R_ITF_FLOW_CTRL_START == g_stRItfFlowCtrl.ulGprsCtrlFlag)
    {
        R_ITF_SetGprsFlowCtrl();
    }
    else
    {
        R_ITF_StopGprsFlowCtrl();
    }
}
Exemplo n.º 2
0
/******************************************************************************
 Prototype      : R_ITF_ExcFlowCtrl
 Description    : 执行流控
 Input          : ulFlowCtrlType    -- 流控类型
                  ulNewLev          -- 该流控类型的最新值
                  ulFlowCtrlCmd     -- 流控指令,启动或停止
 Output         :
 Return Value   :
 Calls          :
 Called By      :

 History        : ---
  1.Date        : 2011-04-14
    Modification: Created function
******************************************************************************/
VOS_UINT32 R_ITF_ExcFlowCtrl
(
    R_ITF_FLOW_CTRL_CMD_ENUM_UINT32  ulFlowCtrlCmd,
    VOS_UINT32                       ulFlowCtrlType,
    VOS_UINT32                      *pulNeedTrace
)
{
    VOS_UINT32      ulResult = VOS_OK;

    if ( R_ITF_FLOW_CTRL_START == ulFlowCtrlCmd )
    {
        /* PS融合后, 这里只监测内存, 而其余监测对象全部统一到FC的框架下 */
        if ((R_ITF_FLOW_CTRL_TYPE_MEM_CNT == ulFlowCtrlType)
            || (R_ITF_FLOW_CTRL_TYPE_MEM_SIZE == ulFlowCtrlType))
        {
            ulResult        = R_ITF_SetGprsFlowCtrl();    /* 调用流控函数 */
            *pulNeedTrace   = PS_TRUE;
        }
    }
    else if ( R_ITF_FLOW_CTRL_STOP == ulFlowCtrlCmd )
    {
        /* PS融合后, 这里只监测内存, 而其余监测对象全部统一到FC的框架下 */
        if ((R_ITF_FLOW_CTRL_TYPE_MEM_CNT == ulFlowCtrlType)
            || (R_ITF_FLOW_CTRL_TYPE_MEM_SIZE == ulFlowCtrlType))
        {
            ulResult        = R_ITF_StopGprsFlowCtrl();    /* 调用流控解除函数 */
            *pulNeedTrace   = PS_TRUE;
        }
    }
    else
    {
        LogPrint1("R_ITF_ExcFlowCtrl, WARNING, Unknow flow control command %u\r\n",
                  (VOS_INT32)ulFlowCtrlCmd);

        return VOS_ERR;
    }

    return ulResult;
}