qos.cxx

来自「pwlib源码库」· CXX 代码 · 共 117 行

CXX
117
字号
/* * qos.cxx * * QOS class used by PWLIB dscp or Windows GQOS implementation. * * Copyright (c) 2003 AliceStreet Ltd * * The contents of this file are subject to the Mozilla Public License * Version 1.0 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See * the License for the specific language governing rights and limitations * under the License. * * Contributor(s): ______________________________________. * * $Log: qos.cxx,v $ * Revision 1.2  2003/10/27 04:06:13  csoutheren * Added code to allow compilation of new QoS code on Unix * * Revision 1.1  2003/10/27 03:20:10  csoutheren * Initial version of QoS implementation *   Thanks to Henry Harrison of AliceStreet * * */#include <ptlib.h>#include <ptlib/qos.h>char PQoS::bestEffortDSCP = 0;char PQoS::controlledLoadDSCP = 26;char PQoS::guaranteedDSCP = 46;PQoS::PQoS() {    serviceType = SERVICETYPE_PNOTDEFINED;    dscp = -1;    tokenRate = QOS_NOT_SPECIFIED;    tokenBucketSize = QOS_NOT_SPECIFIED;    peakBandwidth = QOS_NOT_SPECIFIED;}PQoS::PQoS(int DSCPvalue) {    serviceType = SERVICETYPE_PNOTDEFINED;    dscp = DSCPvalue;    tokenRate = QOS_NOT_SPECIFIED;    tokenBucketSize = QOS_NOT_SPECIFIED;    peakBandwidth = QOS_NOT_SPECIFIED;}PQoS::PQoS(DWORD avgBytesPerSec,            DWORD winServiceType,           int DSCPalternative,            DWORD maxFrameBytes,            DWORD peakBytesPerSec){    tokenRate = avgBytesPerSec;    serviceType = winServiceType;    dscp = DSCPalternative;    tokenBucketSize = maxFrameBytes;    peakBandwidth = peakBytesPerSec;}void PQoS::SetWinServiceType(DWORD winServiceType){    serviceType = winServiceType;}void PQoS::SetAvgBytesPerSec(DWORD avgBytesPerSec){    tokenRate = avgBytesPerSec;}void PQoS::SetDSCP(int DSCPvalue){    if (DSCPvalue < 63)        dscp = DSCPvalue;}void PQoS::SetMaxFrameBytes(DWORD maxFrameBytes){    tokenBucketSize = maxFrameBytes;}void PQoS::SetPeakBytesPerSec(DWORD peakBytesPerSec){    peakBandwidth = peakBytesPerSec;}void PQoS::SetDSCPAlternative(DWORD winServiceType, UINT dscp){    if (dscp < 63 &&        winServiceType != SERVICETYPE_PNOTDEFINED)    {        switch (winServiceType)        {        case SERVICETYPE_BESTEFFORT:             bestEffortDSCP = (char)dscp;            break;        case SERVICETYPE_CONTROLLEDLOAD:            controlledLoadDSCP = (char)dscp;            break;        case SERVICETYPE_GUARANTEED:            guaranteedDSCP = (char)dscp;            break;        }    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?