@Override 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++); } }
@Override public void getBytes(final int index, final ActiveMQBuffer dst) { getBytes(index, dst, dst.writableBytes()); }
@Override public long getUnsignedInt(final int index) { return getInt(index) & 0xFFFFFFFFL; }
@Override public String readNullableString() { int b = readByte(); if (b == DataConstants.NULL) { return null; } else { return readString(); } }
@Override public SimpleString readNullableSimpleString() { int b = readByte(); if (b == DataConstants.NULL) { return null; } else { return readSimpleString(); } }
@Override public synchronized void handleLargeMessage(final ClientLargeMessageInternal clientLargeMessage, long largeMessageSize) throws Exception { if (closing) { // This is ok - we just ignore the message return; } // Flow control for the first packet, we will have others File largeMessageCache = null; if (session.isCacheLargeMessageClient()) { largeMessageCache = File.createTempFile("tmp-large-message-" + clientLargeMessage.getMessageID() + "-", ".tmp"); largeMessageCache.deleteOnExit(); } ClientSessionFactory sf = session.getSessionFactory(); ServerLocator locator = sf.getServerLocator(); long callTimeout = locator.getCallTimeout(); currentLargeMessageController = new LargeMessageControllerImpl(this, largeMessageSize, callTimeout, largeMessageCache); if (clientLargeMessage.isCompressed()) { clientLargeMessage.setLargeMessageController(new CompressedLargeMessageControllerImpl(currentLargeMessageController)); } else { clientLargeMessage.setLargeMessageController(currentLargeMessageController); } handleRegularMessage(clientLargeMessage); }
@Override public byte readByte() { try { return getStream().readByte(); } catch (Exception e) { throw new RuntimeException(e.getMessage(), e); } }
@Override public byte getByte(final int index) { positioningNotSupported(); return 0; }
@Override public int getUnsignedShort(final int index) { return getShort(index) & 0xFFFF; }
/** * from {@link java.io.DataInput} interface */ @Override public void readFully(byte[] b, int off, int len) throws IOException { readBytes(b, off, len); }
@Override public double getDouble(final int index) { return Double.longBitsToDouble(getLong(index)); }
@Override public boolean readBoolean() { return readByte() != 0; }
@Override public String readNullableString() { int b = readByte(); if (b == DataConstants.NULL) { return null; } else { return readString(); } }
@Override public SimpleString readNullableSimpleString() { int b = readByte(); if (b == DataConstants.NULL) { return null; } else { return readSimpleString(); } }
final byte[] body = ByteUtil.getActiveArray(qbuff.readBytes(bytesToRead).toByteBuffer()); largeMessage.setLargeMessageController(new CompressedLargeMessageControllerImpl(currentLargeMessageController)); currentLargeMessageController.addPacket(body, body.length, false);
@Override public long readLong() { try { return getStream().readLong(); } catch (Exception e) { throw new IllegalStateException(e.getMessage(), e); } }
@Override public long getLong(final int index) { positioningNotSupported(); return 0; }
@Override public char getChar(final int index) { return (char) getShort(index); }
/** * from {@link java.io.DataInput} interface */ @Override public void readFully(byte[] b) throws IOException { readBytes(b); }