blob: 955f702f5ff57e19816d0ff5127fbd6fe322a5a6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
<?xml version="1.0"?>
<!--
-
- 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.
-
-->
<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="dump-request" code="0x1" label="URL for a member.">
<field name="url" type="str16"/>
</control>
<control name = "dump-offer" code="0x2" label="Member offering to be dumper for dumpee.">
<field name="dumpee" type="uint64"/>
</control>
<control name = "dump-start" code="0x3" label="Used internally by dumper to mark stall point.">
<field name="dumpee" type="uint64"/>
<field name="url" type="str16"/>
</control>
<control name="ready" code="0x10" label="New member is ready.">
<field name="url" type="str16"/>
</control>
<control name="shutdown" code="0x20" label="Shut down entire cluster"/>
</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 shadow dump.
- send dump-complete when entire dump is complete.
-->
<control name="session-state" code="0x4" label="Set session state during a brain dump.">
<!-- Target session deduced from channel number. -->
<field name="replay-start" type="sequence-no"/> <!-- Replay frames will start from this point.-->
<field name="command-point" type="sequence-no"/> <!-- Id of next command sent -->
<field name="sent-incomplete" type="sequence-set"/> <!-- Commands sent and incomplete. -->
<field name="expected" type="sequence-no"/> <!-- Next command expected. -->
<field name="received" type="sequence-no"/> <!-- Received up to here (>= expected) -->
<field name="unknown-completed" type="sequence-set"/> <!-- Completed but not known to peer. -->
<field name="received-incomplete" type="sequence-set"/> <!-- Received and incomplete -->
</control>
<control name="shadow-ready" code="0x5" label="End of shadow connection dump.">
<field name="member-id" type="uint64"/>
<field name="connection-id" type="uint64"/>
</control>
<control name="membership" code="0x6" label="Cluster membership details.">
<field name="newbies" type="map"/> <!-- member-id -> URL -->
<field name="members" type="map"/> <!-- member-id -> state -->
</control>
</class>
</amqp>
|