[hornetq-commits] JBoss hornetq SVN: r10009 - trunk/src/main/org/hornetq/core/client/impl.
do-not-reply at jboss.org
do-not-reply at jboss.org
Tue Dec 7 17:24:31 EST 2010
Author: clebert.suconic at jboss.com
Date: 2010-12-07 17:24:31 -0500 (Tue, 07 Dec 2010)
New Revision: 10009
Added:
trunk/src/main/org/hornetq/core/client/impl/CompressedLargeMessageControllerImpl.java
Removed:
trunk/src/main/org/hornetq/core/client/impl/DecompressedLargeMessageControllerImpl.java
Modified:
trunk/src/main/org/hornetq/core/client/impl/ClientConsumerImpl.java
Log:
Simple rename
Modified: trunk/src/main/org/hornetq/core/client/impl/ClientConsumerImpl.java
===================================================================
--- trunk/src/main/org/hornetq/core/client/impl/ClientConsumerImpl.java 2010-12-07 22:22:35 UTC (rev 10008)
+++ trunk/src/main/org/hornetq/core/client/impl/ClientConsumerImpl.java 2010-12-07 22:24:31 UTC (rev 10009)
@@ -557,7 +557,7 @@
if (currentChunkMessage.isCompressed())
{
- currentChunkMessage.setBuffer(new DecompressedLargeMessageControllerImpl(currentLargeMessageController));
+ currentChunkMessage.setBuffer(new CompressedLargeMessageControllerImpl(currentLargeMessageController));
}
else
{
Copied: trunk/src/main/org/hornetq/core/client/impl/CompressedLargeMessageControllerImpl.java (from rev 10008, trunk/src/main/org/hornetq/core/client/impl/DecompressedLargeMessageControllerImpl.java)
===================================================================
--- trunk/src/main/org/hornetq/core/client/impl/CompressedLargeMessageControllerImpl.java (rev 0)
+++ trunk/src/main/org/hornetq/core/client/impl/CompressedLargeMessageControllerImpl.java 2010-12-07 22:24:31 UTC (rev 10009)
@@ -0,0 +1,1094 @@
+/*
+ * Copyright 2010 Red Hat, Inc.
+ * Red Hat 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.
+ */
+
+package org.hornetq.core.client.impl;
+
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.ByteBuffer;
+import java.nio.channels.GatheringByteChannel;
+import java.nio.channels.ScatteringByteChannel;
+
+import org.hornetq.api.core.HornetQBuffer;
+import org.hornetq.api.core.HornetQBuffers;
+import org.hornetq.api.core.HornetQException;
+import org.hornetq.api.core.SimpleString;
+import org.hornetq.core.protocol.core.impl.wireformat.SessionReceiveContinuationMessage;
+import org.hornetq.utils.DataConstants;
+import org.hornetq.utils.HornetQBufferInputStream;
+import org.hornetq.utils.InflaterReader;
+import org.hornetq.utils.InflaterWriter;
+import org.hornetq.utils.UTF8Util;
+import org.jboss.netty.buffer.ChannelBuffer;
+
+/**
+ * A DecompressedHornetQBuffer
+ *
+ * @author <a href="mailto:clebert.suconic at jboss.org">Clebert Suconic</a>
+ *
+ *
+ */
+public class CompressedLargeMessageControllerImpl implements LargeMessageController
+{
+
+ // Constants -----------------------------------------------------
+
+ private static final String OPERATION_NOT_SUPPORTED = "Operation not supported";
+
+ private static final String READ_ONLY_ERROR_MESSAGE = "This is a read-only buffer, setOperations are not supported";
+
+ // Attributes ----------------------------------------------------
+
+ final LargeMessageController bufferDelegate;
+
+ // Static --------------------------------------------------------
+
+ // Constructors --------------------------------------------------
+
+ public CompressedLargeMessageControllerImpl(final LargeMessageController bufferDelegate)
+ {
+ this.bufferDelegate = bufferDelegate;
+ }
+
+
+ // Public --------------------------------------------------------
+
+ /**
+ *
+ */
+ public void discardUnusedPackets()
+ {
+ bufferDelegate.discardUnusedPackets();
+ }
+
+ /**
+ * Add a buff to the List, or save it to the OutputStream if set
+ * @param packet
+ */
+ public void addPacket(final SessionReceiveContinuationMessage packet)
+ {
+ bufferDelegate.addPacket(packet);
+ }
+
+ public synchronized void cancel()
+ {
+ bufferDelegate.cancel();
+ }
+
+ public synchronized void close()
+ {
+ bufferDelegate.cancel();
+ }
+
+ public void setOutputStream(final OutputStream output) throws HornetQException
+ {
+ bufferDelegate.setOutputStream(new InflaterWriter(output));
+ }
+
+ public synchronized void saveBuffer(final OutputStream output) throws HornetQException
+ {
+ setOutputStream(output);
+ waitCompletion(0);
+ }
+
+ /**
+ *
+ * @param timeWait Milliseconds to Wait. 0 means forever
+ * @throws Exception
+ */
+ public synchronized boolean waitCompletion(final long timeWait) throws HornetQException
+ {
+ return bufferDelegate.waitCompletion(timeWait);
+ }
+
+ // Channel Buffer Implementation ---------------------------------
+
+ /* (non-Javadoc)
+ * @see org.hornetq.api.core.buffers.ChannelBuffer#array()
+ */
+ public byte[] array()
+ {
+ throw new IllegalAccessError("array not supported on LargeMessageBufferImpl");
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.api.core.buffers.ChannelBuffer#capacity()
+ */
+ public int capacity()
+ {
+ return -1;
+ }
+
+ DataInputStream dataInput = null;
+
+ private DataInputStream getStream()
+ {
+ if (dataInput == null)
+ {
+ try
+ {
+ InputStream input = new HornetQBufferInputStream(bufferDelegate);
+
+ dataInput = new DataInputStream(new InflaterReader(input));
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException (e.getMessage(), e);
+ }
+
+ }
+ return dataInput;
+ }
+
+ private void positioningNotSupported()
+ {
+ throw new IllegalStateException("Position not supported over compressed large messages");
+ }
+
+ public byte readByte()
+ {
+ try
+ {
+ return getStream().readByte();
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException (e.getMessage(), e);
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.api.core.buffers.ChannelBuffer#getByte(int)
+ */
+ public byte getByte(final int index)
+ {
+ positioningNotSupported();
+ return 0;
+ }
+
+ private byte getByte(final long index)
+ {
+ positioningNotSupported();
+ return 0;
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.api.core.buffers.ChannelBuffer#getBytes(int, org.hornetq.api.core.buffers.ChannelBuffer, int, int)
+ */
+ public void getBytes(final int index, final HornetQBuffer dst, final int dstIndex, final int length)
+ {
+ positioningNotSupported();
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.api.core.buffers.ChannelBuffer#getBytes(int, org.hornetq.api.core.buffers.ChannelBuffer, int, int)
+ */
+ public void getBytes(final long index, final HornetQBuffer dst, final int dstIndex, final int length)
+ {
+ positioningNotSupported();
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.api.core.buffers.ChannelBuffer#getBytes(int, byte[], int, int)
+ */
+ public void getBytes(final int index, final byte[] dst, final int dstIndex, final int length)
+ {
+ positioningNotSupported();
+ }
+
+ public void getBytes(final long index, final byte[] dst, final int dstIndex, final int length)
+ {
+ positioningNotSupported();
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.api.core.buffers.ChannelBuffer#getBytes(int, java.nio.ByteBuffer)
+ */
+ public void getBytes(final int index, final ByteBuffer dst)
+ {
+ positioningNotSupported();
+ }
+
+ public void getBytes(final long index, final ByteBuffer dst)
+ {
+ positioningNotSupported();
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.api.core.buffers.ChannelBuffer#getBytes(int, java.io.OutputStream, int)
+ */
+ public void getBytes(final int index, final OutputStream out, final int length) throws IOException
+ {
+ positioningNotSupported();
+ }
+
+ public void getBytes(final long index, final OutputStream out, final int length) throws IOException
+ {
+ positioningNotSupported();
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.api.core.buffers.ChannelBuffer#getBytes(int, java.nio.channels.GatheringByteChannel, int)
+ */
+ public int getBytes(final int index, final GatheringByteChannel out, final int length) throws IOException
+ {
+ positioningNotSupported();
+ return 0;
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.api.core.buffers.ChannelBuffer#getInt(int)
+ */
+ public int getInt(final int index)
+ {
+ positioningNotSupported();
+ return 0;
+ }
+
+ public int getInt(final long index)
+ {
+ positioningNotSupported();
+ return 0;
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.api.core.buffers.ChannelBuffer#getLong(int)
+ */
+ public long getLong(final int index)
+ {
+ positioningNotSupported();
+ return 0;
+ }
+
+ public long getLong(final long index)
+ {
+ positioningNotSupported();
+ return 0;
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.api.core.buffers.ChannelBuffer#getShort(int)
+ */
+ public short getShort(final int index)
+ {
+ positioningNotSupported();
+ return 0;
+ }
+
+ public short getShort(final long index)
+ {
+ return (short)(getByte(index) << 8 | getByte(index + 1) & 0xFF);
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.api.core.buffers.ChannelBuffer#getUnsignedMedium(int)
+ */
+ public int getUnsignedMedium(final int index)
+ {
+ positioningNotSupported();
+ return 0;
+ }
+
+
+
+ public int getUnsignedMedium(final long index)
+ {
+ positioningNotSupported();
+ return 0;
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.api.core.buffers.ChannelBuffer#setByte(int, byte)
+ */
+ public void setByte(final int index, final byte value)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.api.core.buffers.ChannelBuffer#setBytes(int, org.hornetq.api.core.buffers.ChannelBuffer, int, int)
+ */
+ public void setBytes(final int index, final HornetQBuffer src, final int srcIndex, final int length)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.api.core.buffers.ChannelBuffer#setBytes(int, byte[], int, int)
+ */
+ public void setBytes(final int index, final byte[] src, final int srcIndex, final int length)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.api.core.buffers.ChannelBuffer#setBytes(int, java.nio.ByteBuffer)
+ */
+ public void setBytes(final int index, final ByteBuffer src)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.api.core.buffers.ChannelBuffer#setBytes(int, java.io.InputStream, int)
+ */
+ public int setBytes(final int index, final InputStream in, final int length) throws IOException
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.api.core.buffers.ChannelBuffer#setBytes(int, java.nio.channels.ScatteringByteChannel, int)
+ */
+ public int setBytes(final int index, final ScatteringByteChannel in, final int length) throws IOException
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.api.core.buffers.ChannelBuffer#setInt(int, int)
+ */
+ public void setInt(final int index, final int value)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.api.core.buffers.ChannelBuffer#setLong(int, long)
+ */
+ public void setLong(final int index, final long value)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.api.core.buffers.ChannelBuffer#setMedium(int, int)
+ */
+ public void setMedium(final int index, final int value)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.api.core.buffers.ChannelBuffer#setShort(int, short)
+ */
+ public void setShort(final int index, final short value)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.api.core.buffers.ChannelBuffer#toByteBuffer(int, int)
+ */
+ public ByteBuffer toByteBuffer(final int index, final int length)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.api.core.buffers.ChannelBuffer#toString(int, int, java.lang.String)
+ */
+ public String toString(final int index, final int length, final String charsetName)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public int readerIndex()
+ {
+ return 0;
+ }
+
+ public void readerIndex(final int readerIndex)
+ {
+ // TODO
+ }
+
+ public int writerIndex()
+ {
+ // TODO
+ return 0;
+ }
+
+ public long getSize()
+ {
+ // TODO
+ return 0;
+ }
+
+ public void writerIndex(final int writerIndex)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public void setIndex(final int readerIndex, final int writerIndex)
+ {
+ positioningNotSupported();
+ }
+
+ public void clear()
+ {
+ }
+
+ public boolean readable()
+ {
+ return true;
+ }
+
+ public boolean writable()
+ {
+ return false;
+ }
+
+ public int readableBytes()
+ {
+ return 1;
+ }
+
+ public int writableBytes()
+ {
+ return 0;
+ }
+
+ public void markReaderIndex()
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public void resetReaderIndex()
+ {
+ // TODO: reset positioning if possible
+ }
+
+ public void markWriterIndex()
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public void resetWriterIndex()
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public void discardReadBytes()
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public short getUnsignedByte(final int index)
+ {
+ return (short)(getByte(index) & 0xFF);
+ }
+
+ public int getUnsignedShort(final int index)
+ {
+ return getShort(index) & 0xFFFF;
+ }
+
+ public int getMedium(final int index)
+ {
+ int value = getUnsignedMedium(index);
+ if ((value & 0x800000) != 0)
+ {
+ value |= 0xff000000;
+ }
+ return value;
+ }
+
+ public long getUnsignedInt(final int index)
+ {
+ return getInt(index) & 0xFFFFFFFFL;
+ }
+
+ public void getBytes(int index, final byte[] dst)
+ {
+ // TODO: optimize this by using System.arraycopy
+ for (int i = 0; i < dst.length; i++)
+ {
+ dst[i] = getByte(index++);
+ }
+ }
+
+ public void getBytes(long index, final byte[] dst)
+ {
+ // TODO: optimize this by using System.arraycopy
+ for (int i = 0; i < dst.length; i++)
+ {
+ dst[i] = getByte(index++);
+ }
+ }
+
+ public void getBytes(final int index, final HornetQBuffer dst)
+ {
+ getBytes(index, dst, dst.writableBytes());
+ }
+
+ public void getBytes(final int index, final HornetQBuffer dst, final int length)
+ {
+ if (length > dst.writableBytes())
+ {
+ throw new IndexOutOfBoundsException();
+ }
+ getBytes(index, dst, dst.writerIndex(), length);
+ dst.writerIndex(dst.writerIndex() + length);
+ }
+
+ public void setBytes(final int index, final byte[] src)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public void setBytes(final int index, final HornetQBuffer src)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public void setBytes(final int index, final HornetQBuffer src, final int length)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public void setZero(final int index, final int length)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public short readUnsignedByte()
+ {
+ try
+ {
+ return (short)getStream().readUnsignedByte();
+ }
+ catch (Exception e)
+ {
+ throw new IllegalStateException (e.getMessage(), e);
+ }
+ }
+
+ public short readShort()
+ {
+ try
+ {
+ return (short)getStream().readShort();
+ }
+ catch (Exception e)
+ {
+ throw new IllegalStateException (e.getMessage(), e);
+ }
+ }
+
+ public int readUnsignedShort()
+ {
+ try
+ {
+ return (int)getStream().readUnsignedShort();
+ }
+ catch (Exception e)
+ {
+ throw new IllegalStateException (e.getMessage(), e);
+ }
+ }
+
+ public int readMedium()
+ {
+ int value = readUnsignedMedium();
+ if ((value & 0x800000) != 0)
+ {
+ value |= 0xff000000;
+ }
+ return value;
+ }
+
+
+ public int readUnsignedMedium()
+ {
+ return (readByte() & 0xff) << 16 | (readByte() & 0xff) << 8 | (readByte() & 0xff) << 0;
+ }
+
+ public int readInt()
+ {
+ try
+ {
+ return getStream().readInt();
+ }
+ catch (Exception e)
+ {
+ throw new IllegalStateException(e.getMessage(), e);
+ }
+ }
+
+ public int readInt(final int pos)
+ {
+ positioningNotSupported();
+ return 0;
+ }
+
+ public long readUnsignedInt()
+ {
+ return readInt() & 0xFFFFFFFFL;
+ }
+
+ public long readLong()
+ {
+ try
+ {
+ return getStream().readLong();
+ }
+ catch (Exception e)
+ {
+ throw new IllegalStateException(e.getMessage(), e);
+ }
+ }
+
+ public void readBytes(final byte[] dst, final int dstIndex, final int length)
+ {
+ try
+ {
+ getStream().read(dst, dstIndex, length);
+ }
+ catch (Exception e)
+ {
+ throw new IllegalStateException(e.getMessage(), e);
+ }
+ }
+
+ public void readBytes(final byte[] dst)
+ {
+ readBytes(dst, 0, dst.length);
+ }
+
+ public void readBytes(final HornetQBuffer dst)
+ {
+ readBytes(dst, dst.writableBytes());
+ }
+
+ public void readBytes(final HornetQBuffer dst, final int length)
+ {
+ if (length > dst.writableBytes())
+ {
+ throw new IndexOutOfBoundsException();
+ }
+ readBytes(dst, dst.writerIndex(), length);
+ dst.writerIndex(dst.writerIndex() + length);
+ }
+
+ public void readBytes(final HornetQBuffer dst, final int dstIndex, final int length)
+ {
+ byte[] destBytes = new byte[length];
+ readBytes(destBytes);
+ dst.setBytes(dstIndex, destBytes);
+ }
+
+ public void readBytes(final ByteBuffer dst)
+ {
+ byte bytesToGet[] = new byte[dst.remaining()];
+ readBytes(bytesToGet);
+ dst.put(bytesToGet);
+ }
+
+ public int readBytes(final GatheringByteChannel out, final int length) throws IOException
+ {
+ throw new IllegalStateException("Not implemented!");
+ }
+
+ public void readBytes(final OutputStream out, final int length) throws IOException
+ {
+ throw new IllegalStateException("Not implemented!");
+ }
+
+ public void skipBytes(final int length)
+ {
+
+ try
+ {
+ for (int i = 0 ; i < length; i++)
+ {
+ getStream().read();
+ }
+ }
+ catch (Exception e)
+ {
+ throw new IllegalStateException(e.getMessage(), e);
+ }
+ }
+
+ public void writeByte(final byte value)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public void writeShort(final short value)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public void writeMedium(final int value)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public void writeInt(final int value)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public void writeLong(final long value)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public void writeBytes(final byte[] src, final int srcIndex, final int length)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public void writeBytes(final byte[] src)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public void writeBytes(final HornetQBuffer src)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public void writeBytes(final HornetQBuffer src, final int length)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public void writeBytes(final ByteBuffer src)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public int writeBytes(final InputStream in, final int length) throws IOException
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public int writeBytes(final ScatteringByteChannel in, final int length) throws IOException
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public void writeZero(final int length)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public ByteBuffer toByteBuffer()
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public ByteBuffer[] toByteBuffers()
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public ByteBuffer[] toByteBuffers(final int index, final int length)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public String toString(final String charsetName)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public Object getUnderlyingBuffer()
+ {
+ return this;
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.spi.core.remoting.HornetQBuffer#readBoolean()
+ */
+ public boolean readBoolean()
+ {
+ return readByte() != 0;
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.spi.core.remoting.HornetQBuffer#readChar()
+ */
+ public char readChar()
+ {
+ return (char)readShort();
+ }
+
+ public char getChar(final int index)
+ {
+ return (char)getShort(index);
+ }
+
+ public double getDouble(final int index)
+ {
+ return Double.longBitsToDouble(getLong(index));
+ }
+
+ public float getFloat(final int index)
+ {
+ return Float.intBitsToFloat(getInt(index));
+ }
+
+ public HornetQBuffer readBytes(final int length)
+ {
+ byte bytesToGet[] = new byte[length];
+ readBytes(bytesToGet);
+ return HornetQBuffers.wrappedBuffer(bytesToGet);
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.spi.core.remoting.HornetQBuffer#readDouble()
+ */
+ public double readDouble()
+ {
+ return Double.longBitsToDouble(readLong());
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.spi.core.remoting.HornetQBuffer#readFloat()
+ */
+ public float readFloat()
+ {
+ return Float.intBitsToFloat(readInt());
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.spi.core.remoting.HornetQBuffer#readNullableSimpleString()
+ */
+ public SimpleString readNullableSimpleString()
+ {
+ int b = readByte();
+ if (b == DataConstants.NULL)
+ {
+ return null;
+ }
+ else
+ {
+ return readSimpleString();
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.spi.core.remoting.HornetQBuffer#readNullableString()
+ */
+ public String readNullableString()
+ {
+ int b = readByte();
+ if (b == DataConstants.NULL)
+ {
+ return null;
+ }
+ else
+ {
+ return readString();
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.spi.core.remoting.HornetQBuffer#readSimpleString()
+ */
+ public SimpleString readSimpleString()
+ {
+ int len = readInt();
+ byte[] data = new byte[len];
+ readBytes(data);
+ return new SimpleString(data);
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.spi.core.remoting.HornetQBuffer#readString()
+ */
+ public String readString()
+ {
+ int len = readInt();
+
+ if (len < 9)
+ {
+ char[] chars = new char[len];
+ for (int i = 0; i < len; i++)
+ {
+ chars[i] = (char)readShort();
+ }
+ return new String(chars);
+ }
+ else if (len < 0xfff)
+ {
+ return readUTF();
+ }
+ else
+ {
+ return readSimpleString().toString();
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.spi.core.remoting.HornetQBuffer#readUTF()
+ */
+ public String readUTF()
+ {
+ return UTF8Util.readUTF(this);
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.spi.core.remoting.HornetQBuffer#writeBoolean(boolean)
+ */
+ public void writeBoolean(final boolean val)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.spi.core.remoting.HornetQBuffer#writeChar(char)
+ */
+ public void writeChar(final char val)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.spi.core.remoting.HornetQBuffer#writeDouble(double)
+ */
+ public void writeDouble(final double val)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.spi.core.remoting.HornetQBuffer#writeFloat(float)
+ */
+ public void writeFloat(final float val)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.spi.core.remoting.HornetQBuffer#writeNullableSimpleString(org.hornetq.util.SimpleString)
+ */
+ public void writeNullableSimpleString(final SimpleString val)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.spi.core.remoting.HornetQBuffer#writeNullableString(java.lang.String)
+ */
+ public void writeNullableString(final String val)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.spi.core.remoting.HornetQBuffer#writeSimpleString(org.hornetq.util.SimpleString)
+ */
+ public void writeSimpleString(final SimpleString val)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.spi.core.remoting.HornetQBuffer#writeString(java.lang.String)
+ */
+ public void writeString(final String val)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.spi.core.remoting.HornetQBuffer#writeUTF(java.lang.String)
+ */
+ public void writeUTF(final String utf)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ /* (non-Javadoc)
+ * @see org.hornetq.api.core.buffers.ChannelBuffer#compareTo(org.hornetq.api.core.buffers.ChannelBuffer)
+ */
+ public int compareTo(final HornetQBuffer buffer)
+ {
+ return -1;
+ }
+
+ public HornetQBuffer copy()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public HornetQBuffer slice(final int index, final int length)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ // Package protected ---------------------------------------------
+
+ // Protected -----------------------------------------------------
+
+ // Private -------------------------------------------------------
+
+ /**
+ * @param body
+ */
+ // Inner classes -------------------------------------------------
+
+ public ChannelBuffer channelBuffer()
+ {
+ return null;
+ }
+
+ public HornetQBuffer copy(final int index, final int length)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public HornetQBuffer duplicate()
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public HornetQBuffer readSlice(final int length)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public void setChar(final int index, final char value)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public void setDouble(final int index, final double value)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public void setFloat(final int index, final float value)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public HornetQBuffer slice()
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+
+ public void writeBytes(final HornetQBuffer src, final int srcIndex, final int length)
+ {
+ throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
+ }
+}
Deleted: trunk/src/main/org/hornetq/core/client/impl/DecompressedLargeMessageControllerImpl.java
===================================================================
--- trunk/src/main/org/hornetq/core/client/impl/DecompressedLargeMessageControllerImpl.java 2010-12-07 22:22:35 UTC (rev 10008)
+++ trunk/src/main/org/hornetq/core/client/impl/DecompressedLargeMessageControllerImpl.java 2010-12-07 22:24:31 UTC (rev 10009)
@@ -1,1094 +0,0 @@
-/*
- * Copyright 2010 Red Hat, Inc.
- * Red Hat 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.
- */
-
-package org.hornetq.core.client.impl;
-
-import java.io.DataInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.nio.ByteBuffer;
-import java.nio.channels.GatheringByteChannel;
-import java.nio.channels.ScatteringByteChannel;
-
-import org.hornetq.api.core.HornetQBuffer;
-import org.hornetq.api.core.HornetQBuffers;
-import org.hornetq.api.core.HornetQException;
-import org.hornetq.api.core.SimpleString;
-import org.hornetq.core.protocol.core.impl.wireformat.SessionReceiveContinuationMessage;
-import org.hornetq.utils.DataConstants;
-import org.hornetq.utils.HornetQBufferInputStream;
-import org.hornetq.utils.InflaterReader;
-import org.hornetq.utils.InflaterWriter;
-import org.hornetq.utils.UTF8Util;
-import org.jboss.netty.buffer.ChannelBuffer;
-
-/**
- * A DecompressedHornetQBuffer
- *
- * @author <a href="mailto:clebert.suconic at jboss.org">Clebert Suconic</a>
- *
- *
- */
-public class DecompressedLargeMessageControllerImpl implements LargeMessageController
-{
-
- // Constants -----------------------------------------------------
-
- private static final String OPERATION_NOT_SUPPORTED = "Operation not supported";
-
- private static final String READ_ONLY_ERROR_MESSAGE = "This is a read-only buffer, setOperations are not supported";
-
- // Attributes ----------------------------------------------------
-
- final LargeMessageController bufferDelegate;
-
- // Static --------------------------------------------------------
-
- // Constructors --------------------------------------------------
-
- public DecompressedLargeMessageControllerImpl(final LargeMessageController bufferDelegate)
- {
- this.bufferDelegate = bufferDelegate;
- }
-
-
- // Public --------------------------------------------------------
-
- /**
- *
- */
- public void discardUnusedPackets()
- {
- bufferDelegate.discardUnusedPackets();
- }
-
- /**
- * Add a buff to the List, or save it to the OutputStream if set
- * @param packet
- */
- public void addPacket(final SessionReceiveContinuationMessage packet)
- {
- bufferDelegate.addPacket(packet);
- }
-
- public synchronized void cancel()
- {
- bufferDelegate.cancel();
- }
-
- public synchronized void close()
- {
- bufferDelegate.cancel();
- }
-
- public void setOutputStream(final OutputStream output) throws HornetQException
- {
- bufferDelegate.setOutputStream(new InflaterWriter(output));
- }
-
- public synchronized void saveBuffer(final OutputStream output) throws HornetQException
- {
- setOutputStream(output);
- waitCompletion(0);
- }
-
- /**
- *
- * @param timeWait Milliseconds to Wait. 0 means forever
- * @throws Exception
- */
- public synchronized boolean waitCompletion(final long timeWait) throws HornetQException
- {
- return bufferDelegate.waitCompletion(timeWait);
- }
-
- // Channel Buffer Implementation ---------------------------------
-
- /* (non-Javadoc)
- * @see org.hornetq.api.core.buffers.ChannelBuffer#array()
- */
- public byte[] array()
- {
- throw new IllegalAccessError("array not supported on LargeMessageBufferImpl");
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.api.core.buffers.ChannelBuffer#capacity()
- */
- public int capacity()
- {
- return -1;
- }
-
- DataInputStream dataInput = null;
-
- private DataInputStream getStream()
- {
- if (dataInput == null)
- {
- try
- {
- InputStream input = new HornetQBufferInputStream(bufferDelegate);
-
- dataInput = new DataInputStream(new InflaterReader(input));
- }
- catch (Exception e)
- {
- throw new RuntimeException (e.getMessage(), e);
- }
-
- }
- return dataInput;
- }
-
- private void positioningNotSupported()
- {
- throw new IllegalStateException("Position not supported over compressed large messages");
- }
-
- public byte readByte()
- {
- try
- {
- return getStream().readByte();
- }
- catch (Exception e)
- {
- throw new RuntimeException (e.getMessage(), e);
- }
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.api.core.buffers.ChannelBuffer#getByte(int)
- */
- public byte getByte(final int index)
- {
- positioningNotSupported();
- return 0;
- }
-
- private byte getByte(final long index)
- {
- positioningNotSupported();
- return 0;
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.api.core.buffers.ChannelBuffer#getBytes(int, org.hornetq.api.core.buffers.ChannelBuffer, int, int)
- */
- public void getBytes(final int index, final HornetQBuffer dst, final int dstIndex, final int length)
- {
- positioningNotSupported();
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.api.core.buffers.ChannelBuffer#getBytes(int, org.hornetq.api.core.buffers.ChannelBuffer, int, int)
- */
- public void getBytes(final long index, final HornetQBuffer dst, final int dstIndex, final int length)
- {
- positioningNotSupported();
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.api.core.buffers.ChannelBuffer#getBytes(int, byte[], int, int)
- */
- public void getBytes(final int index, final byte[] dst, final int dstIndex, final int length)
- {
- positioningNotSupported();
- }
-
- public void getBytes(final long index, final byte[] dst, final int dstIndex, final int length)
- {
- positioningNotSupported();
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.api.core.buffers.ChannelBuffer#getBytes(int, java.nio.ByteBuffer)
- */
- public void getBytes(final int index, final ByteBuffer dst)
- {
- positioningNotSupported();
- }
-
- public void getBytes(final long index, final ByteBuffer dst)
- {
- positioningNotSupported();
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.api.core.buffers.ChannelBuffer#getBytes(int, java.io.OutputStream, int)
- */
- public void getBytes(final int index, final OutputStream out, final int length) throws IOException
- {
- positioningNotSupported();
- }
-
- public void getBytes(final long index, final OutputStream out, final int length) throws IOException
- {
- positioningNotSupported();
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.api.core.buffers.ChannelBuffer#getBytes(int, java.nio.channels.GatheringByteChannel, int)
- */
- public int getBytes(final int index, final GatheringByteChannel out, final int length) throws IOException
- {
- positioningNotSupported();
- return 0;
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.api.core.buffers.ChannelBuffer#getInt(int)
- */
- public int getInt(final int index)
- {
- positioningNotSupported();
- return 0;
- }
-
- public int getInt(final long index)
- {
- positioningNotSupported();
- return 0;
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.api.core.buffers.ChannelBuffer#getLong(int)
- */
- public long getLong(final int index)
- {
- positioningNotSupported();
- return 0;
- }
-
- public long getLong(final long index)
- {
- positioningNotSupported();
- return 0;
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.api.core.buffers.ChannelBuffer#getShort(int)
- */
- public short getShort(final int index)
- {
- positioningNotSupported();
- return 0;
- }
-
- public short getShort(final long index)
- {
- return (short)(getByte(index) << 8 | getByte(index + 1) & 0xFF);
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.api.core.buffers.ChannelBuffer#getUnsignedMedium(int)
- */
- public int getUnsignedMedium(final int index)
- {
- positioningNotSupported();
- return 0;
- }
-
-
-
- public int getUnsignedMedium(final long index)
- {
- positioningNotSupported();
- return 0;
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.api.core.buffers.ChannelBuffer#setByte(int, byte)
- */
- public void setByte(final int index, final byte value)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.api.core.buffers.ChannelBuffer#setBytes(int, org.hornetq.api.core.buffers.ChannelBuffer, int, int)
- */
- public void setBytes(final int index, final HornetQBuffer src, final int srcIndex, final int length)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.api.core.buffers.ChannelBuffer#setBytes(int, byte[], int, int)
- */
- public void setBytes(final int index, final byte[] src, final int srcIndex, final int length)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.api.core.buffers.ChannelBuffer#setBytes(int, java.nio.ByteBuffer)
- */
- public void setBytes(final int index, final ByteBuffer src)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.api.core.buffers.ChannelBuffer#setBytes(int, java.io.InputStream, int)
- */
- public int setBytes(final int index, final InputStream in, final int length) throws IOException
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.api.core.buffers.ChannelBuffer#setBytes(int, java.nio.channels.ScatteringByteChannel, int)
- */
- public int setBytes(final int index, final ScatteringByteChannel in, final int length) throws IOException
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.api.core.buffers.ChannelBuffer#setInt(int, int)
- */
- public void setInt(final int index, final int value)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.api.core.buffers.ChannelBuffer#setLong(int, long)
- */
- public void setLong(final int index, final long value)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.api.core.buffers.ChannelBuffer#setMedium(int, int)
- */
- public void setMedium(final int index, final int value)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.api.core.buffers.ChannelBuffer#setShort(int, short)
- */
- public void setShort(final int index, final short value)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.api.core.buffers.ChannelBuffer#toByteBuffer(int, int)
- */
- public ByteBuffer toByteBuffer(final int index, final int length)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.api.core.buffers.ChannelBuffer#toString(int, int, java.lang.String)
- */
- public String toString(final int index, final int length, final String charsetName)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public int readerIndex()
- {
- return 0;
- }
-
- public void readerIndex(final int readerIndex)
- {
- // TODO
- }
-
- public int writerIndex()
- {
- // TODO
- return 0;
- }
-
- public long getSize()
- {
- // TODO
- return 0;
- }
-
- public void writerIndex(final int writerIndex)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public void setIndex(final int readerIndex, final int writerIndex)
- {
- positioningNotSupported();
- }
-
- public void clear()
- {
- }
-
- public boolean readable()
- {
- return true;
- }
-
- public boolean writable()
- {
- return false;
- }
-
- public int readableBytes()
- {
- return 1;
- }
-
- public int writableBytes()
- {
- return 0;
- }
-
- public void markReaderIndex()
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public void resetReaderIndex()
- {
- // TODO: reset positioning if possible
- }
-
- public void markWriterIndex()
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public void resetWriterIndex()
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public void discardReadBytes()
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public short getUnsignedByte(final int index)
- {
- return (short)(getByte(index) & 0xFF);
- }
-
- public int getUnsignedShort(final int index)
- {
- return getShort(index) & 0xFFFF;
- }
-
- public int getMedium(final int index)
- {
- int value = getUnsignedMedium(index);
- if ((value & 0x800000) != 0)
- {
- value |= 0xff000000;
- }
- return value;
- }
-
- public long getUnsignedInt(final int index)
- {
- return getInt(index) & 0xFFFFFFFFL;
- }
-
- public void getBytes(int index, final byte[] dst)
- {
- // TODO: optimize this by using System.arraycopy
- for (int i = 0; i < dst.length; i++)
- {
- dst[i] = getByte(index++);
- }
- }
-
- public void getBytes(long index, final byte[] dst)
- {
- // TODO: optimize this by using System.arraycopy
- for (int i = 0; i < dst.length; i++)
- {
- dst[i] = getByte(index++);
- }
- }
-
- public void getBytes(final int index, final HornetQBuffer dst)
- {
- getBytes(index, dst, dst.writableBytes());
- }
-
- public void getBytes(final int index, final HornetQBuffer dst, final int length)
- {
- if (length > dst.writableBytes())
- {
- throw new IndexOutOfBoundsException();
- }
- getBytes(index, dst, dst.writerIndex(), length);
- dst.writerIndex(dst.writerIndex() + length);
- }
-
- public void setBytes(final int index, final byte[] src)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public void setBytes(final int index, final HornetQBuffer src)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public void setBytes(final int index, final HornetQBuffer src, final int length)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public void setZero(final int index, final int length)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public short readUnsignedByte()
- {
- try
- {
- return (short)getStream().readUnsignedByte();
- }
- catch (Exception e)
- {
- throw new IllegalStateException (e.getMessage(), e);
- }
- }
-
- public short readShort()
- {
- try
- {
- return (short)getStream().readShort();
- }
- catch (Exception e)
- {
- throw new IllegalStateException (e.getMessage(), e);
- }
- }
-
- public int readUnsignedShort()
- {
- try
- {
- return (int)getStream().readUnsignedShort();
- }
- catch (Exception e)
- {
- throw new IllegalStateException (e.getMessage(), e);
- }
- }
-
- public int readMedium()
- {
- int value = readUnsignedMedium();
- if ((value & 0x800000) != 0)
- {
- value |= 0xff000000;
- }
- return value;
- }
-
-
- public int readUnsignedMedium()
- {
- return (readByte() & 0xff) << 16 | (readByte() & 0xff) << 8 | (readByte() & 0xff) << 0;
- }
-
- public int readInt()
- {
- try
- {
- return getStream().readInt();
- }
- catch (Exception e)
- {
- throw new IllegalStateException(e.getMessage(), e);
- }
- }
-
- public int readInt(final int pos)
- {
- positioningNotSupported();
- return 0;
- }
-
- public long readUnsignedInt()
- {
- return readInt() & 0xFFFFFFFFL;
- }
-
- public long readLong()
- {
- try
- {
- return getStream().readLong();
- }
- catch (Exception e)
- {
- throw new IllegalStateException(e.getMessage(), e);
- }
- }
-
- public void readBytes(final byte[] dst, final int dstIndex, final int length)
- {
- try
- {
- getStream().read(dst, dstIndex, length);
- }
- catch (Exception e)
- {
- throw new IllegalStateException(e.getMessage(), e);
- }
- }
-
- public void readBytes(final byte[] dst)
- {
- readBytes(dst, 0, dst.length);
- }
-
- public void readBytes(final HornetQBuffer dst)
- {
- readBytes(dst, dst.writableBytes());
- }
-
- public void readBytes(final HornetQBuffer dst, final int length)
- {
- if (length > dst.writableBytes())
- {
- throw new IndexOutOfBoundsException();
- }
- readBytes(dst, dst.writerIndex(), length);
- dst.writerIndex(dst.writerIndex() + length);
- }
-
- public void readBytes(final HornetQBuffer dst, final int dstIndex, final int length)
- {
- byte[] destBytes = new byte[length];
- readBytes(destBytes);
- dst.setBytes(dstIndex, destBytes);
- }
-
- public void readBytes(final ByteBuffer dst)
- {
- byte bytesToGet[] = new byte[dst.remaining()];
- readBytes(bytesToGet);
- dst.put(bytesToGet);
- }
-
- public int readBytes(final GatheringByteChannel out, final int length) throws IOException
- {
- throw new IllegalStateException("Not implemented!");
- }
-
- public void readBytes(final OutputStream out, final int length) throws IOException
- {
- throw new IllegalStateException("Not implemented!");
- }
-
- public void skipBytes(final int length)
- {
-
- try
- {
- for (int i = 0 ; i < length; i++)
- {
- getStream().read();
- }
- }
- catch (Exception e)
- {
- throw new IllegalStateException(e.getMessage(), e);
- }
- }
-
- public void writeByte(final byte value)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public void writeShort(final short value)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public void writeMedium(final int value)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public void writeInt(final int value)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public void writeLong(final long value)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public void writeBytes(final byte[] src, final int srcIndex, final int length)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public void writeBytes(final byte[] src)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public void writeBytes(final HornetQBuffer src)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public void writeBytes(final HornetQBuffer src, final int length)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public void writeBytes(final ByteBuffer src)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public int writeBytes(final InputStream in, final int length) throws IOException
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public int writeBytes(final ScatteringByteChannel in, final int length) throws IOException
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public void writeZero(final int length)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public ByteBuffer toByteBuffer()
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public ByteBuffer[] toByteBuffers()
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public ByteBuffer[] toByteBuffers(final int index, final int length)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public String toString(final String charsetName)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public Object getUnderlyingBuffer()
- {
- return this;
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.spi.core.remoting.HornetQBuffer#readBoolean()
- */
- public boolean readBoolean()
- {
- return readByte() != 0;
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.spi.core.remoting.HornetQBuffer#readChar()
- */
- public char readChar()
- {
- return (char)readShort();
- }
-
- public char getChar(final int index)
- {
- return (char)getShort(index);
- }
-
- public double getDouble(final int index)
- {
- return Double.longBitsToDouble(getLong(index));
- }
-
- public float getFloat(final int index)
- {
- return Float.intBitsToFloat(getInt(index));
- }
-
- public HornetQBuffer readBytes(final int length)
- {
- byte bytesToGet[] = new byte[length];
- readBytes(bytesToGet);
- return HornetQBuffers.wrappedBuffer(bytesToGet);
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.spi.core.remoting.HornetQBuffer#readDouble()
- */
- public double readDouble()
- {
- return Double.longBitsToDouble(readLong());
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.spi.core.remoting.HornetQBuffer#readFloat()
- */
- public float readFloat()
- {
- return Float.intBitsToFloat(readInt());
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.spi.core.remoting.HornetQBuffer#readNullableSimpleString()
- */
- public SimpleString readNullableSimpleString()
- {
- int b = readByte();
- if (b == DataConstants.NULL)
- {
- return null;
- }
- else
- {
- return readSimpleString();
- }
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.spi.core.remoting.HornetQBuffer#readNullableString()
- */
- public String readNullableString()
- {
- int b = readByte();
- if (b == DataConstants.NULL)
- {
- return null;
- }
- else
- {
- return readString();
- }
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.spi.core.remoting.HornetQBuffer#readSimpleString()
- */
- public SimpleString readSimpleString()
- {
- int len = readInt();
- byte[] data = new byte[len];
- readBytes(data);
- return new SimpleString(data);
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.spi.core.remoting.HornetQBuffer#readString()
- */
- public String readString()
- {
- int len = readInt();
-
- if (len < 9)
- {
- char[] chars = new char[len];
- for (int i = 0; i < len; i++)
- {
- chars[i] = (char)readShort();
- }
- return new String(chars);
- }
- else if (len < 0xfff)
- {
- return readUTF();
- }
- else
- {
- return readSimpleString().toString();
- }
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.spi.core.remoting.HornetQBuffer#readUTF()
- */
- public String readUTF()
- {
- return UTF8Util.readUTF(this);
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.spi.core.remoting.HornetQBuffer#writeBoolean(boolean)
- */
- public void writeBoolean(final boolean val)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.spi.core.remoting.HornetQBuffer#writeChar(char)
- */
- public void writeChar(final char val)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.spi.core.remoting.HornetQBuffer#writeDouble(double)
- */
- public void writeDouble(final double val)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
-
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.spi.core.remoting.HornetQBuffer#writeFloat(float)
- */
- public void writeFloat(final float val)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
-
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.spi.core.remoting.HornetQBuffer#writeNullableSimpleString(org.hornetq.util.SimpleString)
- */
- public void writeNullableSimpleString(final SimpleString val)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.spi.core.remoting.HornetQBuffer#writeNullableString(java.lang.String)
- */
- public void writeNullableString(final String val)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.spi.core.remoting.HornetQBuffer#writeSimpleString(org.hornetq.util.SimpleString)
- */
- public void writeSimpleString(final SimpleString val)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.spi.core.remoting.HornetQBuffer#writeString(java.lang.String)
- */
- public void writeString(final String val)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.spi.core.remoting.HornetQBuffer#writeUTF(java.lang.String)
- */
- public void writeUTF(final String utf)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- /* (non-Javadoc)
- * @see org.hornetq.api.core.buffers.ChannelBuffer#compareTo(org.hornetq.api.core.buffers.ChannelBuffer)
- */
- public int compareTo(final HornetQBuffer buffer)
- {
- return -1;
- }
-
- public HornetQBuffer copy()
- {
- throw new UnsupportedOperationException();
- }
-
- public HornetQBuffer slice(final int index, final int length)
- {
- throw new UnsupportedOperationException();
- }
-
- // Package protected ---------------------------------------------
-
- // Protected -----------------------------------------------------
-
- // Private -------------------------------------------------------
-
- /**
- * @param body
- */
- // Inner classes -------------------------------------------------
-
- public ChannelBuffer channelBuffer()
- {
- return null;
- }
-
- public HornetQBuffer copy(final int index, final int length)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public HornetQBuffer duplicate()
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public HornetQBuffer readSlice(final int length)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public void setChar(final int index, final char value)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public void setDouble(final int index, final double value)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public void setFloat(final int index, final float value)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public HornetQBuffer slice()
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-
- public void writeBytes(final HornetQBuffer src, final int srcIndex, final int length)
- {
- throw new IllegalAccessError(OPERATION_NOT_SUPPORTED);
- }
-}
More information about the hornetq-commits
mailing list