/** * Creates off-heap map based on {@code Unsafe} implementation with * unlimited memory. * * @param parts Partitions. * @param initCap Initial capacity. * @return Off-heap map. */ public static GridOffHeapPartitionedMap unsafePartitionedMap(int parts, long initCap) { return new GridUnsafePartitionedMap(parts, 128, 0.75f, initCap, 0, (short)0, null); }
/** {@inheritDoc} */ @Override public long size(Set<Integer> parts) { int cnt = 0; for (Integer part : parts) cnt += mapFor(part).size(); return cnt; }
/** {@inheritDoc} */ @Override public void enableEviction(int p, int hash, byte[] keyBytes) { if (lru == null) return; mapFor(p).enableEviction(hash, keyBytes); }
/** * Creates off-heap map based on {@code Unsafe} implementation. * * @param parts Partitions. * @param concurrency Concurrency. * @param initCap Initial capacity. * @return Off-heap map. */ public static GridOffHeapPartitionedMap unsafePartitionedMap(int parts, int concurrency, long initCap) { return new GridUnsafePartitionedMap(parts, concurrency, 0.75f, initCap, 0, (short)0, null); }
/** {@inheritDoc} */ @Override public IgniteBiTuple<Long, Integer> valuePointer(int p, int hash, byte[] keyBytes) { return mapFor(p).valuePointer(hash, keyBytes); }
/** * Creates off-heap map based on {@code Unsafe} implementation with limited * memory and LRU-based eviction. * * @param parts Partitions. * @param initCap Initial capacity. * @param totalMem Total memory. * @param lruStripes Number of LRU stripes. * @return Off-heap map. */ public static GridOffHeapPartitionedMap unsafePartitionedMap(int parts, long initCap, long totalMem, short lruStripes) { return new GridUnsafePartitionedMap(parts, 128, 0.75f, initCap, totalMem, lruStripes, null); }
/** {@inheritDoc} */ @Override public byte[] remove(int p, int hash, byte[] keyBytes) { return mapFor(p).remove(hash, keyBytes); }
/** * Creates off-heap map based on {@code Unsafe} implementation. * * @param parts Partitions. * @param concurrency Concurrency. * @param load Load factor. * @param initCap Initial capacity. * @return Off-heap map. */ public static GridOffHeapPartitionedMap unsafePartitionedMap(int parts, int concurrency, float load, long initCap) { return new GridUnsafePartitionedMap(parts, concurrency, load, initCap, 0, (short)0, null); }
/** {@inheritDoc} */ @Override public boolean removex(int p, int hash, byte[] keyBytes) { return mapFor(p).removex(hash, keyBytes); }
/** * Creates off-heap map based on {@code Unsafe} implementation with limited * memory and LRU-based eviction. * * @param parts Partitions. * @param concurrency Concurrency. * @param initCap Initial capacity. * @param totalMem Total memory. * @param lruStripes Number of LRU stripes. * @param lsnr Optional eviction listener which gets notified every time an entry is evicted. * @return Off-heap map. */ public static GridOffHeapPartitionedMap unsafePartitionedMap(int parts, int concurrency, long initCap, long totalMem, short lruStripes, @Nullable GridOffHeapEvictListener lsnr) { return new GridUnsafePartitionedMap(parts, concurrency, 0.75f, initCap, totalMem, lruStripes, lsnr); }
/** {@inheritDoc} */ @Override public void insert(int p, int hash, byte[] keyBytes, byte[] valBytes) { mapFor(p).insert(hash, keyBytes, valBytes); }
/** * Creates off-heap map based on {@code Unsafe} implementation with limited * memory and LRU-based eviction. * * @param parts Partitions. * @param initCap Initial capacity. * @param totalMem Total memory. * @param lruStripes Number of LRU stripes. * @param lsnr Optional eviction listener which gets notified every time an entry is evicted. * @return Off-heap map. */ public static GridOffHeapPartitionedMap unsafePartitionedMap(int parts, long initCap, long totalMem, short lruStripes, @Nullable GridOffHeapEvictListener lsnr) { return new GridUnsafePartitionedMap(parts, 128, 0.75f, initCap, totalMem, lruStripes, lsnr); }
/** {@inheritDoc} */ @Override public boolean put(int p, int hash, byte[] keyBytes, byte[] valBytes) { return mapFor(p).put(hash, keyBytes, valBytes); }
/** * Creates off-heap map based on {@code Unsafe} implementation with limited * memory and LRU-based eviction. * * @param parts Partitions. * @param concurrency Concurrency. * @param load Load factor. * @param initCap Initial capacity. * @param totalMem Total memory. * @param lruStripes Number of LRU stripes. * @param lsnr Optional eviction listener which gets notified every time an entry is evicted. * @return Off-heap map. */ public static GridOffHeapPartitionedMap unsafePartitionedMap(int parts, int concurrency, float load, long initCap, long totalMem, short lruStripes, @Nullable GridOffHeapEvictListener lsnr) { return new GridUnsafePartitionedMap(parts, concurrency, load, initCap, totalMem, lruStripes, lsnr); } }
/** {@inheritDoc} */ @Override public boolean removex(int part, int hash, byte[] keyBytes, IgniteBiPredicate<Long, Integer> p) { return mapFor(part).removex(hash, keyBytes, p); }
/** * Creates off-heap map based on {@code Unsafe} implementation with * unlimited memory. * * @param parts Partitions. * @param initCap Initial capacity. * @return Off-heap map. */ public static GridOffHeapPartitionedMap unsafePartitionedMap(int parts, long initCap) { return new GridUnsafePartitionedMap(parts, 128, 0.75f, initCap, 0, (short)0, null); }
/** {@inheritDoc} */ @Override public <T> GridCloseableIterator<T> iterator(final CX2<T2<Long, Integer>, T2<Long, Integer>, T> c, int part) { return mapFor(part).iterator(c); }
/** * Creates off-heap map based on {@code Unsafe} implementation. * * @param parts Partitions. * @param concurrency Concurrency. * @param initCap Initial capacity. * @return Off-heap map. */ public static GridOffHeapPartitionedMap unsafePartitionedMap(int parts, int concurrency, long initCap) { return new GridUnsafePartitionedMap(parts, concurrency, 0.75f, initCap, 0, (short)0, null); }
/** {@inheritDoc} */ @Override public boolean contains(int part, int hash, byte[] keyBytes) { return mapFor(part).contains(hash, keyBytes); }
/** * Creates off-heap map based on {@code Unsafe} implementation with limited * memory and LRU-based eviction. * * @param parts Partitions. * @param initCap Initial capacity. * @param totalMem Total memory. * @param lruStripes Number of LRU stripes. * @return Off-heap map. */ public static GridOffHeapPartitionedMap unsafePartitionedMap(int parts, long initCap, long totalMem, short lruStripes) { return new GridUnsafePartitionedMap(parts, 128, 0.75f, initCap, totalMem, lruStripes, null); }