public static NuclearStorage CreateNuclear(this FileStorageConfig self, Action<DefaultAtomicStorageStrategyBuilder> config) { var strategyBuilder = new DefaultAtomicStorageStrategyBuilder(); config(strategyBuilder); var strategy = strategyBuilder.Build(); return CreateNuclear(self, strategy); }
/// <summary> /// Creates the simplified nuclear storage wrapper around Atomic storage. /// </summary> /// <param name="dictionary">The dictionary.</param> /// <param name="configStrategy">The config strategy.</param> /// <returns></returns> public static NuclearStorage CreateNuclear(this MemoryAccount dictionary, Action<DefaultAtomicStorageStrategyBuilder> configStrategy) { var strategyBuilder = new DefaultAtomicStorageStrategyBuilder(); configStrategy(strategyBuilder); var strategy = strategyBuilder.Build(); return CreateNuclear(dictionary, strategy); }
public void SimpleWriteRoundtrip() { var strategy = new DefaultAtomicStorageStrategyBuilder().Build(); var setup = Compose(strategy); setup.AddOrUpdateEntity(1, "test"); setup.AddOrUpdateSingleton(() => 1, i => 1); AssertContents(setup); var mem = new MemoryStorageConfig().CreateNuclear(strategy); mem.CopyFrom(setup); AssertContents(mem); setup.Reset(); setup.CopyFrom(mem); AssertContents(setup); }
/// <summary> Creates the simplified nuclear storage wrapper around Atomic storage. </summary> /// <param name="storageConfig">The storage config.</param> /// <param name="configStrategy">The config strategy.</param> /// <returns></returns> public static NuclearStorage CreateNuclear(this IAzureStorageConfig storageConfig, Action<DefaultAtomicStorageStrategyBuilder> configStrategy) { var strategyBuilder = new DefaultAtomicStorageStrategyBuilder(); configStrategy(strategyBuilder); var strategy = strategyBuilder.Build(); return CreateNuclear(storageConfig, strategy); }