public final int output(byte[] bytes, int offset, int size) { int written = 0; if(_overflowBuffer.hasRemaining()) { final int overflowWritten = Math.min(size, _overflowBuffer.remaining()); _overflowBuffer.get(bytes, offset, overflowWritten); written+=overflowWritten; } if(!_overflowBuffer.hasRemaining()) { _overflowBuffer.rewind(); CompositeWritableBuffer outputBuffer = new CompositeWritableBuffer( new WritableBuffer.ByteBufferWrapper(ByteBuffer.wrap(bytes, offset + written, size - written)), new WritableBuffer.ByteBufferWrapper(_overflowBuffer)); written += process(outputBuffer); } return written; }
int c = amqp.encode(new CompositeWritableBuffer(new WritableBuffer.ByteBufferWrapper(buffer), overflow)); if( overflow.position() > 0 ) { buffer = ByteBuffer.wrap(new byte[1024*4+overflow.position()]); c = amqp.encode(new WritableBuffer.ByteBufferWrapper(buffer));
if ((c & 0xFF80) == 0) { put(pos++, (byte) c); } else if ((c & 0xF800) == 0) { put(pos++, (byte) (0xC0 | ((c >> 6) & 0x1F))); put(pos++, (byte) (0x80 | (c & 0x3F))); } else if ((c & 0xD800) != 0xD800 || (c > 0xDBFF)) { put(pos++, (byte) (0xE0 | ((c >> 12) & 0x0F))); put(pos++, (byte) (0x80 | ((c >> 6) & 0x3F))); put(pos++, (byte) (0x80 | (c & 0x3F))); } else { int low; put(pos++, (byte) (0xF0 | ((c >> 18) & 0x07))); put(pos++, (byte) (0x80 | ((c >> 12) & 0x3F))); put(pos++, (byte) (0x80 | ((c >> 6) & 0x3F))); put(pos++, (byte) (0x80 | (c & 0x3F)));
new WritableBuffer.ByteBufferWrapper(ByteBuffer.wrap(bytes, offset + written, size - written)), new WritableBuffer.ByteBufferWrapper(_overflowBuffer));
@Override public EncodedMessage transform(Message msg) throws Exception { if( msg == null ) return null; try { if( msg.getBooleanProperty(prefixVendor + "NATIVE") ) { return null; } } catch (MessageFormatException e) { return null; } ProtonJMessage amqp = convert(msg); long messageFormat; try { messageFormat = msg.getLongProperty(this.messageFormatKey); } catch (MessageFormatException e) { return null; } ByteBuffer buffer = ByteBuffer.wrap(new byte[1024 * 4]); final DroppingWritableBuffer overflow = new DroppingWritableBuffer(); int c = amqp.encode(new CompositeWritableBuffer( new WritableBuffer.ByteBufferWrapper(buffer), overflow)); if( overflow.position() > 0 ) { buffer = ByteBuffer.wrap(new byte[1024 * 4 + overflow.position()]); c = amqp.encode(new WritableBuffer.ByteBufferWrapper(buffer)); } return new EncodedMessage(messageFormat, buffer.array(), 0, c); }
public static ByteBufferWrapper wrap(byte[] bytes) { return new ByteBufferWrapper(ByteBuffer.wrap(bytes)); }
public static ByteBufferWrapper wrap(ByteBuffer buffer) { return new ByteBufferWrapper(buffer); }
public void setByteBuffer(final ByteBuffer buf) { _buffer = new WritableBuffer.ByteBufferWrapper(buf); }
public static ByteBufferWrapper allocate(int size) { ByteBuffer allocated = ByteBuffer.allocate(size); return new ByteBufferWrapper(allocated); }
public void setByteBuffer(final ByteBuffer buf) { _buffer = new WritableBuffer.ByteBufferWrapper(buf); }
public void encode(ByteBuffer buffer) { WritableBuffer writableBuffer = new WritableBuffer.ByteBufferWrapper(buffer); encode(writableBuffer); }
public void setByteBuffer(final ByteBuffer buf) { _buffer = new WritableBuffer.ByteBufferWrapper(buf); }
public int encode2(byte[] data, int offset, int length) { ByteBuffer buffer = ByteBuffer.wrap(data, offset, length); WritableBuffer.ByteBufferWrapper first = new WritableBuffer.ByteBufferWrapper(buffer); DroppingWritableBuffer second = new DroppingWritableBuffer(); CompositeWritableBuffer composite = new CompositeWritableBuffer(first, second); int start = composite.position(); encode(composite); return composite.position() - start; }
private void grow() { ByteBuffer old = _bbuf; _bbuf = ByteBuffer.allocate(_bbuf.capacity() * 2); _buffer = new WritableBuffer.ByteBufferWrapper(_bbuf); old.flip(); _bbuf.put(old); _encoder.setByteBuffer(_buffer); }
FrameWriter(EncoderImpl encoder, int maxFrameSize, byte frameType, Ref<ProtocolTracer> protocolTracer, TransportImpl transport) { _encoder = encoder; _bbuf = ByteBuffer.allocate(1024); _buffer = new WritableBuffer.ByteBufferWrapper(_bbuf); _encoder.setByteBuffer(_buffer); _maxFrameSize = maxFrameSize; _frameType = frameType; _protocolTracer = protocolTracer; _transport = transport; }
@Override public int encode2(byte[] data, int offset, int length) { ByteBuffer buffer = ByteBuffer.wrap(data, offset, length); WritableBuffer.ByteBufferWrapper first = new WritableBuffer.ByteBufferWrapper(buffer); DroppingWritableBuffer second = new DroppingWritableBuffer(); CompositeWritableBuffer composite = new CompositeWritableBuffer(first, second); int start = composite.position(); encode(composite); return composite.position() - start; }
@Override public void setByteBuffer(final ByteBuffer buf) { _buffer = new WritableBuffer.ByteBufferWrapper(buf); }
@Override public int encode2(byte[] data, int offset, int length) { ByteBuffer buffer = ByteBuffer.wrap(data, offset, length); WritableBuffer.ByteBufferWrapper first = new WritableBuffer.ByteBufferWrapper(buffer); DroppingWritableBuffer second = new DroppingWritableBuffer(); CompositeWritableBuffer composite = new CompositeWritableBuffer(first, second); int start = composite.position(); encode(composite); return composite.position() - start; }
@Override public int encode(byte[] data, int offset, int length) { ByteBuffer buffer = ByteBuffer.wrap(data, offset, length); return encode(new WritableBuffer.ByteBufferWrapper(buffer)); }
@Override public int encode(byte[] data, int offset, int length) { ByteBuffer buffer = ByteBuffer.wrap(data, offset, length); return encode(new WritableBuffer.ByteBufferWrapper(buffer)); }