[rhmessaging-commits] rhmessaging commits: r2172 - in store/trunk/cpp/lib: gen/qpid/management and 1 other directory.

rhmessaging-commits at lists.jboss.org rhmessaging-commits at lists.jboss.org
Mon Jun 30 15:03:29 EDT 2008


Author: tedross
Date: 2008-06-30 15:03:29 -0400 (Mon, 30 Jun 2008)
New Revision: 2172

Modified:
   store/trunk/cpp/lib/BdbMessageStore.cpp
   store/trunk/cpp/lib/JournalImpl.cpp
   store/trunk/cpp/lib/gen/qpid/management/Journal.cpp
   store/trunk/cpp/lib/gen/qpid/management/Journal.h
   store/trunk/cpp/lib/gen/qpid/management/Store.cpp
   store/trunk/cpp/lib/gen/qpid/management/Store.h
Log:
Updates for management agent API changes

Modified: store/trunk/cpp/lib/BdbMessageStore.cpp
===================================================================
--- store/trunk/cpp/lib/BdbMessageStore.cpp	2008-06-30 15:27:47 UTC (rev 2171)
+++ store/trunk/cpp/lib/BdbMessageStore.cpp	2008-06-30 19:03:29 UTC (rev 2172)
@@ -84,7 +84,7 @@
         if (agent.get () != 0)
         {
             qpid::management::PackageMrgstore packageInitializer(agent);
-            mgmtObject = qpid::management::Store::shared_ptr(new qpid::management::Store (this, broker));
+            mgmtObject = qpid::management::Store::shared_ptr(new qpid::management::Store (agent.get(), this, broker));
 
             mgmtObject->set_location(storeDir);
             mgmtObject->set_defaultInitialFileCount(numJrnlFiles);

Modified: store/trunk/cpp/lib/JournalImpl.cpp
===================================================================
--- store/trunk/cpp/lib/JournalImpl.cpp	2008-06-30 15:27:47 UTC (rev 2171)
+++ store/trunk/cpp/lib/JournalImpl.cpp	2008-06-30 19:03:29 UTC (rev 2172)
@@ -77,7 +77,7 @@
     if (agent.get () != 0)
     {
         _mgmtObject = qpid::management::Journal::shared_ptr
-            (new qpid::management::Journal((qpid::management::Manageable*) this));
+            (new qpid::management::Journal(agent.get(), (qpid::management::Manageable*) this));
 
         _mgmtObject->set_name(journalId);
         _mgmtObject->set_directory(journalDirectory);
@@ -202,7 +202,7 @@
         _mgmtObject->set_initialFileCount(_num_jfiles);
         _mgmtObject->set_dataFileSize(_jfsize_sblks * JRNL_SBLK_SIZE * JRNL_DBLK_SIZE);
         _mgmtObject->set_currentFileCount(_num_jfiles);
-        _mgmtObject->set_recordDepth(_emap.size());
+        _mgmtObject->inc_recordDepth(_emap.size());
         _mgmtObject->set_writePageSize(wcache_pgsize_sblks * JRNL_SBLK_SIZE * JRNL_DBLK_SIZE);
         _mgmtObject->set_writePages(wcache_num_pages);
     }

Modified: store/trunk/cpp/lib/gen/qpid/management/Journal.cpp
===================================================================
--- store/trunk/cpp/lib/gen/qpid/management/Journal.cpp	2008-06-30 15:27:47 UTC (rev 2171)
+++ store/trunk/cpp/lib/gen/qpid/management/Journal.cpp	2008-06-30 19:03:29 UTC (rev 2172)
@@ -24,6 +24,7 @@
 #include "qpid/log/Statement.h"
 #include "qpid/framing/FieldTable.h"
 #include "qpid/management/Manageable.h" 
+#include "qpid/management/ManagementAgent.h"
 #include "Journal.h"
 #include "qpid/management/ArgsJournalExpand.h"
 
@@ -38,9 +39,8 @@
 uint8_t Journal::md5Sum[16]   =
     {0x0,0xdf,0x9a,0xf7,0x4,0x98,0x29,0x54,0xde,0x42,0xc5,0xf5,0xf5,0x13,0xab,0xa5};
 
-Journal::Journal (Manageable* _core) :
-    ManagementObject(_core)
-    
+Journal::Journal (ManagementAgent* _agent, Manageable* _core) :
+    ManagementObject(_agent, _core)
 {
     
     initialFileCount = 0;
@@ -49,8 +49,6 @@
     recordDepth = 0;
     recordDepthHigh = 0;
     recordDepthLow  = 0;
-    recordEnqueues = 0;
-    recordDequeues = 0;
     outstandingAIOs = 0;
     outstandingAIOsHigh = 0;
     outstandingAIOsLow  = 0;
@@ -60,10 +58,6 @@
     availableFileCount = 0;
     availableFileCountHigh = 0;
     availableFileCountLow  = 0;
-    writeWaitFailures = 0;
-    writeBusyFailures = 0;
-    readRecordCount = 0;
-    readBusyFailures = 0;
     writePageCacheDepth = 0;
     writePageCacheDepthHigh = 0;
     writePageCacheDepthLow  = 0;
@@ -71,10 +65,24 @@
     readPageCacheDepthHigh = 0;
     readPageCacheDepthLow  = 0;
 
+
+    maxThreads = agent->getMaxThreads();
+    perThreadStatsArray = new struct PerThreadStats*[maxThreads];
+    for (int idx = 0; idx < maxThreads; idx++)
+        perThreadStatsArray[idx] = 0;
+
 }
 
-Journal::~Journal () {}
+Journal::~Journal ()
+{
 
+    for (int idx = 0; idx < maxThreads; idx++)
+        if (perThreadStatsArray[idx] != 0)
+            delete perThreadStatsArray[idx];
+    delete perThreadStatsArray;
+
+}
+
 namespace {
     const string NAME("name");
     const string TYPE("type");
@@ -382,6 +390,31 @@
 
 }
 
+
+void Journal::aggregatePerThreadStats(struct PerThreadStats* totals)
+{
+    totals->recordEnqueues = 0;
+    totals->recordDequeues = 0;
+    totals->writeWaitFailures = 0;
+    totals->writeBusyFailures = 0;
+    totals->readRecordCount = 0;
+    totals->readBusyFailures = 0;
+
+    for (int idx = 0; idx < maxThreads; idx++) {
+        struct PerThreadStats* threadStats = perThreadStatsArray[idx];
+        if (threadStats != 0) {
+            totals->recordEnqueues += threadStats->recordEnqueues;
+            totals->recordDequeues += threadStats->recordDequeues;
+            totals->writeWaitFailures += threadStats->writeWaitFailures;
+            totals->writeBusyFailures += threadStats->writeBusyFailures;
+            totals->readRecordCount += threadStats->readRecordCount;
+            totals->readBusyFailures += threadStats->readBusyFailures;
+
+        }
+    }
+}
+
+
 void Journal::writeProperties (Buffer& buf)
 {
     sys::Mutex::ScopedLock mutex(accessLock);
@@ -405,6 +438,10 @@
     instChanged = false;
 
 
+    struct PerThreadStats totals;
+    aggregatePerThreadStats(&totals);
+
+
     if (!skipHeaders)
         writeTimestamps (buf);
     buf.putShort (initialFileCount);
@@ -413,8 +450,8 @@
     buf.putLong (recordDepth);
     buf.putLong (recordDepthHigh);
     buf.putLong (recordDepthLow);
-    buf.putLongLong (recordEnqueues);
-    buf.putLongLong (recordDequeues);
+    buf.putLongLong (totals.recordEnqueues);
+    buf.putLongLong (totals.recordDequeues);
     buf.putLong (outstandingAIOs);
     buf.putLong (outstandingAIOsHigh);
     buf.putLong (outstandingAIOsLow);
@@ -424,10 +461,10 @@
     buf.putLong (availableFileCount);
     buf.putLong (availableFileCountHigh);
     buf.putLong (availableFileCountLow);
-    buf.putLongLong (writeWaitFailures);
-    buf.putLongLong (writeBusyFailures);
-    buf.putLongLong (readRecordCount);
-    buf.putLongLong (readBusyFailures);
+    buf.putLongLong (totals.writeWaitFailures);
+    buf.putLongLong (totals.writeBusyFailures);
+    buf.putLongLong (totals.readRecordCount);
+    buf.putLongLong (totals.readBusyFailures);
     buf.putLong (writePageCacheDepth);
     buf.putLong (writePageCacheDepthHigh);
     buf.putLong (writePageCacheDepthLow);
@@ -450,6 +487,7 @@
     readPageCacheDepthHigh = readPageCacheDepth;
     readPageCacheDepthLow  = readPageCacheDepth;
 
+
 }
 
 void Journal::doMethod (string methodName, Buffer& inBuf, Buffer& outBuf)

Modified: store/trunk/cpp/lib/gen/qpid/management/Journal.h
===================================================================
--- store/trunk/cpp/lib/gen/qpid/management/Journal.h	2008-06-30 15:27:47 UTC (rev 2171)
+++ store/trunk/cpp/lib/gen/qpid/management/Journal.h	2008-06-30 19:03:29 UTC (rev 2172)
@@ -27,7 +27,6 @@
 #include "qpid/management/ManagementObject.h"
 #include "qpid/framing/FieldTable.h"
 #include "qpid/framing/Uuid.h"
-#include "qpid/sys/AtomicCount.h"
 
 namespace qpid {
 namespace management {
@@ -57,8 +56,6 @@
     uint32_t  recordDepth;
     uint32_t  recordDepthHigh;
     uint32_t  recordDepthLow;
-    uint64_t  recordEnqueues;
-    uint64_t  recordDequeues;
     uint32_t  outstandingAIOs;
     uint32_t  outstandingAIOsHigh;
     uint32_t  outstandingAIOsLow;
@@ -68,10 +65,6 @@
     uint32_t  availableFileCount;
     uint32_t  availableFileCountHigh;
     uint32_t  availableFileCountLow;
-    uint64_t  writeWaitFailures;
-    uint64_t  writeBusyFailures;
-    uint64_t  readRecordCount;
-    uint64_t  readBusyFailures;
     uint32_t  writePageCacheDepth;
     uint32_t  writePageCacheDepthHigh;
     uint32_t  writePageCacheDepthLow;
@@ -79,6 +72,39 @@
     uint32_t  readPageCacheDepthHigh;
     uint32_t  readPageCacheDepthLow;
 
+
+    // Per-Thread Statistics
+    struct PerThreadStats {
+        uint64_t  recordEnqueues;
+        uint64_t  recordDequeues;
+        uint64_t  writeWaitFailures;
+        uint64_t  writeBusyFailures;
+        uint64_t  readRecordCount;
+        uint64_t  readBusyFailures;
+
+    };
+
+    struct PerThreadStats** perThreadStatsArray;
+
+    inline struct PerThreadStats* getThreadStats() {
+        int index = getThreadIndex();
+        struct PerThreadStats* threadStats = perThreadStatsArray[index];
+        if (threadStats == 0) {
+            threadStats = new(PerThreadStats);
+            perThreadStatsArray[index] = threadStats;
+            threadStats->recordEnqueues = 0;
+            threadStats->recordDequeues = 0;
+            threadStats->writeWaitFailures = 0;
+            threadStats->writeBusyFailures = 0;
+            threadStats->readRecordCount = 0;
+            threadStats->readBusyFailures = 0;
+
+        }
+        return threadStats;
+    }
+
+    void aggregatePerThreadStats(struct PerThreadStats*);
+
     // Private Methods
     static void writeSchema (qpid::framing::Buffer& buf);
     void writeProperties    (qpid::framing::Buffer& buf);
@@ -87,15 +113,15 @@
     void doMethod           (std::string            methodName,
                              qpid::framing::Buffer& inBuf,
                              qpid::framing::Buffer& outBuf);
-    writeSchemaCall_t getWriteSchemaCall (void) { return writeSchema; }
+    writeSchemaCall_t getWriteSchemaCall(void) { return writeSchema; }
 
-
   public:
 
     friend class PackageMrgstore;
     typedef boost::shared_ptr<Journal> shared_ptr;
 
-    Journal (Manageable* coreObject);
+    Journal (ManagementAgent* agent,
+                            Manageable* coreObject);
     ~Journal (void);
 
     void setReference(uint64_t objectId) { queueRef = objectId; }
@@ -165,281 +191,137 @@
         instChanged = true;
     }
     inline void inc_recordDepth (uint32_t by = 1){
-        if (by == 1)
-            ++recordDepth;
-        else
-            recordDepth += by;
+        sys::Mutex::ScopedLock mutex(accessLock);
+        recordDepth += by;
         if (recordDepthHigh < recordDepth)
             recordDepthHigh = recordDepth;
         instChanged = true;
     }
     inline void dec_recordDepth (uint32_t by = 1){
-        if (by == 1)
-            recordDepth--;
-        else
-            recordDepth -= by;
+        sys::Mutex::ScopedLock mutex(accessLock);
+        recordDepth -= by;
         if (recordDepthLow > recordDepth)
             recordDepthLow = recordDepth;
         instChanged = true;
     }
-    inline void set_recordDepth (uint32_t val){
-        sys::Mutex::ScopedLock mutex(accessLock);
-        recordDepth = val;
-        if (recordDepthLow  > val)
-            recordDepthLow  = val;
-        if (recordDepthHigh < val)
-            recordDepthHigh = val;
-        instChanged = true;
-    }
     inline void inc_recordEnqueues (uint64_t by = 1){
-        if (by == 1)
-            ++recordEnqueues;
-        else
-            recordEnqueues += by;
+        getThreadStats()->recordEnqueues += by;
         instChanged = true;
     }
     inline void dec_recordEnqueues (uint64_t by = 1){
-        if (by == 1)
-            recordEnqueues--;
-        else
-            recordEnqueues -= by;
+        getThreadStats()->recordEnqueues -= by;
         instChanged = true;
     }
-    inline void set_recordEnqueues (uint64_t val){
-        sys::Mutex::ScopedLock mutex(accessLock);
-        recordEnqueues = val;
-        instChanged = true;
-    }
     inline void inc_recordDequeues (uint64_t by = 1){
-        if (by == 1)
-            ++recordDequeues;
-        else
-            recordDequeues += by;
+        getThreadStats()->recordDequeues += by;
         instChanged = true;
     }
     inline void dec_recordDequeues (uint64_t by = 1){
-        if (by == 1)
-            recordDequeues--;
-        else
-            recordDequeues -= by;
+        getThreadStats()->recordDequeues -= by;
         instChanged = true;
     }
-    inline void set_recordDequeues (uint64_t val){
-        sys::Mutex::ScopedLock mutex(accessLock);
-        recordDequeues = val;
-        instChanged = true;
-    }
     inline void inc_outstandingAIOs (uint32_t by = 1){
-        if (by == 1)
-            ++outstandingAIOs;
-        else
-            outstandingAIOs += by;
+        sys::Mutex::ScopedLock mutex(accessLock);
+        outstandingAIOs += by;
         if (outstandingAIOsHigh < outstandingAIOs)
             outstandingAIOsHigh = outstandingAIOs;
         instChanged = true;
     }
     inline void dec_outstandingAIOs (uint32_t by = 1){
-        if (by == 1)
-            outstandingAIOs--;
-        else
-            outstandingAIOs -= by;
+        sys::Mutex::ScopedLock mutex(accessLock);
+        outstandingAIOs -= by;
         if (outstandingAIOsLow > outstandingAIOs)
             outstandingAIOsLow = outstandingAIOs;
         instChanged = true;
     }
-    inline void set_outstandingAIOs (uint32_t val){
-        sys::Mutex::ScopedLock mutex(accessLock);
-        outstandingAIOs = val;
-        if (outstandingAIOsLow  > val)
-            outstandingAIOsLow  = val;
-        if (outstandingAIOsHigh < val)
-            outstandingAIOsHigh = val;
-        instChanged = true;
-    }
     inline void inc_freeFileCount (uint32_t by = 1){
-        if (by == 1)
-            ++freeFileCount;
-        else
-            freeFileCount += by;
+        sys::Mutex::ScopedLock mutex(accessLock);
+        freeFileCount += by;
         if (freeFileCountHigh < freeFileCount)
             freeFileCountHigh = freeFileCount;
         instChanged = true;
     }
     inline void dec_freeFileCount (uint32_t by = 1){
-        if (by == 1)
-            freeFileCount--;
-        else
-            freeFileCount -= by;
+        sys::Mutex::ScopedLock mutex(accessLock);
+        freeFileCount -= by;
         if (freeFileCountLow > freeFileCount)
             freeFileCountLow = freeFileCount;
         instChanged = true;
     }
-    inline void set_freeFileCount (uint32_t val){
-        sys::Mutex::ScopedLock mutex(accessLock);
-        freeFileCount = val;
-        if (freeFileCountLow  > val)
-            freeFileCountLow  = val;
-        if (freeFileCountHigh < val)
-            freeFileCountHigh = val;
-        instChanged = true;
-    }
     inline void inc_availableFileCount (uint32_t by = 1){
-        if (by == 1)
-            ++availableFileCount;
-        else
-            availableFileCount += by;
+        sys::Mutex::ScopedLock mutex(accessLock);
+        availableFileCount += by;
         if (availableFileCountHigh < availableFileCount)
             availableFileCountHigh = availableFileCount;
         instChanged = true;
     }
     inline void dec_availableFileCount (uint32_t by = 1){
-        if (by == 1)
-            availableFileCount--;
-        else
-            availableFileCount -= by;
+        sys::Mutex::ScopedLock mutex(accessLock);
+        availableFileCount -= by;
         if (availableFileCountLow > availableFileCount)
             availableFileCountLow = availableFileCount;
         instChanged = true;
     }
-    inline void set_availableFileCount (uint32_t val){
-        sys::Mutex::ScopedLock mutex(accessLock);
-        availableFileCount = val;
-        if (availableFileCountLow  > val)
-            availableFileCountLow  = val;
-        if (availableFileCountHigh < val)
-            availableFileCountHigh = val;
-        instChanged = true;
-    }
     inline void inc_writeWaitFailures (uint64_t by = 1){
-        if (by == 1)
-            ++writeWaitFailures;
-        else
-            writeWaitFailures += by;
+        getThreadStats()->writeWaitFailures += by;
         instChanged = true;
     }
     inline void dec_writeWaitFailures (uint64_t by = 1){
-        if (by == 1)
-            writeWaitFailures--;
-        else
-            writeWaitFailures -= by;
+        getThreadStats()->writeWaitFailures -= by;
         instChanged = true;
     }
-    inline void set_writeWaitFailures (uint64_t val){
-        sys::Mutex::ScopedLock mutex(accessLock);
-        writeWaitFailures = val;
-        instChanged = true;
-    }
     inline void inc_writeBusyFailures (uint64_t by = 1){
-        if (by == 1)
-            ++writeBusyFailures;
-        else
-            writeBusyFailures += by;
+        getThreadStats()->writeBusyFailures += by;
         instChanged = true;
     }
     inline void dec_writeBusyFailures (uint64_t by = 1){
-        if (by == 1)
-            writeBusyFailures--;
-        else
-            writeBusyFailures -= by;
+        getThreadStats()->writeBusyFailures -= by;
         instChanged = true;
     }
-    inline void set_writeBusyFailures (uint64_t val){
-        sys::Mutex::ScopedLock mutex(accessLock);
-        writeBusyFailures = val;
-        instChanged = true;
-    }
     inline void inc_readRecordCount (uint64_t by = 1){
-        if (by == 1)
-            ++readRecordCount;
-        else
-            readRecordCount += by;
+        getThreadStats()->readRecordCount += by;
         instChanged = true;
     }
     inline void dec_readRecordCount (uint64_t by = 1){
-        if (by == 1)
-            readRecordCount--;
-        else
-            readRecordCount -= by;
+        getThreadStats()->readRecordCount -= by;
         instChanged = true;
     }
-    inline void set_readRecordCount (uint64_t val){
-        sys::Mutex::ScopedLock mutex(accessLock);
-        readRecordCount = val;
-        instChanged = true;
-    }
     inline void inc_readBusyFailures (uint64_t by = 1){
-        if (by == 1)
-            ++readBusyFailures;
-        else
-            readBusyFailures += by;
+        getThreadStats()->readBusyFailures += by;
         instChanged = true;
     }
     inline void dec_readBusyFailures (uint64_t by = 1){
-        if (by == 1)
-            readBusyFailures--;
-        else
-            readBusyFailures -= by;
+        getThreadStats()->readBusyFailures -= by;
         instChanged = true;
     }
-    inline void set_readBusyFailures (uint64_t val){
-        sys::Mutex::ScopedLock mutex(accessLock);
-        readBusyFailures = val;
-        instChanged = true;
-    }
     inline void inc_writePageCacheDepth (uint32_t by = 1){
-        if (by == 1)
-            ++writePageCacheDepth;
-        else
-            writePageCacheDepth += by;
+        sys::Mutex::ScopedLock mutex(accessLock);
+        writePageCacheDepth += by;
         if (writePageCacheDepthHigh < writePageCacheDepth)
             writePageCacheDepthHigh = writePageCacheDepth;
         instChanged = true;
     }
     inline void dec_writePageCacheDepth (uint32_t by = 1){
-        if (by == 1)
-            writePageCacheDepth--;
-        else
-            writePageCacheDepth -= by;
+        sys::Mutex::ScopedLock mutex(accessLock);
+        writePageCacheDepth -= by;
         if (writePageCacheDepthLow > writePageCacheDepth)
             writePageCacheDepthLow = writePageCacheDepth;
         instChanged = true;
     }
-    inline void set_writePageCacheDepth (uint32_t val){
-        sys::Mutex::ScopedLock mutex(accessLock);
-        writePageCacheDepth = val;
-        if (writePageCacheDepthLow  > val)
-            writePageCacheDepthLow  = val;
-        if (writePageCacheDepthHigh < val)
-            writePageCacheDepthHigh = val;
-        instChanged = true;
-    }
     inline void inc_readPageCacheDepth (uint32_t by = 1){
-        if (by == 1)
-            ++readPageCacheDepth;
-        else
-            readPageCacheDepth += by;
+        sys::Mutex::ScopedLock mutex(accessLock);
+        readPageCacheDepth += by;
         if (readPageCacheDepthHigh < readPageCacheDepth)
             readPageCacheDepthHigh = readPageCacheDepth;
         instChanged = true;
     }
     inline void dec_readPageCacheDepth (uint32_t by = 1){
-        if (by == 1)
-            readPageCacheDepth--;
-        else
-            readPageCacheDepth -= by;
+        sys::Mutex::ScopedLock mutex(accessLock);
+        readPageCacheDepth -= by;
         if (readPageCacheDepthLow > readPageCacheDepth)
             readPageCacheDepthLow = readPageCacheDepth;
         instChanged = true;
     }
-    inline void set_readPageCacheDepth (uint32_t val){
-        sys::Mutex::ScopedLock mutex(accessLock);
-        readPageCacheDepth = val;
-        if (readPageCacheDepthLow  > val)
-            readPageCacheDepthLow  = val;
-        if (readPageCacheDepthHigh < val)
-            readPageCacheDepthHigh = val;
-        instChanged = true;
-    }
 
 };
 

Modified: store/trunk/cpp/lib/gen/qpid/management/Store.cpp
===================================================================
--- store/trunk/cpp/lib/gen/qpid/management/Store.cpp	2008-06-30 15:27:47 UTC (rev 2171)
+++ store/trunk/cpp/lib/gen/qpid/management/Store.cpp	2008-06-30 19:03:29 UTC (rev 2172)
@@ -24,6 +24,7 @@
 #include "qpid/log/Statement.h"
 #include "qpid/framing/FieldTable.h"
 #include "qpid/management/Manageable.h" 
+#include "qpid/management/ManagementAgent.h"
 #include "Store.h"
 
 
@@ -35,18 +36,21 @@
 string  Store::packageName  = string ("mrgstore");
 string  Store::className    = string ("store");
 uint8_t Store::md5Sum[16]   =
-    {0x63,0xc5,0x1a,0x81,0x18,0x8a,0x8d,0x9b,0x3e,0x96,0xf7,0x6d,0x3b,0xd0,0x51,0x14};
+    {0x91,0xcf,0xc4,0xa7,0x9b,0x4a,0x2a,0x88,0x32,0x6f,0xef,0xec,0x82,0xd7,0x12,0x6a};
 
-Store::Store (Manageable* _core, Manageable* _parent) :
-    ManagementObject(_core)
-    
+Store::Store (ManagementAgent* _agent, Manageable* _core, Manageable* _parent) :
+    ManagementObject(_agent, _core)
 {
     brokerRef = _parent->GetManagementObject ()->getObjectId ();
 
+
 }
 
-Store::~Store () {}
+Store::~Store ()
+{
 
+}
+
 namespace {
     const string NAME("name");
     const string TYPE("type");
@@ -71,7 +75,7 @@
     buf.putShortString (packageName); // Package Name
     buf.putShortString (className);   // Class Name
     buf.putBin128      (md5Sum);      // Schema Hash
-    buf.putShort       (4); // Config Element Count
+    buf.putShort       (5); // Config Element Count
     buf.putShort       (0); // Inst Element Count
     buf.putShort       (0); // Method Count
     buf.putShort       (0); // Event Count
@@ -93,6 +97,14 @@
     buf.put (ft);
 
     ft = FieldTable ();
+    ft.setString (NAME,   "async");
+    ft.setInt    (TYPE,   TYPE_BOOL);
+    ft.setInt    (ACCESS, ACCESS_RO);
+    ft.setInt    (INDEX,  0);
+    ft.setString (DESC,   "Asynchronous IO");
+    buf.put (ft);
+
+    ft = FieldTable ();
     ft.setString (NAME,   "defaultInitialFileCount");
     ft.setInt    (TYPE,   TYPE_U16);
     ft.setInt    (ACCESS, ACCESS_RO);
@@ -119,6 +131,8 @@
 
 }
 
+
+
 void Store::writeProperties (Buffer& buf)
 {
     sys::Mutex::ScopedLock mutex(accessLock);
@@ -127,6 +141,7 @@
     writeTimestamps (buf);
     buf.putLongLong (brokerRef);
     buf.putShortString (location);
+    buf.putOctet (async?1:0);
     buf.putShort (defaultInitialFileCount);
     buf.putLong (defaultDataFileSize);
 
@@ -138,12 +153,14 @@
     instChanged = false;
 
 
+
     if (!skipHeaders)
         writeTimestamps (buf);
 
 
     // Maintenance of hi-lo statistics
 
+
 }
 
 void Store::doMethod (string, Buffer&, Buffer& outBuf)

Modified: store/trunk/cpp/lib/gen/qpid/management/Store.h
===================================================================
--- store/trunk/cpp/lib/gen/qpid/management/Store.h	2008-06-30 15:27:47 UTC (rev 2171)
+++ store/trunk/cpp/lib/gen/qpid/management/Store.h	2008-06-30 19:03:29 UTC (rev 2172)
@@ -27,7 +27,6 @@
 #include "qpid/management/ManagementObject.h"
 #include "qpid/framing/FieldTable.h"
 #include "qpid/framing/Uuid.h"
-#include "qpid/sys/AtomicCount.h"
 
 namespace qpid {
 namespace management {
@@ -43,11 +42,13 @@
     // Properties
     uint64_t brokerRef;
     std::string location;
+    uint8_t async;
     uint16_t defaultInitialFileCount;
     uint32_t defaultDataFileSize;
 
     // Statistics
 
+
     // Private Methods
     static void writeSchema (qpid::framing::Buffer& buf);
     void writeProperties    (qpid::framing::Buffer& buf);
@@ -56,9 +57,9 @@
     void doMethod           (std::string            methodName,
                              qpid::framing::Buffer& inBuf,
                              qpid::framing::Buffer& outBuf);
-    writeSchemaCall_t getWriteSchemaCall (void) { return writeSchema; }
+    writeSchemaCall_t getWriteSchemaCall(void) { return writeSchema; }
 
-    // Stub for getInstChanged.  There are no inst elements
+    // Stub for getInstChanged.  There are no statistics in this class.
     bool getInstChanged (void) { return false; }
 
   public:
@@ -66,7 +67,8 @@
     friend class PackageMrgstore;
     typedef boost::shared_ptr<Store> shared_ptr;
 
-    Store (Manageable* coreObject, Manageable* _parent);
+    Store (ManagementAgent* agent,
+                            Manageable* coreObject, Manageable* _parent);
     ~Store (void);
 
     
@@ -88,6 +90,11 @@
         location = val;
         configChanged = true;
     }
+    inline void set_async (uint8_t val){
+        sys::Mutex::ScopedLock mutex(accessLock);
+        async = val;
+        configChanged = true;
+    }
     inline void set_defaultInitialFileCount (uint16_t val){
         sys::Mutex::ScopedLock mutex(accessLock);
         defaultInitialFileCount = val;




More information about the rhmessaging-commits mailing list