summaryrefslogtreecommitdiff
path: root/qpid/cpp/xml
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/cpp/xml')
-rw-r--r--qpid/cpp/xml/cluster.xml50
1 files changed, 48 insertions, 2 deletions
diff --git a/qpid/cpp/xml/cluster.xml b/qpid/cpp/xml/cluster.xml
index a5f9d51a13..d239bb11f3 100644
--- a/qpid/cpp/xml/cluster.xml
+++ b/qpid/cpp/xml/cluster.xml
@@ -22,20 +22,66 @@ o<?xml version="1.0"?>
<amqp major="0" minor="10" port="5672">
+ <!-- Controls sent between cluster nodes. -->
+
<class name = "cluster" code = "0x80" label="Qpid clustering extensions.">
<doc>Qpid extension class to allow clustered brokers to communicate.</doc>
- <control name = "url-notice" code="0x1">
- <field name="url-notice" type="str16" />
+ <!-- Cluster membership -->
+
+ <control name = "joining" code="0x1">
+ <field name="joining" type="str16" label="URL of new member joining cluster."/>
+ </control>
+
+
+ <control name="ready" code="0x2" label="New member is ready."/>
+
+ <control name="members" code="0x3" label="Cluster map sent to new members.">
+ <field name="members" type="map"/> <!-- member-id -> URL -->
+ <field name="donors" type="map"/> <!-- member-id -> uint32 (donor-count) -->
+ <field name="newbies" type="map"/> <!-- member-id -> URL -->
</control>
+
+ <!-- Transferring broker state -->
+
</class>
+ <!-- TODO aconway 2008-09-10: support for un-attached connections. -->
+
+ <!-- Controls associated with a specific connection. -->
+
<class name="cluster-connection" code="0x81" label="Qpid clustering extensions.">
+
<control name="deliver-close" code="0x2">
</control>
<control name="deliver-do-output" code="0x3">
<field name="bytes" type="uint32"/>
</control>
+
+ <!-- Brain-dump controls. Sent to a new broker in joining mode.
+ A connection is dumped as followed:
+ - open as a normal connection.
+ - attach sessions, create consumers, set flow with normal AMQP cokmmands.
+ - reset session state by sending session-state for each session.
+ - frames following session-state are replay frames.
+ - send shadow-ready to mark end of dump.
+ -->
+ <control name="session-state" code="0x4" label="Set session state during a brain dump.">
+ <!-- Target session deduced from channel number. -->
+ <field name="replay-id" type="sequence-no"/>
+ <field name="send-id" type="sequence-no"/>
+ <field name="sent-incomplete" type="sequence-set"/>
+
+ <field name="expected-id" type="sequence-no"/>
+ <field name="received-id" type="sequence-no"/>
+ <field name="unknown-completed" type="sequence-set"/>
+ <field name="received-incomplete" type="sequence-set"/>
+ </control>
+
+ <control name="shadow-ready" code="0x5" label="End of shadow connection dump.">
+ <field name="cluster-id" type="uint64"/>
+ <field name="user-id" type="vbin16"/>
+ </control>
</class>
</amqp>