PDMNetShaper.cpp revision cbc9a581723377c2e83d55509afc12fdeabb4b0d
* available from http://www.virtualbox.org. This file is free software;
#include "PDMInternal.h"
#ifdef VBOX_WITH_REM
typedef struct PDMNSBWGROUP
char *pszName;
} PDMNSBWGROUP;
typedef struct PDMNETSHAPER
} PDMNETSHAPER;
while ( pBwGroup
return pBwGroup;
while ( pPrev
static int pdmNsBwGroupCreate(PPDMNETSHAPER pShaper, const char *pcszBwGroup, uint32_t cbTransferPerSecMax)
int rc;
if (!pBwGroup)
sizeof(PDMNSBWGROUP),
(void **)&pBwGroup);
return VINF_SUCCESS;
return rc;
while (pFilter)
while ( pPrev
if (pcszBwGroup)
if (pBwGroupNew)
if (pBwGroupOld)
return rc;
if (pBwGroup)
return rc;
bool fAllowed = true;
uint32_t uTokensAdded = (tsNow - pBwGroup->tsUpdatedLast)*pBwGroup->cbTransferPerSecMax/(1000*1000*1000);
fAllowed = false;
return fAllowed;
VMMR3DECL(int) PDMR3NsBwGroupSetLimit(PVM pVM, const char *pcszBwGroup, uint32_t cbTransferPerSecMax)
if (pBwGroup)
return rc;
while (pBwGroup)
return VINF_SUCCESS;
return VINF_SUCCESS;
while (pBwGroup)
return VINF_SUCCESS;
sizeof(PDMNETSHAPER),
(void **)&pNetShaper);
if (pCfgBwGrp)
if (!pszBwGrpId)
static unsigned iThread;
return VINF_SUCCESS;
return rc;