public boolean hasValidPrefix() { return buffer.startsWith(PREFIX); }
public boolean hasValidPrefix() { return buffer.startsWith(PREFIX); }
public boolean hasValidPrefix() { return buffer.startsWith(PREFIX); }
public void setBuffer(Buffer value, boolean validate) { if (validate && !value.startsWith(PREFIX) || value.length() != 8) { throw new IllegalArgumentException("Not an AMQP header buffer"); } buffer = value.buffer(); }
public void setBuffer(Buffer value) { if( !value.startsWith(PREFIX) || value.length()!=8 ) { throw new IllegalArgumentException("Not an AMQP header buffer"); } buffer = value.buffer(); }
public void setBuffer(Buffer value, boolean validate) { if (validate && !value.startsWith(PREFIX) || value.length() != 8) { throw new IllegalArgumentException("Not an AMQP header buffer"); } buffer = value.buffer(); }
@Override public boolean matchesIdentification(Buffer header) { if (header.length < 10) { return false; } else { return header.startsWith(HEAD_MAGIC) && ( header.indexOf(MQTT31_TAIL_MAGIC, 2) < 6 || header.indexOf(MQTT311_TAIL_MAGIC, 2) < 6 ); } }
public void setBuffer(Buffer value, boolean validate) { if (validate && !value.startsWith(PREFIX) || value.length() != 8) { throw new IllegalArgumentException("Not an AMQP header buffer"); } buffer = value.buffer(); }
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. } }
BTreeNode<Key, Value> loadNode(BTreeNode<Key, Value> parent, int page) { BTreeNode<Key, Value> node = new BTreeNode<Key, Value>(parent, page); if( deferredEncoding ) { node.data = paged.get(DATA_ENCODER_DECODER, page); node.storedInExtent=true; } else { Buffer buffer = new Buffer(paged.getPageSize()); paged.read(page, buffer); if ( buffer.startsWith(Extent.DEFAULT_MAGIC) ) { // Page data was stored in an extent.. node.data = DATA_ENCODER_DECODER.load(paged, page); node.storedInExtent=true; } else { // It was just in a plain page.. DataByteArrayInputStream is = new DataByteArrayInputStream(buffer); try { node.data = BTreeNode.read(is, this); node.storedInExtent=false; } catch (IOException e) { throw new IndexException("Could not read btree node"); } } } return node; }
BTreeNode<Key, Value> loadNode(BTreeNode<Key, Value> parent, int page) { BTreeNode<Key, Value> node = new BTreeNode<Key, Value>(parent, page); if( deferredEncoding ) { node.data = paged.get(DATA_ENCODER_DECODER, page); node.storedInExtent=true; } else { Buffer buffer = new Buffer(paged.getPageSize()); paged.read(page, buffer); if ( buffer.startsWith(Extent.DEFAULT_MAGIC) ) { // Page data was stored in an extent.. node.data = DATA_ENCODER_DECODER.load(paged, page); node.storedInExtent=true; } else { // It was just in a plain page.. DataByteArrayInputStream is = new DataByteArrayInputStream(buffer); try { node.data = BTreeNode.read(is, this); node.storedInExtent=false; } catch (IOException e) { throw new IndexException("Could not read btree node"); } } } return node; }