/** {@inheritDoc} */ @Override public Iterator<T> iterator() { onAccess(); return iterator0(); }
/** {@inheritDoc} */ @Override public void clear() { try { onAccess(); try (GridCloseableIterator<T> iter = iterator0()) { Collection<SetItemKey> rmvKeys = new ArrayList<>(BATCH_SIZE); for (T val : iter) { rmvKeys.add(itemKey(val)); if (rmvKeys.size() == BATCH_SIZE) { retryRemoveAll(rmvKeys); rmvKeys.clear(); } } if (!rmvKeys.isEmpty()) retryRemoveAll(rmvKeys); } } catch (IgniteCheckedException e) { throw U.convertException(e); } }
/** {@inheritDoc} */ @Override public boolean retainAll(Collection<?> c) { try { onAccess(); try (GridCloseableIterator<T> iter = iterator0()) { boolean rmv = false; Set<SetItemKey> rmvKeys = null; for (T val : iter) { if (!c.contains(val)) { rmv = true; if (rmvKeys == null) rmvKeys = U.newHashSet(BATCH_SIZE); rmvKeys.add(itemKey(val)); if (rmvKeys.size() == BATCH_SIZE) { retryRemoveAll(rmvKeys); rmvKeys.clear(); } } } if (!F.isEmpty(rmvKeys)) retryRemoveAll(rmvKeys); return rmv; } } catch (IgniteCheckedException e) { throw U.convertException(e); } }
/** {@inheritDoc} */ @Override public Iterator<T> iterator() { onAccess(); return iterator0(); }
/** {@inheritDoc} */ @Override public void clear() { try { onAccess(); try (GridCloseableIterator<T> iter = iterator0()) { Collection<SetItemKey> rmvKeys = new ArrayList<>(BATCH_SIZE); for (T val : iter) { rmvKeys.add(itemKey(val)); if (rmvKeys.size() == BATCH_SIZE) { retryRemoveAll(rmvKeys); rmvKeys.clear(); } } if (!rmvKeys.isEmpty()) retryRemoveAll(rmvKeys); } } catch (IgniteCheckedException e) { throw U.convertException(e); } }
/** {@inheritDoc} */ @Override public boolean retainAll(Collection<?> c) { try { onAccess(); try (GridCloseableIterator<T> iter = iterator0()) { boolean rmv = false; Set<SetItemKey> rmvKeys = null; for (T val : iter) { if (!c.contains(val)) { rmv = true; if (rmvKeys == null) rmvKeys = U.newHashSet(BATCH_SIZE); rmvKeys.add(itemKey(val)); if (rmvKeys.size() == BATCH_SIZE) { retryRemoveAll(rmvKeys); rmvKeys.clear(); } } } if (!F.isEmpty(rmvKeys)) retryRemoveAll(rmvKeys); return rmv; } } catch (IgniteCheckedException e) { throw U.convertException(e); } }