Author: tedross
Date: 2007-11-08 17:03:47 -0500 (Thu, 08 Nov 2007)
New Revision: 1277
Added:
mgmt/mint/xml/MgmtTypes.xml
Modified:
mgmt/mint/xml/MgmtSchema.xml
Log:
Updated format of XML, added type spec
Modified: mgmt/mint/xml/MgmtSchema.xml
===================================================================
--- mgmt/mint/xml/MgmtSchema.xml 2007-11-08 21:46:00 UTC (rev 1276)
+++ mgmt/mint/xml/MgmtSchema.xml 2007-11-08 22:03:47 UTC (rev 1277)
@@ -44,59 +44,64 @@
System
===============================================================
-->
- <object name="system" schemaId="1">
- <configElement name="sysId" index="y"
type="string"/>
+ <class name="system" schemaId="1">
+ <configElement name="sysId" index="y" type="sstr"
access="RC"/>
<!-- RT config/instrumentation TBD -->
- </object>
+ </class>
<!--
===============================================================
Broker
===============================================================
-->
- <object name="broker" schemaId="2">
- <configElement name="systemRef" type="objId"
access="RO" index="y" desc="System ID"/>
- <configElement name="port" type="uint16"
access="RO" index="y" desc="TCP Port for AMQP Service"/>
+ <class name="broker" schemaId="2">
+ <configElement name="systemRef" type="objId"
access="RC" index="y" desc="System ID"/>
+ <configElement name="port" type="uint16"
access="RC" index="y" desc="TCP Port for AMQP Service"/>
<configElement name="workerThreads" type="uint16"
access="RO" desc="Thread pool size"/>
<configElement name="maxConns" type="uint16"
access="RO" desc="Maximum allowed connections"/>
<configElement name="connBacklog" type="uint16"
access="RO" desc="Connection backlog limit for listening socket"/>
<configElement name="stagingThreshold" type="uint32"
access="RO" desc="Broker stages messages over this size to disk"/>
- <configElement name="storeLib" type="string"
access="RO" desc="Name of persistent storage library"/>
+ <configElement name="storeLib" type="sstr"
access="RO" desc="Name of persistent storage library"/>
<configElement name="asyncStore" type="bool"
access="RO" desc="Use async persistent store"/>
<configElement name="mgmtPubInterval" type="uint16"
min="1" access="RW" unit="second" desc="Interval for
management broadcasts"/>
<configElement name="initialDiskPageSize" type="uint32"
access="RO" desc="Number of disk pages allocated for storage"/>
<configElement name="initialPagesPerQueue" type="uint32"
access="RO" desc="Number of disk pages allocated per queue"/>
- <configElement name="clusterName" type="string"
access="RO"
+ <configElement name="clusterName" type="sstr"
access="RO"
desc="Name of cluster this server is a member of, zero-length for
standalone server"/>
- <configElement name="version" type="string"
access="RO" desc="Running software version"/>
+ <configElement name="version" type="sstr"
access="RO" desc="Running software version"/>
<method name="joinCluster">
- <arg name="clusterName" type="string"/>
+ <arg name="clusterName" dir="I" type="sstr"/>
</method>
<method name="leaveCluster"/>
- </object>
+ <method name="echo">
+ <arg name="sequence" dir="IO" type="uint32"
default="0"/>
+ <arg name="body" dir="IO" type="lstr"
default=""/>
+ </method>
+ </class>
+
<!--
===============================================================
Virtual Host
===============================================================
-->
- <object name="vhost" schemaId="3">
+ <class name="vhost" schemaId="3">
<configElement name="brokerRef" type="objId"
access="RC" index="y"/>
- <configElement name="name" type="string"
access="RC" index="y"/>
- </object>
+ <configElement name="name" type="sstr"
access="RC" index="y"/>
+ </class>
<!--
===============================================================
Queue
===============================================================
-->
- <object name="queue" schemaId="4">
+ <class name="queue" schemaId="4">
<configElement name="vhostRef" type="objId"
access="RC" index="y"/>
- <configElement name="name" type="string"
access="RC" index="y"/>
+ <configElement name="name" type="sstr"
access="RC" index="y"/>
<configElement name="durable" type="bool"
access="RC"/>
<configElement name="autoDelete" type="bool"
access="RC"/>
@@ -107,163 +112,162 @@
<instElement name="diskPages" type="uint32"/>
<instElement name="diskAvailableSize" type="uint32"/>
- <instElement name="msgTotalEnqueues" type="uint64"
unit="message" desc="Total messages enqueued"/>
- <instElement name="msgTotalDequeues" type="uint64"
unit="message" desc="Total messages dequeued"/>
- <instElement name="msgTxnEnqueues" type="uint64"
unit="message" desc="Transactional messages enqueued"/>
- <instElement name="msgTxnDequeues" type="uint64"
unit="message" desc="Transactional messages dequeued"/>
- <instElement name="msgPersistEnqueues" type="uint64"
unit="message" desc="Persistent messages enqueued"/>
- <instElement name="msgPersistDequeues" type="uint64"
unit="message" desc="Persistent messages dequeued"/>
- <instElement name="msgDepth" type="uint32_wm"
unit="message" desc="Current size of queue in messages"/>
- <instElement name="byteTotalEnqueues" type="uint64"
unit="octet" desc="Total messages enqueued"/>
- <instElement name="byteTotalDequeues" type="uint64"
unit="octet" desc="Total messages dequeued"/>
- <instElement name="byteTxnEnqueues" type="uint64"
unit="octet" desc="Transactional messages enqueued"/>
- <instElement name="byteTxnDequeues" type="uint64"
unit="octet" desc="Transactional messages dequeued"/>
- <instElement name="bytePersistEnqueues" type="uint64"
unit="octet" desc="Persistent messages enqueued"/>
- <instElement name="bytePersistDequeues" type="uint64"
unit="octet" desc="Persistent messages dequeued"/>
- <instElement name="byteDepth" type="uint32_wm"
unit="octet" desc="Current size of queue in bytes"/>
- <instElement name="enqueueTxnStarts" type="uint64"
unit="transaction" desc="Total enqueue transactions started "/>
- <instElement name="enqueueTxnCommits" type="uint64"
unit="transaction" desc="Total enqueue transactions committed"/>
- <instElement name="enqueueTxnRejects" type="uint64"
unit="transaction" desc="Total enqueue transactions rejected"/>
- <instElement name="enqueueTxnCount" type="uint32_wm"
unit="transaction" desc="Current pending enqueue transactions"/>
- <instElement name="dequeueTxnStarts" type="uint64"
unit="transaction" desc="Total dequeue transactions started"/>
- <instElement name="dequeueTxnCommits" type="uint64"
unit="transaction" desc="Total dequeue transactions committed"/>
- <instElement name="dequeueTxnRejects" type="uint64"
unit="transaction" desc="Total dequeue transactions rejected"/>
- <instElement name="dequeueTxnCount" type="uint32_wm"
unit="transaction" desc="Current pending dequeue transactions"/>
- <instElement name="consumers" type="uint32_wm"
unit="consumer" desc="Current consumers on queue"/>
- <instElement name="bindings" type="uint32_wm"
unit="binding" desc="Current bindings"/>
- <instElement name="unackedMessages" type="uint32_wm"
unit="message" desc="Messages consumed but not yet acked"/>
+ <instElement name="msgTotalEnqueues" type="count64"
unit="message" desc="Total messages enqueued"/>
+ <instElement name="msgTotalDequeues" type="count64"
unit="message" desc="Total messages dequeued"/>
+ <instElement name="msgTxnEnqueues" type="count64"
unit="message" desc="Transactional messages enqueued"/>
+ <instElement name="msgTxnDequeues" type="count64"
unit="message" desc="Transactional messages dequeued"/>
+ <instElement name="msgPersistEnqueues" type="count64"
unit="message" desc="Persistent messages enqueued"/>
+ <instElement name="msgPersistDequeues" type="count64"
unit="message" desc="Persistent messages dequeued"/>
+ <instElement name="msgDepth" type="hilo32"
unit="message" desc="Current size of queue in messages"/>
+ <instElement name="byteTotalEnqueues" type="count64"
unit="octet" desc="Total messages enqueued"/>
+ <instElement name="byteTotalDequeues" type="count64"
unit="octet" desc="Total messages dequeued"/>
+ <instElement name="byteTxnEnqueues" type="count64"
unit="octet" desc="Transactional messages enqueued"/>
+ <instElement name="byteTxnDequeues" type="count64"
unit="octet" desc="Transactional messages dequeued"/>
+ <instElement name="bytePersistEnqueues" type="count64"
unit="octet" desc="Persistent messages enqueued"/>
+ <instElement name="bytePersistDequeues" type="count64"
unit="octet" desc="Persistent messages dequeued"/>
+ <instElement name="byteDepth" type="hilo32"
unit="octet" desc="Current size of queue in bytes"/>
+ <instElement name="enqueueTxnStarts" type="count64"
unit="transaction" desc="Total enqueue transactions started "/>
+ <instElement name="enqueueTxnCommits" type="count64"
unit="transaction" desc="Total enqueue transactions committed"/>
+ <instElement name="enqueueTxnRejects" type="count64"
unit="transaction" desc="Total enqueue transactions rejected"/>
+ <instElement name="enqueueTxnCount" type="hilo32"
unit="transaction" desc="Current pending enqueue transactions"/>
+ <instElement name="dequeueTxnStarts" type="count64"
unit="transaction" desc="Total dequeue transactions started"/>
+ <instElement name="dequeueTxnCommits" type="count64"
unit="transaction" desc="Total dequeue transactions committed"/>
+ <instElement name="dequeueTxnRejects" type="count64"
unit="transaction" desc="Total dequeue transactions rejected"/>
+ <instElement name="dequeueTxnCount" type="hilo32"
unit="transaction" desc="Current pending dequeue transactions"/>
+ <instElement name="consumers" type="hilo32"
unit="consumer" desc="Current consumers on queue"/>
+ <instElement name="bindings" type="hilo32"
unit="binding" desc="Current bindings"/>
+ <instElement name="unackedMessages" type="hilo32"
unit="message" desc="Messages consumed but not yet acked"/>
<method name="purge" desc="Discard all messages on
queue"/>
<method name="increaseDiskSize" desc="Increase number of disk pages
allocated for this queue">
- <arg name="pages" type="uint32" desc="New total page
allocation"/>
+ <arg name="pages" type="uint32" dir="I"
desc="New total page allocation"/>
</method>
- </object>
+ </class>
<!--
===============================================================
Exchange
===============================================================
-->
- <object name="exchange" schemaId="5">
+ <class name="exchange" schemaId="5">
<configElement name="vhostRef" type="objId"
access="RC" index="y"/>
- <configElement name="name" type="string"
access="RC" index="y"/>
- <configElement name="type" type="string"
access="RC"/>
+ <configElement name="name" type="sstr"
access="RC" index="y"/>
+ <configElement name="type" type="sstr"
access="RC"/>
- <instElement name="producers" type="uint32_wm"
desc="Current producers on exchange"/>
- <instElement name="bindings" type="uint32_wm"
desc="Current bindings"/>
- <instElement name="msgReceives" type="uint64"
desc="Total messages received"/>
- <instElement name="msgDrops" type="uint64"
desc="Total messages dropped (no matching key)"/>
- <instElement name="msgRoutes" type="uint64"
desc="Total routed messages"/>
- <instElement name="byteReceives" type="uint64"
desc="Total bytes received"/>
- <instElement name="byteDrops" type="uint64"
desc="Total bytes dropped (no matching key)"/>
- <instElement name="byteRoutes" type="uint64"
desc="Total routed bytes"/>
- </object>
+ <instElement name="producers" type="hilo32"
desc="Current producers on exchange"/>
+ <instElement name="bindings" type="hilo32"
desc="Current bindings"/>
+ <instElement name="msgReceives" type="count64"
desc="Total messages received"/>
+ <instElement name="msgDrops" type="count64"
desc="Total messages dropped (no matching key)"/>
+ <instElement name="msgRoutes" type="count64"
desc="Total routed messages"/>
+ <instElement name="byteReceives" type="count64"
desc="Total bytes received"/>
+ <instElement name="byteDrops" type="count64"
desc="Total bytes dropped (no matching key)"/>
+ <instElement name="byteRoutes" type="count64"
desc="Total routed bytes"/>
+ </class>
<!--
===============================================================
Binding
===============================================================
-->
- <object name="binding" schemaId="6">
- <configElement name="queueRef" type="objId"
access="RC" index="y"/>
- <configElement name="exchangeRef" type="objId"
access="RC" index="y"/>
- <configElement name="bindingKey" type="string"
access="RC"/>
- <configElement name="arguments" type="fieldTable"
access="RC"/>
+ <class name="binding" schemaId="6">
+ <configElement name="queueRef" type="objId"
access="RC" index="y"/>
+ <configElement name="exchangeRef" type="objId"
access="RC" index="y"/>
+ <configElement name="bindingKey" type="sstr"
access="RC"/>
+<!--<configElement name="arguments" type="fieldTable"
access="RC"/> -->
- <instElement name="msgMatched" type="uint64"/>
- </object>
+ <instElement name="msgMatched" type="count64"/>
+ </class>
<!--
===============================================================
Client
===============================================================
-->
- <object name="client" schemaId="7">
- <configElement name="vhostRef" type="objId"
index="y"/>
- <configElement name="ipAddr" type="ipAddress"
index="y"/>
- <configElement name="port" type="uint16"
index="y"/>
+ <class name="client" schemaId="7">
+ <configElement name="vhostRef" type="objId"
access="RC" index="y"/>
+ <configElement name="ipAddr" type="uint32"
access="RC" index="y"/>
+ <configElement name="port" type="uint16"
access="RC" index="y"/>
- <instElement name="authIdentity" type="string"/>
- <instElement name="msgsProduced" type="uint64"/>
- <instElement name="msgsConsumed" type="uint64"/>
- <instElement name="bytesProduced" type="uint64"/>
- <instElement name="bytesConsumed" type="uint64"/>
+ <instElement name="authIdentity" type="sstr"/>
+ <instElement name="msgsProduced" type="count64"/>
+ <instElement name="msgsConsumed" type="count64"/>
+ <instElement name="bytesProduced" type="count64"/>
+ <instElement name="bytesConsumed" type="count64"/>
<method name="close"/>
<method name="detach"/>
- </object>
+ </class>
<!--
===============================================================
Session
===============================================================
-->
- <object name="session" schemaId="8">
+ <class name="session" schemaId="8">
<configElement name="vhostRef" type="objId"
index="y"/>
- <configElement name="name" type="string"
index="y"/>
- <configElement name="clientRef" type="string"
access="RO"/>
+ <configElement name="name" type="sstr"
index="y"/>
+ <configElement name="clientRef" type="sstr"
access="RO"/>
<configElement name="detachedLifespan" type="uint32"
access="RO"/>
<instElement name="attached" type="bool"/>
- <instElement name="remainingLifespan" type="uint32"/>
- <instElement name="framesOutstanding" type="uint32"/>
+ <instElement name="remainingLifespan" type="count32"/>
+ <instElement name="framesOutstanding" type="count32"/>
<method name="solicitAck"/>
<method name="detach"/>
<method name="resetLifespan"/>
<method name="close"/>
- </object>
+ </class>
<!--
===============================================================
Destination
===============================================================
-->
- <object name="destination" schemaId="9">
+ <class name="destination" schemaId="9">
<configElement name="sessionRef" type="objId"
index="y"/>
- <configElement name="name" type="string"
index="y"/>
+ <configElement name="name" type="sstr"
index="y"/>
- <instElement name="flowMode"
type="enum(credit,window)"/>
- <instElement name="maxMsgCredits" type="uint32"/>
- <instElement name="maxByteCredits" type="uint32"/>
+ <instElement name="flowMode" type="uint8"/>
+ <instElement name="maxMsgCredits" type="uint32"/>
+ <instElement name="maxByteCredits" type="uint32"/>
+ <instElement name="msgCredits" type="uint32"/>
+ <instElement name="byteCredits" type="uint32"/>
- <instElement name="msgCredits" type="uint32"/>
- <instElement name="byteCredits" type="uint32"/>
-
<method name="throttle" desc="Apply extra rate limiting to
destination: 0 = Normal, 10 = Maximum">
- <arg name="strength" type="uint8" min="0"
max="10"/>
+ <arg name="strength" type="uint8" dir="I"
min="0" max="10"/>
</method>
<method name="stop"/>
<method name="start"/>
- </object>
+ </class>
<!--
===============================================================
Producer
===============================================================
-->
- <object name="producer" schemaId="10">
+ <class name="producer" schemaId="10">
<configElement name="destinationRef" type="objId"
index="y"/>
<configElement name="exchangeRef" type="objId"
index="y"/>
- <instElement name="msgsProduced" type="uint64"/>
- <instElement name="bytesProduced" type="uint64"/>
- </object>
+ <instElement name="msgsProduced" type="count64"/>
+ <instElement name="bytesProduced" type="count64"/>
+ </class>
<!--
===============================================================
Consumer
===============================================================
-->
- <object name="consumer" schemaId="11">
+ <class name="consumer" schemaId="11">
<configElement name="destinationRef" type="objId"
index="y"/>
<configElement name="queueRef" type="objId"
index="y"/>
- <instElement name="msgsConsumed" type="uint64"/>
- <instElement name="bytesConsumed" type="uint64"/>
- <instElement name="unackedMessages" type="uint32_wm"
desc="Messages consumed but not yet acked"/>
+ <instElement name="msgsConsumed" type="count64"/>
+ <instElement name="bytesConsumed" type="count64"/>
+ <instElement name="unackedMessages" type="hilo32"
desc="Messages consumed but not yet acked"/>
<method name="close"/>
- </object>
+ </class>
</schema>
Added: mgmt/mint/xml/MgmtTypes.xml
===================================================================
--- mgmt/mint/xml/MgmtTypes.xml (rev 0)
+++ mgmt/mint/xml/MgmtTypes.xml 2007-11-08 22:03:47 UTC (rev 1277)
@@ -0,0 +1,41 @@
+<schema-types>
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<type name="objId" base="u64" cpp="uint64_t"
encode="@.putLongLong(#)" decode="# = @.getLongLong()"
accessor="direct"/>
+<type name="uint8" base="u8" cpp="uint8_t"
encode="@.putOctet(#)" decode="# = @.getOctet()"
accessor="direct"/>
+<type name="uint16" base="u16" cpp="uint16_t"
encode="@.putShort(#)" decode="# = @.getShort()"
accessor="direct"/>
+<type name="uint32" base="u32" cpp="uint32_t"
encode="@.putLong(#)" decode="# = @.getLong()"
accessor="direct"/>
+<type name="uint64" base="u64" cpp="uint64_t"
encode="@.putLongLong(#)" decode="# = @.getLongLong()"
accessor="direct"/>
+<type name="bool" base="u8" cpp="bool"
encode="@.putOctet(#?1:0)" decode="# = @.getOctet()==1"
accessor="direct"/>
+<type name="sstr" base="sstr" cpp="std::string"
encode="@.putShortString(#)" decode="@.getShortString(#)"
accessor="direct"/>
+<type name="lstr" base="lstr" cpp="std::string"
encode="@.putLongString(#)" decode="@.getLongString(#)"
accessor="direct"/>
+
+<type name="hilo8" base="u8" cpp="uint8_t"
encode="@.putOctet(#)" decode="# = @.getOctet()"
style="wm" accessor="counter"/>
+<type name="hilo16" base="u16" cpp="uint16_t"
encode="@.putShort(#)" decode="# = @.getShort()"
style="wm" accessor="counter"/>
+<type name="hilo32" base="u32" cpp="uint32_t"
encode="@.putLong(#)" decode="# = @.getLong()"
style="wm" accessor="counter"/>
+<type name="hilo64" base="u64" cpp="uint64_t"
encode="@.putLongLong(#)" decode="# = @.getLongLong()"
style="wm" accessor="counter"/>
+
+<type name="count8" base="u8" cpp="uint8_t"
encode="@.putOctet(#)" decode="# = @.getOctet()"
accessor="counter"/>
+<type name="count16" base="u16" cpp="uint16_t"
encode="@.putShort(#)" decode="# = @.getShort()"
accessor="counter"/>
+<type name="count32" base="u32" cpp="uint32_t"
encode="@.putLong(#)" decode="# = @.getLong()"
accessor="counter"/>
+<type name="count64" base="u64" cpp="uint64_t"
encode="@.putLongLong(#)" decode="# = @.getLongLong()"
accessor="counter"/>
+
+</schema-types>