Search in sources :

Example 1 with OffHeapDataContainer

use of org.infinispan.container.offheap.OffHeapDataContainer in project wildfly by wildfly.

the class DataContainerFactory method createUnboundedContainer.

private DataContainer<?, ?> createUnboundedContainer() {
    ClusteringConfiguration clustering = this.configuration.clustering();
    boolean segmented = clustering.cacheMode().needsStateTransfer();
    int level = this.configuration.locking().concurrencyLevel();
    boolean offHeap = this.configuration.memory().isOffHeap();
    if (segmented) {
        Supplier<PeekableTouchableMap<WrappedBytes, WrappedBytes>> mapSupplier = offHeap ? this::createAndStartOffHeapConcurrentMap : PeekableTouchableContainerMap::new;
        int segments = clustering.hash().numSegments();
        return clustering.l1().enabled() ? new L1SegmentedDataContainer<>(mapSupplier, segments) : new DefaultSegmentedDataContainer<>(mapSupplier, segments);
    }
    return offHeap ? new OffHeapDataContainer() : DefaultDataContainer.unBoundedDataContainer(level);
}
Also used : OffHeapDataContainer(org.infinispan.container.offheap.OffHeapDataContainer) SegmentedBoundedOffHeapDataContainer(org.infinispan.container.offheap.SegmentedBoundedOffHeapDataContainer) BoundedOffHeapDataContainer(org.infinispan.container.offheap.BoundedOffHeapDataContainer) PeekableTouchableMap(org.infinispan.container.impl.PeekableTouchableMap) PeekableTouchableContainerMap(org.infinispan.container.impl.PeekableTouchableContainerMap) ClusteringConfiguration(org.infinispan.configuration.cache.ClusteringConfiguration)

Aggregations

ClusteringConfiguration (org.infinispan.configuration.cache.ClusteringConfiguration)1 PeekableTouchableContainerMap (org.infinispan.container.impl.PeekableTouchableContainerMap)1 PeekableTouchableMap (org.infinispan.container.impl.PeekableTouchableMap)1 BoundedOffHeapDataContainer (org.infinispan.container.offheap.BoundedOffHeapDataContainer)1 OffHeapDataContainer (org.infinispan.container.offheap.OffHeapDataContainer)1 SegmentedBoundedOffHeapDataContainer (org.infinispan.container.offheap.SegmentedBoundedOffHeapDataContainer)1