@Override public StorageFactory createFactory(ConfigSetup setup, ScheduledExecutorService executor) { InMemoryStorageFactory factory = new InMemoryStorageFactory(executor); return factory; }
SingletonStorageFactory(ScheduledExecutorService executor) { this.storage = new InMemoryStorageFactory(executor).createStorageAdapter(); this.storage.initialize(1); this.closed = new AtomicBoolean(); }
private Storage createStorage() { val factory = new InMemoryStorageFactory(executorService()); return factory.createStorageAdapter(); } }
TestContext() { this.storageFactory = new InMemoryStorageFactory(executorService()); this.container = new ReadOnlySegmentContainer(this.storageFactory, executorService()); this.storage = this.storageFactory.createStorageAdapter(); }
/** * Creates a new instance of the DebugRecoveryProcessor class with the given arguments. * * @param containerId The Id of the Container to recover. * @param durableDataLog A DurableDataLog to recover from. * @param config A ContainerConfig to use during recovery. * @param readIndexConfig A ReadIndexConfig to use during recovery. * @param executor An Executor to use for background tasks. * @param callbacks Callbacks to invoke during recovery. * @return A new instance of the DebugRecoveryProcessor. */ public static DebugRecoveryProcessor create(int containerId, DurableDataLog durableDataLog, ContainerConfig config, ReadIndexConfig readIndexConfig, ScheduledExecutorService executor, OperationCallbacks callbacks) { Preconditions.checkNotNull(durableDataLog, "durableDataLog"); Preconditions.checkNotNull(config, "config"); Preconditions.checkNotNull(readIndexConfig, "readIndexConfig"); Preconditions.checkNotNull(executor, "executor"); Preconditions.checkNotNull(callbacks, callbacks); StreamSegmentContainerMetadata metadata = new StreamSegmentContainerMetadata(containerId, config.getMaxActiveSegmentCount()); CacheManager cacheManager = new CacheManager(new CachePolicy(Long.MAX_VALUE, Duration.ofHours(10), Duration.ofHours(1)), executor); cacheManager.startAsync().awaitRunning(); ContainerReadIndexFactory rf = new ContainerReadIndexFactory(readIndexConfig, new NoOpCacheFactory(), cacheManager, executor); Storage s = new InMemoryStorageFactory(executor).createStorageAdapter(); return new DebugRecoveryProcessor(metadata, durableDataLog, rf, s, cacheManager, callbacks); }
@Before public void setUp() { this.storageFactory = new InMemoryStorageFactory(executorService()); this.durableDataLogFactory = new PermanentDurableDataLogFactory(executorService()); }
@Before public void setUp() { this.storageFactory = new InMemoryStorageFactory(executorService()); this.durableDataLogFactory = new PermanentDurableDataLogFactory(executorService()); }
/** * Creates a new instance of the ServiceBuilder class which is contained in memory. Any data added to this service will * be lost when the object is garbage collected or the process terminates. * * @param builderConfig The ServiceBuilderConfig to use. * @param executorBuilder A Function that, given a thread count and a pool name, creates a ScheduledExecutorService * with the given number of threads that have the given name as prefix. */ @VisibleForTesting public static ServiceBuilder newInMemoryBuilder(ServiceBuilderConfig builderConfig, ExecutorBuilder executorBuilder) { ServiceConfig serviceConfig = builderConfig.getConfig(ServiceConfig::builder); ServiceBuilder builder; if (serviceConfig.isReadOnlySegmentStore()) { // Only components required for ReadOnly SegmentStore. builder = new ReadOnlyServiceBuilder(builderConfig, serviceConfig, executorBuilder); } else { // Components that are required for general SegmentStore. builder = new ServiceBuilder(builderConfig, serviceConfig, executorBuilder) .withCacheFactory(setup -> new InMemoryCacheFactory()); } // Components that are required for all types of SegmentStore. return builder .withDataLogFactory(setup -> new InMemoryDurableDataLogFactory(setup.getCoreExecutor())) .withContainerManager(setup -> new LocalSegmentContainerManager( setup.getContainerRegistry(), setup.getSegmentToContainerMapper())) .withStorageFactory(setup -> new InMemoryStorageFactory(setup.getStorageExecutor())) .withStreamSegmentStore(setup -> new StreamSegmentService(setup.getContainerRegistry(), setup.getSegmentToContainerMapper())); }