AMQ-6681, AMQ-6704 - Update karaf and aries-blueprint-core
[activemq.git] / activemq-client / src / main / java / org / apache / activemq / command / CommandTypes.java
1 /**
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17 package org.apache.activemq.command;
18
19 /**
20 * Holds the command id constants used by the command objects.
21 *
22 *
23 */
24 public interface CommandTypes {
25
26 // What is the latest version of the openwire protocol
27 byte PROTOCOL_VERSION = 11;
28
29 // What is the latest version of the openwire protocol used in the stores
30 byte PROTOCOL_STORE_VERSION = 11;
31
32 // What is the legacy version that old KahaDB store's most commonly used
33 byte PROTOCOL_LEGACY_STORE_VERSION = 6;
34
35 // A marshaling layer can use this type to specify a null object.
36 byte NULL = 0;
37
38 // /////////////////////////////////////////////////
39 //
40 // Info objects sent back and forth client/server when
41 // setting up a client connection.
42 //
43 // /////////////////////////////////////////////////
44 byte WIREFORMAT_INFO = 1;
45 byte BROKER_INFO = 2;
46 byte CONNECTION_INFO = 3;
47 byte SESSION_INFO = 4;
48 byte CONSUMER_INFO = 5;
49 byte PRODUCER_INFO = 6;
50 byte TRANSACTION_INFO = 7;
51 byte DESTINATION_INFO = 8;
52 byte REMOVE_SUBSCRIPTION_INFO = 9;
53 byte KEEP_ALIVE_INFO = 10;
54 byte SHUTDOWN_INFO = 11;
55 byte REMOVE_INFO = 12;
56 byte CONTROL_COMMAND = 14;
57 byte FLUSH_COMMAND = 15;
58 byte CONNECTION_ERROR = 16;
59 byte CONSUMER_CONTROL = 17;
60 byte CONNECTION_CONTROL = 18;
61
62 // /////////////////////////////////////////////////
63 //
64 // Messages that go back and forth between the client
65 // and the server.
66 //
67 // /////////////////////////////////////////////////
68 byte PRODUCER_ACK = 19;
69 byte MESSAGE_PULL = 20;
70 byte MESSAGE_DISPATCH = 21;
71 byte MESSAGE_ACK = 22;
72
73 byte ACTIVEMQ_MESSAGE = 23;
74 byte ACTIVEMQ_BYTES_MESSAGE = 24;
75 byte ACTIVEMQ_MAP_MESSAGE = 25;
76 byte ACTIVEMQ_OBJECT_MESSAGE = 26;
77 byte ACTIVEMQ_STREAM_MESSAGE = 27;
78 byte ACTIVEMQ_TEXT_MESSAGE = 28;
79 byte ACTIVEMQ_BLOB_MESSAGE = 29;
80
81 // /////////////////////////////////////////////////
82 //
83 // Command Response messages
84 //
85 // /////////////////////////////////////////////////
86 byte RESPONSE = 30;
87 byte EXCEPTION_RESPONSE = 31;
88 byte DATA_RESPONSE = 32;
89 byte DATA_ARRAY_RESPONSE = 33;
90 byte INTEGER_RESPONSE = 34;
91
92 // /////////////////////////////////////////////////
93 //
94 // Used by discovery
95 //
96 // /////////////////////////////////////////////////
97 byte DISCOVERY_EVENT = 40;
98
99 // /////////////////////////////////////////////////
100 //
101 // Command object used by the Journal
102 //
103 // /////////////////////////////////////////////////
104 byte JOURNAL_ACK = 50;
105 byte JOURNAL_REMOVE = 52;
106 byte JOURNAL_TRACE = 53;
107 byte JOURNAL_TRANSACTION = 54;
108 byte DURABLE_SUBSCRIPTION_INFO = 55;
109
110 // /////////////////////////////////////////////////
111 //
112 // Reliability and fragmentation
113 //
114 // /////////////////////////////////////////////////
115 byte PARTIAL_COMMAND = 60;
116 byte PARTIAL_LAST_COMMAND = 61;
117
118 byte REPLAY = 65;
119
120 // /////////////////////////////////////////////////
121 //
122 // Types used represent basic Java types.
123 //
124 // /////////////////////////////////////////////////
125 byte BYTE_TYPE = 70;
126 byte CHAR_TYPE = 71;
127 byte SHORT_TYPE = 72;
128 byte INTEGER_TYPE = 73;
129 byte LONG_TYPE = 74;
130 byte DOUBLE_TYPE = 75;
131 byte FLOAT_TYPE = 76;
132 byte STRING_TYPE = 77;
133 byte BOOLEAN_TYPE = 78;
134 byte BYTE_ARRAY_TYPE = 79;
135
136 // /////////////////////////////////////////////////
137 //
138 // Broker to Broker command objects
139 //
140 // /////////////////////////////////////////////////
141
142 byte MESSAGE_DISPATCH_NOTIFICATION = 90;
143 byte NETWORK_BRIDGE_FILTER = 91;
144
145 // /////////////////////////////////////////////////
146 //
147 // Data structures contained in the command objects.
148 //
149 // /////////////////////////////////////////////////
150 byte ACTIVEMQ_QUEUE = 100;
151 byte ACTIVEMQ_TOPIC = 101;
152 byte ACTIVEMQ_TEMP_QUEUE = 102;
153 byte ACTIVEMQ_TEMP_TOPIC = 103;
154
155 byte MESSAGE_ID = 110;
156 byte ACTIVEMQ_LOCAL_TRANSACTION_ID = 111;
157 byte ACTIVEMQ_XA_TRANSACTION_ID = 112;
158
159 byte CONNECTION_ID = 120;
160 byte SESSION_ID = 121;
161 byte CONSUMER_ID = 122;
162 byte PRODUCER_ID = 123;
163 byte BROKER_ID = 124;
164
165 }