1 /*** 2 * 3 * Copyright 2004 Protique Ltd 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * 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 **/ 18 19 package org.codehaus.activemq.message; 20 21 /*** 22 * Denotes an object that can be serialized/deserailized using a PacketReader or PacketWriter 23 */ 24 25 public interface Packet { 26 27 /*** 28 * Return the type of Packet 29 * 30 * @return integer representation of the type of Packet 31 */ 32 33 public int getPacketType(); 34 35 /*** 36 * @return the unique id for this Packet 37 */ 38 39 public String getId(); 40 41 /*** 42 * Set the unique id for this Packet 43 * 44 * @param newId 45 */ 46 47 public void setId(String newId); 48 49 /*** 50 * @return true if a Recipt is required 51 */ 52 public boolean isReceiptRequired(); 53 54 /*** 55 * @return true if this is a Receipt 56 */ 57 public boolean isReceipt(); 58 59 /*** 60 * Set if a Recipt if required on receiving this Packet 61 * 62 * @param value 63 */ 64 65 public void setReceiptRequired(boolean value); 66 67 /*** 68 * Retrieve if a JMS Message type or not 69 * 70 * @return true if it is a JMS Message 71 */ 72 public boolean isJMSMessage(); 73 74 /*** 75 * Get a hint about how much memory this Packet is consuming 76 * @return an aproximation of the current memory used by this instance 77 */ 78 public int getMemoryUsage(); 79 80 /*** 81 * Set a hint about how mujch memory this packet is consuming 82 * @param newMemoryUsage 83 */ 84 public void setMemoryUsage(int newMemoryUsage); 85 86 /*** 87 * Increment reference count for bounded memory collections 88 * @return the incremented reference value 89 * @see org.codehaus.activemq.message.util.MemoryBoundedQueue 90 */ 91 public int incrementMemoryReferenceCount(); 92 93 94 /*** 95 * Decrement reference count for bounded memory collections 96 * @return the decremented reference value 97 * @see org.codehaus.activemq.message.util.MemoryBoundedQueue 98 */ 99 public int decrementMemoryReferenceCount(); 100 101 /*** 102 * @return the current reference count for bounded memory collections 103 * @see org.codehaus.activemq.message.util.MemoryBoundedQueue 104 */ 105 public int getMemoryUsageReferenceCount(); 106 107 /*** 108 * ActiveMQMessage object 109 */ 110 public static final int ACTIVEMQ_MESSAGE = 6; 111 112 /*** 113 * ActiveMQTextMessage object 114 */ 115 116 public static final int ACTIVEMQ_TEXT_MESSAGE = 7; 117 118 /*** 119 * ActiveMQObjectMessage object 120 */ 121 122 public static final int ACTIVEMQ_OBJECT_MESSAGE = 8; 123 124 /*** 125 * ActiveMQBytesMessage 126 */ 127 128 public static final int ACTIVEMQ_BYTES_MESSAGE = 9; 129 130 /*** 131 * ActiveMQStreamMessage object 132 */ 133 134 public static final int ACTIVEMQ_STREAM_MESSAGE = 10; 135 136 /*** 137 * ActiveMQMapMessage object 138 */ 139 140 public static final int ACTIVEMQ_MAP_MESSAGE = 11; 141 142 /*** 143 * Message acknowledge 144 */ 145 public static final int ACTIVEMQ_MSG_ACK = 15; 146 147 /*** 148 * Recipt message 149 */ 150 151 public static final int RECEIPT_INFO = 16; 152 153 /*** 154 * Consumer Infomation 155 */ 156 157 public static final int CONSUMER_INFO = 17; 158 159 /*** 160 * Producer Info 161 */ 162 163 public static final int PRODUCER_INFO = 18; 164 165 /*** 166 * Transaction info 167 */ 168 169 public static final int TRANSACTION_INFO = 19; 170 171 /*** 172 * XA Transaction info 173 */ 174 175 public static final int XA_TRANSACTION_INFO = 20; 176 177 /*** 178 * Broker infomation message 179 */ 180 181 public static final int ACTIVEMQ_BROKER_INFO = 21; 182 183 /*** 184 * Connection info message 185 */ 186 187 public static final int ACTIVEMQ_CONNECTION_INFO = 22; 188 189 190 /*** 191 * Session Info message 192 */ 193 public static final int SESSION_INFO = 23; 194 195 /*** 196 * Durable Unsubscribe message 197 */ 198 199 public static final int DURABLE_UNSUBSCRIBE = 24; 200 201 202 /*** 203 * A receipt with an Object reponse. 204 */ 205 public static final int RESPONSE_RECEIPT_INFO = 25; 206 207 208 /*** 209 * A receipt with an Integer reponse. 210 */ 211 public static final int INT_RESPONSE_RECEIPT_INFO = 26; 212 213 /*** 214 * Infomation about the Capacity for more Messages for either Connection/Broker 215 */ 216 public static final int CAPACITY_INFO = 27; 217 218 /*** 219 * Request infomation about the current capacity 220 */ 221 public static final int CAPACITY_INFO_REQUEST = 28; 222 223 224 }