public void CreateRegion(string locators, bool caching, bool listener, bool writer) { if (listener) { m_listener = new TallyListener <int, object>(); } else { m_listener = null; } GIRegion region = null; region = CacheHelper.CreateTCRegion_Pool <int, object>(RegionName, true, caching, m_listener, locators, "__TESTPOOL1_", true); if (listener) { m_listener.SetCallBackArg(key0); } if (writer) { m_writer = new TallyWriter <int, object>(); } else { m_writer = null; } if (writer) { AttributesMutator <int, object> at = region.AttributesMutator; at.SetCacheWriter(m_writer); m_writer.SetCallBackArg(key0); } }
public void CreateRegion(string locators, bool caching, bool listener, bool writer) { Util.Log(" in CreateRegion " + listener + " : " + writer); if (listener) { m_listener = new TallyListener <object, object>(); } else { m_listener = null; } IRegion <object, object> region = null; region = CacheHelper.CreateTCRegion_Pool <object, object>(RegionName, true, caching, m_listener, locators, "__TESTPOOL1_", true); if (writer) { m_writer = new TallyWriter <object, object>(); } else { m_writer = null; } Util.Log("region created "); AttributesMutator <object, object> at = region.AttributesMutator; at.SetCacheWriter(m_writer); }
private void ClearRegionListenersStep1() { var region0 = CacheHelper.GetVerifyRegion <object, object>(m_regionNames[0]); region0.GetSubscriptionService().RegisterAllKeys(); var attrMutator = region0.AttributesMutator; var listener = new TallyListener <object, object>(); attrMutator.SetCacheListener(listener); var writer = new TallyWriter <object, object>(); attrMutator.SetCacheWriter(writer); }
public void VerifyTallies() { IRegion <object, object> region1 = CacheHelper.GetVerifyRegion <object, object>(m_regionNames[0]); IRegion <object, object> region2 = CacheHelper.GetVerifyRegion <object, object>(m_regionNames[1]); TallyLoader <object, object> loader1 = (TallyLoader <object, object>)region1.Attributes.CacheLoader; TallyListener <object, object> listener1 = (TallyListener <object, object>)region1.Attributes.CacheListener; TallyWriter <object, object> writer1 = (TallyWriter <object, object>)region1.Attributes.CacheWriter; TallyResolver <object, object> resolver1 = (TallyResolver <object, object>)region1.Attributes.PartitionResolver; TallyLoader <object, object> loader2 = (TallyLoader <object, object>)region2.Attributes.CacheLoader; TallyListener <object, object> listener2 = (TallyListener <object, object>)region2.Attributes.CacheListener; TallyWriter <object, object> writer2 = (TallyWriter <object, object>)region2.Attributes.CacheWriter; TallyResolver <object, object> resolver2 = (TallyResolver <object, object>)region2.Attributes.PartitionResolver; loader1.ShowTallies(); writer1.ShowTallies(); listener1.ShowTallies(); resolver1.ShowTallies(); loader2.ShowTallies(); writer2.ShowTallies(); listener2.ShowTallies(); resolver2.ShowTallies(); // We don't assert for partition resolver because client metadata service may // not have fetched PR single hop info to trigger the resolver. Assert.AreEqual(1, loader1.ExpectLoads(1)); //Assert.AreEqual(1, resolver1.ExpectLoads(1)); Assert.AreEqual(1, writer1.ExpectCreates(1)); Assert.AreEqual(0, writer1.ExpectUpdates(0)); Assert.AreEqual(2, listener1.ExpectCreates(2)); Assert.AreEqual(1, listener1.ExpectUpdates(1)); Assert.AreEqual(1, loader2.ExpectLoads(1)); //Assert.AreEqual(1, resolver2.ExpectLoads(1)); Assert.AreEqual(1, writer2.ExpectCreates(1)); Assert.AreEqual(0, writer2.ExpectUpdates(0)); Assert.AreEqual(2, listener2.ExpectCreates(2)); Assert.AreEqual(1, listener2.ExpectUpdates(1)); }
public void StepOneCallbacks() { m_reg1Listener1 = new TallyListener <string, string>(); m_reg2Listener1 = new TallyListener <string, string>(); m_reg1Loader1 = new ThinClientTallyLoader(); m_reg2Loader1 = new ThinClientTallyLoader(); m_reg1Writer1 = new TallyWriter <string, string>(); m_reg2Writer1 = new TallyWriter <string, string>(); SetCacheListener(RegionNames[0], m_reg1Listener1); SetCacheLoader(RegionNames[0], m_reg1Loader1); SetCacheWriter(RegionNames[0], m_reg1Writer1); SetCacheListener(RegionNames[1], m_reg2Listener1); SetCacheLoader(RegionNames[1], m_reg2Loader1); SetCacheWriter(RegionNames[1], m_reg2Writer1); RegisterKeys(); m_reg3Listener1 = new TallyListener <string, string>(); //m_reg3Loader1 = new TallyLoader<string, string>(); m_reg3Loader1 = new ThinClientTallyLoader(); m_reg3Writer1 = new TallyWriter <string, string>(); var regionAttributesFactory = new RegionAttributesFactory <string, string>(); GIRegion region = CacheHelper.CreateRegion <string, string>(PeerRegionName, regionAttributesFactory.Create()); SetCacheListener(PeerRegionName, m_reg3Listener1); SetCacheLoader(PeerRegionName, m_reg3Loader1); SetCacheWriter(PeerRegionName, m_reg3Writer1); // Call the loader and writer Assert.IsNotNull(GetEntry(RegionNames[0], m_keys[0]), "Found null value."); Assert.IsNotNull(GetEntry(RegionNames[1], m_keys[0]), "Found null value."); Assert.IsNotNull(GetEntry(PeerRegionName, m_keys[0]), "Found null value."); CreateEntry(PeerRegionName, m_keys[1], m_vals[1]); }
public void StepFiveCallbacks() { Assert.AreEqual(1, m_reg1Listener1.Updates, "One update event was expected for region."); Assert.AreEqual(1, m_reg2Listener1.Updates, "One update event was expected for region."); m_reg1Listener2 = new TallyListener <string, string>(); m_reg2Listener2 = new TallyListener <string, string>(); m_reg1Loader2 = new ThinClientTallyLoader(); m_reg2Loader2 = new ThinClientTallyLoader(); m_reg1Writer2 = new TallyWriter <string, string>(); m_reg2Writer2 = new TallyWriter <string, string>(); SetCacheListener(RegionNames[0], m_reg1Listener2); SetCacheLoader(RegionNames[0], m_reg1Loader2); SetCacheWriter(RegionNames[0], m_reg1Writer2); SetCacheListener(RegionNames[1], m_reg2Listener2); SetCacheLoader(RegionNames[1], m_reg2Loader2); SetCacheWriter(RegionNames[1], m_reg2Writer2); m_reg3Listener2 = new TallyListener <string, string>(); //m_reg3Loader2 = new TallyLoader<string, string>(); m_reg3Loader2 = new ThinClientTallyLoader(); m_reg3Writer2 = new TallyWriter <string, string>(); SetCacheListener(PeerRegionName, m_reg3Listener2); SetCacheLoader(PeerRegionName, m_reg3Loader2); SetCacheWriter(PeerRegionName, m_reg3Writer2); // Force a fresh key get to trigger the new loaders Assert.IsNotNull(GetEntry(RegionNames[0], m_keys[2]), "Found null value."); Assert.IsNotNull(GetEntry(RegionNames[1], m_keys[2]), "Found null value."); }