/** * @param evts Events. * @param g Grid. * @param keys Keys. */ private void checkObjectUnloadEvents(Collection<Event> evts, Ignite g, Collection<?> keys) { assertEquals(keys.size(), evts.size()); for (Event evt : evts) { CacheEvent cacheEvt = ((CacheEvent)evt); assertEquals(EVT_CACHE_REBALANCE_OBJECT_UNLOADED, cacheEvt.type()); assertEquals(g.cache(DEFAULT_CACHE_NAME).getName(), cacheEvt.cacheName()); assertEquals(g.cluster().localNode().id(), cacheEvt.node().id()); assertEquals(g.cluster().localNode().id(), cacheEvt.eventNode().id()); assertTrue("Unexpected key: " + cacheEvt.key(), keys.contains(cacheEvt.key())); } }
/** * @param evts Events. * @param g Grid. * @param keys Keys. */ protected void checkPreloadEvents(Collection<Event> evts, Ignite g, Collection<? extends Object> keys) { assertEquals(keys.size(), evts.size()); for (Event evt : evts) { CacheEvent cacheEvt = (CacheEvent)evt; assertEquals(EVT_CACHE_REBALANCE_OBJECT_LOADED, cacheEvt.type()); assertEquals(g.cache(DEFAULT_CACHE_NAME).getName(), cacheEvt.cacheName()); assertEquals(g.cluster().localNode().id(), cacheEvt.node().id()); assertEquals(g.cluster().localNode().id(), cacheEvt.eventNode().id()); assertTrue(cacheEvt.hasNewValue()); assertNotNull(cacheEvt.newValue()); assertTrue("Unexpected key: " + cacheEvt.key(), keys.contains(cacheEvt.key())); } } }
writer.writeInt(event0.partition()); writer.writeBoolean(event0.isNear()); writeNode(writer, event0.eventNode()); writer.writeObject(event0.key()); writer.writeObject(event0.xid());
/** * Constructor. * * @param cache {@link IgniteCache} instance. * @param vertx {@link Vertx} instance. */ public AsyncMultiMapImpl(IgniteCache<K, Set<V>> cache, Vertx vertx) { cache.unwrap(Ignite.class).events().localListen((IgnitePredicate<Event>)event -> { if (!(event instanceof CacheEvent)) { throw new IllegalArgumentException("Unknown event received: " + event); } CacheEvent cacheEvent = (CacheEvent)event; if (Objects.equals(cacheEvent.cacheName(), cache.getName()) && ((IgniteCacheProxy)cache).context().localNodeId().equals(cacheEvent.eventNode().id())) { K key = unmarshal(cacheEvent.key()); switch (cacheEvent.type()) { case EVT_CACHE_OBJECT_REMOVED: subs.remove(key); break; default: throw new IllegalArgumentException("Unknown event received: " + event); } } return true; }, EVT_CACHE_OBJECT_REMOVED); this.cache = cache; this.vertx = (VertxInternal) vertx; }
/** * Constructor. * * @param cache {@link IgniteCache} instance. * @param vertx {@link Vertx} instance. */ public AsyncMultiMapImpl(IgniteCache<K, Set<V>> cache, Vertx vertx) { cache.unwrap(Ignite.class).events().localListen((IgnitePredicate<Event>)event -> { if (!(event instanceof CacheEvent)) { throw new IllegalArgumentException("Unknown event received: " + event); } CacheEvent cacheEvent = (CacheEvent)event; if (Objects.equals(cacheEvent.cacheName(), cache.getName()) && ((IgniteCacheProxy)cache).context().localNodeId().equals(cacheEvent.eventNode().id())) { K key = unmarshal(cacheEvent.key()); switch (cacheEvent.type()) { case EVT_CACHE_OBJECT_REMOVED: subs.remove(key); break; default: throw new IllegalArgumentException("Unknown event received: " + event); } } return true; }, EVT_CACHE_OBJECT_REMOVED); this.cache = cache; this.vertx = (VertxInternal) vertx; }
writer.writeInt(event0.partition()); writer.writeBoolean(event0.isNear()); writeNode(writer, event0.eventNode()); writer.writeObject(event0.key()); writer.writeObject(event0.xid());