protected static void HandleNuclear(NuclearMessage msg, SimpleMessageSender sender, NuclearStorage storage) { var count = storage.AddOrUpdateSingleton(() => 1, i => i + 1); if (count >= 2) { sender.SendBatch(new object[] {}, e => e.AddString("ok")); return; } sender.SendOne(new NuclearMessage()); }
void VerifyNonAtomic(NuclearStorage storage) { storage.AddOrUpdateEntity(1, new Entity()); storage.GetEntity <Entity>(1); storage.UpdateEntity <Entity>(1, e => e.Do()); storage.TryDeleteEntity <Entity>(1); storage.AddOrUpdateSingleton(() => new Entity(), e => e.Do()); storage.UpdateSingletonEnforcingNew <Entity>(e => e.Do()); storage.GetSingleton <Entity>(); storage.TryDeleteSingleton <Entity>(); storage.UpdateSingleton <Entity>(e => e.Do()); //storage.UpdateOrAddEntity<Entity>(1, e => e.Do()); //storage.TryDelete<Entity>(1); //storage.SaveSingleton(new Entity()); //storage.GetSingleton<Entity>(); //storage.UpdateSingleton<Entity>(e => e.Do()); //storage.TryDeleteSingleton<Entity>(); }