@Override protected Iterator<Element> iterator() { return chain.iterator(); } }
@Override public Iterator<Element> reverseIterator() { return Util.reverseIterator(list); }
public static boolean chainsEqual(Chain chain1, Chain chain2) { Iterator<Element> it1 = chain1.iterator(); Iterator<Element> it2 = chain2.iterator(); while (it1.hasNext() && it2.hasNext()) { Element next1 = it1.next(); Element next2 = it2.next(); if (!next1.getPayload().equals(next2.getPayload())) { return false; } } return !it1.hasNext() && !it2.hasNext(); }
@Test public void testChainWithSingleElement() { Chain chain = getChain(false, createPayload(1L)); assertThat(chain.isEmpty(), is(false)); Iterator<Element> chainIterator = chain.iterator(); assertThat(readPayLoad(chainIterator.next().getPayload()), is(1L)); assertThat(chainIterator.hasNext(), is(false)); Chain decoded = ChainCodec.decode(ChainCodec.encode(chain)); assertThat(decoded.isEmpty(), is(false)); chainIterator = decoded.iterator(); assertThat(readPayLoad(chainIterator.next().getPayload()), is(1L)); assertThat(chainIterator.hasNext(), is(false)); }
public static void assertChainHas(Chain chain, long... payLoads) { Iterator<Element> elements = chain.iterator(); for (long payLoad : payLoads) { assertThat(readPayLoad(elements.next().getPayload()), is(Long.valueOf(payLoad))); } assertThat(elements.hasNext(), is(false)); } }
private Chain dropLastElement(Chain chain) { if (!chain.isEmpty()) { List<Element> elements = StreamSupport.stream(chain.spliterator(), false) .collect(Collectors.toList()); elements.remove(elements.size() - 1); // remove last return Util.getChain(elements); } else { return chain; } }
@Override protected boolean matchesSafely(Element item) { return item.getPayload().equals(buffer(i)); }
private LockSuccess getLockSuccessResponse() { ByteBuffer[] buffers = new ByteBuffer[3]; for (int i = 1; i <= 3; i++) { buffers[i-1] = Util.createPayload(i); } Chain chain = Util.getChain(false, buffers); return EhcacheEntityResponse.lockSuccess(chain); }
public static void encode(StructEncoder<?> encoder, Chain chain) { StructArrayEncoder<? extends StructEncoder<?>> elementsEncoder = encoder.structs("elements"); for (Element element : chain) { StructEncoder<?> elementEncoder = elementsEncoder.add(); if (element instanceof SequencedElement) { elementEncoder.int64("sequence", ((SequencedElement) element).getSequenceNumber()); } elementEncoder.byteBuffer("payload", element.getPayload()); elementEncoder.end(); } elementsEncoder.end(); }
private static void assertSameSequenceChain(Chain original, Chain decoded) { Iterator<Element> decodedIterator = decoded.iterator(); for (Element element : original) { assertEquals(((SequencedElement) element).getSequenceNumber(), ((SequencedElement) decodedIterator.next()).getSequenceNumber()); } } }
public Chain build() { ByteBuffer[] elements = new ByteBuffer[buffers.size()]; buffers.toArray(elements); return Util.getChain(false, elements); }
private static void populateStore(ServerStore store) throws Exception { for(int i = 1 ; i <= 16; i++) { store.append(i, createPayload(i)); } }
private static void assertChainHas(Chain chain, long... payLoads) { Iterator<Element> elements = chain.iterator(); for (long payLoad : payLoads) { assertThat(readPayLoad(elements.next().getPayload()), is(Long.valueOf(payLoad))); } assertThat(elements.hasNext(), is(false)); }
@Override protected boolean matchesSafely(Element item) { return item.getPayload().equals(buffer(i)); }
@Override public Iterator<Element> reverseIterator() { return Util.reverseIterator(elements); }
private static void assertChainHas(Chain chain, long... payLoads) { Iterator<Element> elements = chain.iterator(); for (long payLoad : payLoads) { assertThat(Util.readPayLoad(elements.next().getPayload()), is(Long.valueOf(payLoad))); } assertThat(elements.hasNext(), is(false)); } }
@Override public ChainBuilder newChainBuilder() { return elements -> { ByteBuffer[] buffers = new ByteBuffer[elements.length]; for (int i = 0; i < buffers.length; i++) { buffers[i] = elements[i].getPayload(); } return OffHeapChainMap.chain(buffers); }; }
@Override public Iterator<Element> reverseIterator() { return Util.reverseIterator(elements); }
@Override public Iterator<Element> reverseIterator() { return Util.reverseIterator(elements); }
@Override public Iterator<Element> reverseIterator() { return Util.reverseIterator(elements); }