@Test public void testTagValueMatchesParsedArray() throws IOException { AmqpTransferTagGenerator tagGen = new AmqpTransferTagGenerator(false); for (int i = 0; i < Short.MAX_VALUE; ++i) { byte[] tag = tagGen.getNextTag(); ByteArrayInputStream bais = new ByteArrayInputStream(tag); DataInputStream dis = new DataInputStream(bais); if (i < 256) { assertEquals(1, tag.length); assertEquals((byte) i, dis.readByte()); } else { assertEquals(2, tag.length); assertEquals(i, dis.readShort()); } } }
public byte[] getNextTag() { byte[] tagBytes = null; if (tagPool != null) { tagBytes = tagPool.pollFirst(); } if (tagBytes == null) { long tag = nextTagId++; int size = encodingSize(tag); tagBytes = new byte[size]; for (int i = 0; i < size; ++i) { tagBytes[size - 1 - i] = (byte) (tag >>> (i * 8)); } } return tagBytes; }
AmqpTransferTagGenerator { public byte[] getNextTag() { byte[] tagBytes = null; if (tagPool != null) { tagBytes = tagPool.pollFirst(); } if (tagBytes == null) { long tag = nextTagId++; int size = encodingSize(tag); tagBytes = new byte[size]; for (int i = 0; i < size; ++i) { tagBytes[size - 1 - i] = (byte) (tag >>> (i * 8)); } } return tagBytes; } }
AmqpTransferTagGenerator { public byte[] getNextTag() { byte[] tagBytes = null; if (tagPool != null) { tagBytes = tagPool.pollFirst(); } if (tagBytes == null) { long tag = nextTagId++; int size = encodingSize(tag); tagBytes = new byte[size]; for (int i = 0; i < size; ++i) { tagBytes[size - 1 - i] = (byte) (tag >>> (i * 8)); } } return tagBytes; } AmqpTransferTagGenerator();  AmqpTransferTagGenerator(boolean pool); }
AmqpTransferTagGenerator { public byte[] getNextTag() { byte[] tagBytes = null; if (tagPool != null) { tagBytes = tagPool.pollFirst(); } if (tagBytes == null) { long tag = nextTagId++; int size = encodingSize(tag); tagBytes = new byte[size]; for (int i = 0; i < size; ++i) { tagBytes[size - 1 - i] = (byte) (tag >>> (i * 8)); } } return tagBytes; } AmqpTransferTagGenerator();  AmqpTransferTagGenerator(boolean pool); byte[] getNextTag(); void returnTag(byte[] data); int getMaxPoolSize(); void setMaxPoolSize(int maxPoolSize); boolean isPooling(); }
AmqpTransferTagGenerator { public byte[] getNextTag() { byte[] tagBytes = null; if (tagPool != null) { tagBytes = tagPool.pollFirst(); } if (tagBytes == null) { long tag = nextTagId++; int size = encodingSize(tag); tagBytes = new byte[size]; for (int i = 0; i < size; ++i) { tagBytes[size - 1 - i] = (byte) (tag >>> (i * 8)); } } return tagBytes; } AmqpTransferTagGenerator();  AmqpTransferTagGenerator(boolean pool); byte[] getNextTag(); void returnTag(byte[] data); int getMaxPoolSize(); void setMaxPoolSize(int maxPoolSize); boolean isPooling(); static final int DEFAULT_TAG_POOL_SIZE; }