[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-server-cvs
Subject:    [Server-cvs] engine/core server_info.cpp,1.39.4.2,1.39.4.3
From:       mandagod () helixcommunity ! org
Date:       2013-06-27 9:00:59
[Download RAW message or body]

Update of /cvsroot/server/engine/core
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv26965/server/engine/core

Modified Files:
      Tag: SERVER_15_1_0
	server_info.cpp 
Log Message:
Synopsis
========
fix HLXSRV-330 - [Statistic]The limitation of MaxInBandwidth and MaxOutBandwidth
have not taken effect

Branches: SERVER_15_1_0, Head
Suggested Reviewer: Anyone


Description
===========

1. Load configurations for registry, always use 32bit operations, so check the
   MaxInBandwidth and MaxOutBandwidth,
   have to use GetInt get the value from registry.

   2. Update the Err log.


   Files Affected
   ==============

   server/engine/core/server_info.cpp

   Testing Performed
   =================

   Platforms Tested: win-x86_64-vc10
   Build verified: win-x86_64-vc10


   QA Hints
   ========

   None


Index: server_info.cpp
===================================================================
RCS file: /cvsroot/server/engine/core/server_info.cpp,v
retrieving revision 1.39.4.2
retrieving revision 1.39.4.3
diff -u -d -r1.39.4.2 -r1.39.4.3
--- server_info.cpp	26 Jun 2013 10:17:29 -0000	1.39.4.2
+++ server_info.cpp	27 Jun 2013 09:00:51 -0000	1.39.4.3
@@ -1112,34 +1112,39 @@
     IHXErrorMessages2* pErrMsg2 = NULL;
     pProc->pc->server_context->QueryInterface(IID_IHXErrorMessages2, \
                (void**)&pErrMsg2);
     pProc->pc->server_context->QueryInterface(IID_IHXErrorMessages, \
(void**)&pErrMsg); +    CHXString sErrMsg;
     switch(lRscLimit)
     {
         case RSC_WARNING_VHOST:
+            sErrMsg.Format("%s Resource Limit: Waring: ingress count(%d) exceed max \
ingresst count(%d).\n", +                pVhostAccount, lIngressCnt, lMaxIngressCnt);
             if (pErrMsg2)
             {
                 pErrMsg2->ReportByVhost(HXLOG_WARNING, HXR_OK, 0, 
-                                          "Resource Limit: Waring: Check max ingress \
failed.\n",  +                                          (const char*)sErrMsg, 
                                           NULL, pVhostAccount);
             }
             if (pErrMsg)
             {
                 pErrMsg->Report(HXLOG_WARNING, HXR_OK, 0, 
-                                          "Resource Limit: Waring: Check max ingress \
failed.\n",  +                                          (const char*)sErrMsg,  
                                           NULL);
             }
             hx = RSC_WARNING_VHOST;
             break;
         case RSC_DISCONNECT_VHOST:
+           sErrMsg.Format("%s Resource Limit: Rejecting: ingress count(%d) exceed \
max ingresst count(%d).\n", +                pVhostAccount, lIngressCnt, \
lMaxIngressCnt);  if (pErrMsg2)
            {
                pErrMsg2->ReportByVhost(HXLOG_WARNING, HXR_OK, 0, 
-                                         "Resource Limit: Disconnect: Check max \
ingress failed.\n",  +                                         (const char*)sErrMsg, 
                                          NULL, pVhostAccount);
            }
            if (pErrMsg)
            {
                pErrMsg->Report(HXLOG_WARNING, HXR_OK, 0, 
-                                         "Resource Limit: Disconnect: Check max \
ingress failed.\n",  +                                         (const char*)sErrMsg, 
                                          NULL);
            }
            hx = RSC_DISCONNECT_VHOST;
@@ -1189,16 +1194,19 @@
     IHXErrorMessages2* pErrMsg2 = NULL;
     pProc->pc->server_context->QueryInterface(IID_IHXErrorMessages2, \
                (void**)&pErrMsg2);
     pProc->pc->server_context->QueryInterface(IID_IHXErrorMessages, \
(void**)&pErrMsg); +    CHXString sErrMsg;
+    sErrMsg.Format("%s Resource Limit: Waring: disk usage(%d MB) exceed max disk \
usage(%d MB).\n", +                   pVhostAccount, lDiskUsage, lMaxDiskUsage);
     if (pErrMsg2)
     {
         pErrMsg2->ReportByVhost(HXLOG_WARNING, HXR_OK, 0, 
-                                  "Resource Limit: Waring: Check max disk usage \
failed.\n",  +                                  (const char*)sErrMsg, 
                                   NULL, pVhostAccount);
     }
     if (pErrMsg)
     {
         pErrMsg->Report(HXLOG_WARNING, HXR_OK, 0, 
-                                  "Resource Limit: Waring: Check max disk usage \
failed.\n",  +                                  (const char*)sErrMsg, 
                                   NULL);
     }
 
@@ -1283,34 +1291,39 @@
     IHXErrorMessages2* pErrMsg2 = NULL;
     pProc->pc->server_context->QueryInterface(IID_IHXErrorMessages2, \
                (void**)&pErrMsg2);
     pProc->pc->server_context->QueryInterface(IID_IHXErrorMessages, \
(void**)&pErrMsg); +    CHXString sErrMsg;
     switch(lRscLimit)
     {
         case RSC_WARNING_VHOST:
+            sErrMsg.Format("%s Resource Limit: Waring: client count(%d) exceed max \
client count(%d).\n", +                pVhostAccount, lTotalClient, lMaxClient);
             if (pErrMsg2)
             {
                 pErrMsg2->ReportByVhost(HXLOG_WARNING, HXR_OK, 0, 
-                                          "Resource Limit: Waring: Check max client \
failed.\n",  +                                          (const char*)sErrMsg, 
                                           NULL, pVhostAccount);
             }
             if (pErrMsg)
             {
                 pErrMsg->Report(HXLOG_WARNING, HXR_OK, 0, 
-                                          "Resource Limit: Waring: Check max client \
failed.\n",  +                                          (const char*)sErrMsg, 
                                           NULL);
             }
             hx = RSC_WARNING_VHOST;
             break;
         case RSC_DISCONNECT_VHOST:
+           sErrMsg.Format("%s Resource Limit: Rejecting: client count(%d) exceed max \
client count(%d).\n", +                pVhostAccount, lTotalClient, lMaxClient);
            if (pErrMsg2)
            {
                pErrMsg2->ReportByVhost(HXLOG_WARNING, HXR_OK, 0, 
-                                         "Resource Limit: Disconnect: Check max \
client failed.\n",  +                                         (const char*)sErrMsg, 
                                          NULL, pVhostAccount);
            }
            if (pErrMsg)
            {
                pErrMsg->Report(HXLOG_WARNING, HXR_OK, 0, 
-                                         "Resource Limit: Disconnect: Check max \
client failed.\n",  +                                         (const char*)sErrMsg,
                                          NULL);
            }
            hx = RSC_DISCONNECT_VHOST;
@@ -1350,14 +1363,14 @@
         return RSC_FAIL_VHOST;
     }
 
-#ifdef HX_SERVERINFO_64BIT
-    INT64 lMaxOutBand;
-    if (HXR_OK != pProc->pc->registry->GetInt64((const char*)(CONFIG_VHOST_ROOT + \
                sAccount + MAX_OUTBAND_VHOST), 
-               (INT64*)&lMaxOutBand, pProc))
+    INT32 lMaxOutBand;
+    if (HXR_OK != pProc->pc->registry->GetInt((const char*)(CONFIG_VHOST_ROOT + \
sAccount + MAX_OUTBAND_VHOST),  +               (INT32*)&lMaxOutBand, pProc))
     {
         return RSC_OK_VHOST;
     }
 
+#ifdef HX_SERVERINFO_64BIT
     INT64  lOUutBand;
     if (HXR_OK != pProc->pc->registry->GetInt64(pVhostInfo->m_RegID[BANDWIDTH_OUTPUT],
  (INT64*)&lOUutBand, pProc))
@@ -1365,13 +1378,6 @@
         return RSC_FAIL_VHOST;
     }
 #else
-    INT32 lMaxOutBand;
-    if (HXR_OK != pProc->pc->registry->GetInt((const char*)(CONFIG_VHOST_ROOT + \
                sAccount + MAX_OUTBAND_VHOST), 
-               (INT32*)&lMaxOutBand, pProc))
-    {
-        return RSC_OK_VHOST;
-    }
-
     INT32  lOUutBand;
     if (HXR_OK != pProc->pc->registry->GetInt(pVhostInfo->m_RegID[BANDWIDTH_OUTPUT],
                              (INT32*)&lOUutBand, pProc))
@@ -1380,7 +1386,7 @@
     }
 #endif
 
-    if (lOUutBand < lMaxOutBand)
+    if ((INT32)lOUutBand < lMaxOutBand)
     {
         return RSC_OK_VHOST;
     }
@@ -1390,34 +1396,39 @@
     IHXErrorMessages2* pErrMsg2 = NULL;
     pProc->pc->server_context->QueryInterface(IID_IHXErrorMessages2, \
                (void**)&pErrMsg2);
     pProc->pc->server_context->QueryInterface(IID_IHXErrorMessages, \
(void**)&pErrMsg); +    CHXString sErrMsg;
     switch(lRscLimit)
     {
         case RSC_WARNING_VHOST:
+            sErrMsg.Format("%s Resource Limit: Waring: output bandwidth(%d Kbps) \
exceed max output bandwidth(%d Kbps).\n", +                pVhostAccount, lOUutBand, \
lMaxOutBand);  if (pErrMsg2)
             {
                 pErrMsg2->ReportByVhost(HXLOG_WARNING, HXR_OK, 0, 
-                                          "Resource Limit: Waring: Check max input \
bandwidth failed.\n",  +                                          (const \
char*)sErrMsg,   NULL, pVhostAccount);
             }
             if (pErrMsg)
             {
                 pErrMsg->Report(HXLOG_WARNING, HXR_OK, 0, 
-                                          "Resource Limit: Waring: Check max input \
bandwidth failed.\n",  +                                          (const \
char*)sErrMsg,  NULL);
             }
             hx = RSC_WARNING_VHOST;
             break;
         case RSC_DISCONNECT_VHOST:
+            sErrMsg.Format("%s Resource Limit: Rejecting: output bandwidth(%d Kbps) \
exceed max output bandwidth(%d Kbps).\n", +                pVhostAccount, lOUutBand, \
lMaxOutBand);  if (pErrMsg2)
            {
                pErrMsg2->ReportByVhost(HXLOG_WARNING, HXR_OK, 0, 
-                                         "Resource Limit: Disconnect: Check max \
input bandwidth failed.\n",  +                                         (const \
char*)sErrMsg,   NULL, pVhostAccount);
            }
            if (pErrMsg)
            {
                pErrMsg->Report(HXLOG_WARNING, HXR_OK, 0, 
-                                         "Resource Limit: Disconnect: Check max \
input bandwidth failed.\n",  +                                         (const \
char*)sErrMsg,   NULL);
            }
            hx = RSC_DISCONNECT_VHOST;
@@ -1456,14 +1467,14 @@
         return RSC_FAIL_VHOST;
     }
 
-#ifdef HX_SERVERINFO_64BIT
-    INT64 lMaxINBand;
-    if (HXR_OK != pProc->pc->registry->GetInt64((const char*)(CONFIG_VHOST_ROOT + \
                sAccount + MAX_INBAND_VHOST), 
-               (INT64*)&lMaxINBand, pProc))
+    INT32 lMaxINBand;
+    if (HXR_OK != pProc->pc->registry->GetInt((const char*)(CONFIG_VHOST_ROOT + \
sAccount + MAX_INBAND_VHOST),  +               (INT32*)&lMaxINBand, pProc))
     {
         return RSC_OK_VHOST;
     }
 
+#ifdef HX_SERVERINFO_64BIT
     INT64  lINBand;
     if (HXR_OK != pProc->pc->registry->GetInt64(pVhostInfo->m_RegID[BANDWIDTH_INPUT],
  (INT64*)&lINBand, pProc))
@@ -1471,13 +1482,6 @@
         return RSC_FAIL_VHOST;
     }
 #else
-    INT32 lMaxINBand;
-    if (HXR_OK != pProc->pc->registry->GetInt((const char*)(CONFIG_VHOST_ROOT + \
                sAccount + MAX_INBAND_VHOST), 
-               (INT32*)&lMaxINBand, pProc))
-    {
-        return RSC_OK_VHOST;
-    }
-
     INT32  lINBand;
     if (HXR_OK != pProc->pc->registry->GetInt(pVhostInfo->m_RegID[BANDWIDTH_INPUT],
                              (INT32*)&lINBand, pProc))
@@ -1485,7 +1489,8 @@
         return RSC_FAIL_VHOST;
     }
 #endif
-    if (lINBand < lMaxINBand)
+
+    if ((INT32)lINBand < lMaxINBand)
     {
         return HXR_OK;
     }
@@ -1495,34 +1500,39 @@
     IHXErrorMessages2* pErrMsg2 = NULL;
     pProc->pc->server_context->QueryInterface(IID_IHXErrorMessages2, \
                (void**)&pErrMsg2);
     pProc->pc->server_context->QueryInterface(IID_IHXErrorMessages, \
(void**)&pErrMsg); +    CHXString sErrMsg;
     switch(lRscLimit)
     {
         case RSC_WARNING_VHOST:
+            sErrMsg.Format("%s Resource Limit: Waring: input bandwidth(%d Kbps) \
exceed max input bandwidth(%d Kbps).\n", +                pVhostAccount, lINBand, \
lMaxINBand);  if (pErrMsg2)
             {
                 pErrMsg2->ReportByVhost(HXLOG_WARNING, HXR_OK, 0, 
-                                          "Resource Limit: Waring: Check max input \
bandwidth failed.\n",  +                                          (const \
char*)sErrMsg,   NULL, pVhostAccount);
             }
             if (pErrMsg)
             {
                 pErrMsg->Report(HXLOG_WARNING, HXR_OK, 0, 
-                                          "Resource Limit: Waring: Check max input \
bandwidth failed.\n",  +                                          (const \
char*)sErrMsg,   NULL);
             }
             hx = RSC_WARNING_VHOST;
             break;
         case RSC_DISCONNECT_VHOST:
+           sErrMsg.Format("%s Resource Limit: Rejecting: input bandwidth(%d Kbps) \
exceed max input bandwidth(%d Kbps).\n", +                pVhostAccount, lINBand, \
lMaxINBand);  if (pErrMsg2)
            {
                pErrMsg2->ReportByVhost(HXLOG_WARNING, HXR_OK, 0, 
-                                         "Resource Limit: Disconnect: Check max \
input bandwidth failed.\n",  +                                         (const \
char*)sErrMsg,   NULL, pVhostAccount);
            }
            if (pErrMsg)
            {
                pErrMsg->Report(HXLOG_WARNING, HXR_OK, 0, 
-                                         "Resource Limit: Disconnect: Check max \
input bandwidth failed.\n",  +                                         (const \
char*)sErrMsg,   NULL);
            }
            hx = RSC_DISCONNECT_VHOST;


_______________________________________________
Server-cvs mailing list
Server-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/server-cvs


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic