public void write(Buffer b) { write(b.data, b.offset, b.length); }
public void write(Buffer b) { write(b.data, b.offset, b.length); }
public void write(Buffer b) { write(b.data, b.offset, b.length); }
public static AsciiBuffer encodeHeader(String value) { if (value == null) return null; try { byte[] data = value.getBytes("UTF-8"); ByteArrayOutputStream rc = new ByteArrayOutputStream(data.length); for (byte d : data) { switch (d) { case ESCAPE_BYTE: rc.write(ESCAPE_ESCAPE_SEQ); break; case COLON_BYTE: rc.write(COLON_ESCAPE_SEQ); break; case NEWLINE_BYTE: rc.write(COLON_ESCAPE_SEQ); break; default: rc.write(d); } } return rc.toBuffer().ascii(); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); // not expected. } }
public static AsciiBuffer encodeHeader(String value) { if (value == null) return null; try { byte[] data = value.getBytes("UTF-8"); ByteArrayOutputStream rc = new ByteArrayOutputStream(data.length); for (byte d : data) { switch (d) { case ESCAPE_BYTE: rc.write(ESCAPE_ESCAPE_SEQ); break; case COLON_BYTE: rc.write(COLON_ESCAPE_SEQ); break; case NEWLINE_BYTE: rc.write(COLON_ESCAPE_SEQ); break; default: rc.write(d); } } return rc.toBuffer().ascii(); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); // not expected. } }
private AsciiBuffer getNextMessageId() throws JMSException { AsciiBuffer session = null; if(channel!=null) { session = channel.sessionId(); } else { session = connection.getChannel().sessionId(); } AsciiBuffer id = ascii(Long.toString(nextMessageSwquence++)); ByteArrayOutputStream out = new ByteArrayOutputStream(3+session.length() + 1 + id.length()); out.write('I'); out.write('D'); out.write(':'); out.write(session); out.write('-'); out.write(id); return out.toBuffer().ascii(); }
private AsciiBuffer getNextMessageId() throws JMSException { AsciiBuffer session = null; if(channel!=null) { session = channel.sessionId(); } else { session = connection.getChannel().sessionId(); } AsciiBuffer id = ascii(Long.toString(nextMessageSwquence++)); ByteArrayOutputStream out = new ByteArrayOutputStream(3+session.length() + 1 + id.length()); out.write('I'); out.write('D'); out.write(':'); out.write(session); out.write('-'); out.write(id); return out.toBuffer().ascii(); }
public static String decodeHeader(Buffer value) { if (value == null) return null; ByteArrayOutputStream rc = new ByteArrayOutputStream(value.length); Buffer pos = new Buffer(value); int max = value.offset + value.length; while (pos.offset < max) { if (pos.startsWith(ESCAPE_ESCAPE_SEQ)) { rc.write(ESCAPE_BYTE); pos.moveHead(2); } else if (pos.startsWith(COLON_ESCAPE_SEQ)) { rc.write(COLON_BYTE); pos.moveHead(2); } else if (pos.startsWith(NEWLINE_ESCAPE_SEQ)) { rc.write(NEWLINE_BYTE); pos.moveHead(2); } else { rc.write(pos.data[pos.offset]); pos.moveHead(1); } } try { return new String(rc.toByteArray(), "UTF-8"); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); // not expected. } }
public static String decodeHeader(Buffer value) { if (value == null) return null; ByteArrayOutputStream rc = new ByteArrayOutputStream(value.length); Buffer pos = new Buffer(value); int max = value.offset + value.length; while (pos.offset < max) { if (pos.startsWith(ESCAPE_ESCAPE_SEQ)) { rc.write(ESCAPE_BYTE); pos.moveHead(2); } else if (pos.startsWith(COLON_ESCAPE_SEQ)) { rc.write(COLON_BYTE); pos.moveHead(2); } else if (pos.startsWith(NEWLINE_ESCAPE_SEQ)) { rc.write(NEWLINE_BYTE); pos.moveHead(2); } else { rc.write(pos.data[pos.offset]); pos.moveHead(1); } } try { return new String(rc.toByteArray(), "UTF-8"); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); // not expected. } }
@Override protected void processDelivery(Delivery delivery) { if( !delivery.isReadable() ) { System.out.println("it was not readable!"); return; } if( current==null ) { current = new ByteArrayOutputStream(); } int count; byte data[] = new byte[1024*4]; while( (count = receiver.recv(data, 0, data.length)) > 0 ) { current.write(data, 0, count); } // Expecting more deliveries.. if( count == 0 ) { return; } receiver.advance(); Buffer buffer = current.toBuffer(); current = null; onMessage(delivery, buffer); }
@Override public void delivery(Delivery delivery) throws Exception { if (!delivery.isReadable()) { LOG.debug("Delivery was not readable!"); return; } if (current == null) { current = new ByteArrayOutputStream(); } int count; while ((count = getEndpoint().recv(recvBuffer, 0, recvBuffer.length)) > 0) { current.write(recvBuffer, 0, count); if (current.size() > session.getMaxFrameSize()) { throw new AmqpProtocolException("Frame size of " + current.size() + " larger than max allowed " + session.getMaxFrameSize()); } } // Expecting more deliveries.. if (count == 0) { return; } try { processDelivery(delivery, current.toBuffer()); } finally { getEndpoint().advance(); current = null; } }
@Override public void delivery(Delivery delivery) throws Exception { if (!delivery.isReadable()) { LOG.debug("Delivery was not readable!"); return; } if (current == null) { current = new ByteArrayOutputStream(); } int count; while ((count = getEndpoint().recv(recvBuffer, 0, recvBuffer.length)) > 0) { current.write(recvBuffer, 0, count); if (current.size() > session.getMaxFrameSize()) { throw new AmqpProtocolException("Frame size of " + current.size() + " larger than max allowed " + session.getMaxFrameSize()); } } // Expecting more deliveries.. if (count == 0) { return; } try { processDelivery(delivery, current.toBuffer()); } finally { getEndpoint().advance(); current = null; } }