001 /**
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements. See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License. You may obtain a copy of the License at
008 *
009 * http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017 package org.apache.activemq.command;
018
019 /**
020 * Holds the command id constants used by the command objects.
021 *
022 *
023 */
024 public interface CommandTypes {
025
026 // What is the latest version of the openwire protocol
027 byte PROTOCOL_VERSION = 9;
028
029 // What is the latest version of the openwire protocol used in the stores
030 byte PROTOCOL_STORE_VERSION = 6;
031
032
033 // A marshaling layer can use this type to specify a null object.
034 byte NULL = 0;
035
036 // /////////////////////////////////////////////////
037 //
038 // Info objects sent back and forth client/server when
039 // setting up a client connection.
040 //
041 // /////////////////////////////////////////////////
042 byte WIREFORMAT_INFO = 1;
043 byte BROKER_INFO = 2;
044 byte CONNECTION_INFO = 3;
045 byte SESSION_INFO = 4;
046 byte CONSUMER_INFO = 5;
047 byte PRODUCER_INFO = 6;
048 byte TRANSACTION_INFO = 7;
049 byte DESTINATION_INFO = 8;
050 byte REMOVE_SUBSCRIPTION_INFO = 9;
051 byte KEEP_ALIVE_INFO = 10;
052 byte SHUTDOWN_INFO = 11;
053 byte REMOVE_INFO = 12;
054 byte CONTROL_COMMAND = 14;
055 byte FLUSH_COMMAND = 15;
056 byte CONNECTION_ERROR = 16;
057 byte CONSUMER_CONTROL = 17;
058 byte CONNECTION_CONTROL = 18;
059
060 // /////////////////////////////////////////////////
061 //
062 // Messages that go back and forth between the client
063 // and the server.
064 //
065 // /////////////////////////////////////////////////
066 byte PRODUCER_ACK = 19;
067 byte MESSAGE_PULL = 20;
068 byte MESSAGE_DISPATCH = 21;
069 byte MESSAGE_ACK = 22;
070
071 byte ACTIVEMQ_MESSAGE = 23;
072 byte ACTIVEMQ_BYTES_MESSAGE = 24;
073 byte ACTIVEMQ_MAP_MESSAGE = 25;
074 byte ACTIVEMQ_OBJECT_MESSAGE = 26;
075 byte ACTIVEMQ_STREAM_MESSAGE = 27;
076 byte ACTIVEMQ_TEXT_MESSAGE = 28;
077 byte ACTIVEMQ_BLOB_MESSAGE = 29;
078
079 // /////////////////////////////////////////////////
080 //
081 // Command Response messages
082 //
083 // /////////////////////////////////////////////////
084 byte RESPONSE = 30;
085 byte EXCEPTION_RESPONSE = 31;
086 byte DATA_RESPONSE = 32;
087 byte DATA_ARRAY_RESPONSE = 33;
088 byte INTEGER_RESPONSE = 34;
089
090 // /////////////////////////////////////////////////
091 //
092 // Used by discovery
093 //
094 // /////////////////////////////////////////////////
095 byte DISCOVERY_EVENT = 40;
096
097 // /////////////////////////////////////////////////
098 //
099 // Command object used by the Journal
100 //
101 // /////////////////////////////////////////////////
102 byte JOURNAL_ACK = 50;
103 byte JOURNAL_REMOVE = 52;
104 byte JOURNAL_TRACE = 53;
105 byte JOURNAL_TRANSACTION = 54;
106 byte DURABLE_SUBSCRIPTION_INFO = 55;
107
108 // /////////////////////////////////////////////////
109 //
110 // Reliability and fragmentation
111 //
112 // /////////////////////////////////////////////////
113 byte PARTIAL_COMMAND = 60;
114 byte PARTIAL_LAST_COMMAND = 61;
115
116 byte REPLAY = 65;
117
118 // /////////////////////////////////////////////////
119 //
120 // Types used represent basic Java types.
121 //
122 // /////////////////////////////////////////////////
123 byte BYTE_TYPE = 70;
124 byte CHAR_TYPE = 71;
125 byte SHORT_TYPE = 72;
126 byte INTEGER_TYPE = 73;
127 byte LONG_TYPE = 74;
128 byte DOUBLE_TYPE = 75;
129 byte FLOAT_TYPE = 76;
130 byte STRING_TYPE = 77;
131 byte BOOLEAN_TYPE = 78;
132 byte BYTE_ARRAY_TYPE = 79;
133
134 // /////////////////////////////////////////////////
135 //
136 // Broker to Broker command objects
137 //
138 // /////////////////////////////////////////////////
139
140 byte MESSAGE_DISPATCH_NOTIFICATION = 90;
141 byte NETWORK_BRIDGE_FILTER = 91;
142
143 // /////////////////////////////////////////////////
144 //
145 // Data structures contained in the command objects.
146 //
147 // /////////////////////////////////////////////////
148 byte ACTIVEMQ_QUEUE = 100;
149 byte ACTIVEMQ_TOPIC = 101;
150 byte ACTIVEMQ_TEMP_QUEUE = 102;
151 byte ACTIVEMQ_TEMP_TOPIC = 103;
152
153 byte MESSAGE_ID = 110;
154 byte ACTIVEMQ_LOCAL_TRANSACTION_ID = 111;
155 byte ACTIVEMQ_XA_TRANSACTION_ID = 112;
156
157 byte CONNECTION_ID = 120;
158 byte SESSION_ID = 121;
159 byte CONSUMER_ID = 122;
160 byte PRODUCER_ID = 123;
161 byte BROKER_ID = 124;
162
163 }