/** * Free an existing session buffer to reduce memory pressure when an image goes inactive or no more * large messages are expected. * * @param sessionId to have its buffer freed * @return true if a buffer has been freed otherwise false. */ public boolean freeSessionBuffer(final int sessionId) { return null != builderBySessionIdMap.remove(sessionId); }
/** * Free an existing session buffer to reduce memory pressure when an image goes inactive or no more * large messages are expected. * * @param sessionId to have its buffer freed * @return true if a buffer has been freed otherwise false. */ public boolean freeSessionBuffer(final int sessionId) { return null != builderBySessionIdMap.remove(sessionId); }
/** * {@inheritDoc} */ public V remove(final Object key) { return remove(((Integer)key).intValue()); }
private void clusterMemberQuit(final int memberId) { clusterMembers = ClusterMember.removeMember(clusterMembers, memberId); clusterMemberByIdMap.remove(memberId); rankedPositions = new long[clusterMembers.length]; }
public void removeCoolDown(final int sessionId, final int streamId) { final StreamInterest streamInterest = streamInterestByIdMap.get(streamId); if (null != streamInterest) { final SessionInterest sessionInterest = streamInterest.sessionInterestByIdMap.get(sessionId); if (null != sessionInterest && ON_COOL_DOWN == sessionInterest.state) { streamInterest.sessionInterestByIdMap.remove(sessionId); } } }
public void removePendingSetup(final int sessionId, final int streamId) { final StreamInterest streamInterest = streamInterestByIdMap.get(streamId); if (null != streamInterest) { final SessionInterest sessionInterest = streamInterest.sessionInterestByIdMap.get(sessionId); if (null != sessionInterest && PENDING_SETUP_FRAME == sessionInterest.state) { streamInterest.sessionInterestByIdMap.remove(sessionId); } } }
public void removeSubscription(final int streamId, final int sessionId) { final StreamInterest streamInterest = streamInterestByIdMap.get(streamId); if (null == streamInterest) { throw new UnknownSubscriptionException("No subscription registered on stream " + streamId); } final SessionInterest sessionInterest = streamInterest.sessionInterestByIdMap.remove(sessionId); if (null != sessionInterest && null != sessionInterest.image) { sessionInterest.image.ifActiveGoInactive(); } streamInterest.subscribedSessionIds.remove(sessionId); if (!streamInterest.isForAllSessions && streamInterest.subscribedSessionIds.isEmpty()) { streamInterestByIdMap.remove(streamId); } }
public void removeSubscription(final int streamId) { final StreamInterest streamInterest = streamInterestByIdMap.get(streamId); if (null == streamInterest) { throw new UnknownSubscriptionException("No subscription registered on stream " + streamId); } for (final int sessionId : streamInterest.sessionInterestByIdMap.keySet()) { final SessionInterest sessionInterest = streamInterest.sessionInterestByIdMap.get(sessionId); if (!streamInterest.subscribedSessionIds.contains(sessionId)) { if (null != sessionInterest.image) { sessionInterest.image.ifActiveGoInactive(); } streamInterest.sessionInterestByIdMap.remove(sessionId); } } streamInterest.isForAllSessions = false; if (streamInterest.subscribedSessionIds.isEmpty()) { streamInterestByIdMap.remove(streamId); } }
public void addSubscription(final int streamId, final int sessionId) { StreamInterest streamInterest = streamInterestByIdMap.get(streamId); if (null == streamInterest) { streamInterest = new StreamInterest(false); streamInterestByIdMap.put(streamId, streamInterest); } streamInterest.subscribedSessionIds.add(sessionId); final SessionInterest sessionInterest = streamInterest.sessionInterestByIdMap.get(sessionId); if (null != sessionInterest && NO_INTEREST == sessionInterest.state) { streamInterest.sessionInterestByIdMap.remove(sessionId); } }
public void addSubscription(final int streamId) { final StreamInterest streamInterest = streamInterestByIdMap.get(streamId); if (null == streamInterest) { streamInterestByIdMap.put(streamId, new StreamInterest(true)); } else if (!streamInterest.isForAllSessions) { streamInterest.isForAllSessions = true; for (final int sessionId : streamInterest.sessionInterestByIdMap.keySet()) { final SessionInterest sessionInterest = streamInterest.sessionInterestByIdMap.get(sessionId); if (NO_INTEREST == sessionInterest.state) { streamInterest.sessionInterestByIdMap.remove(sessionId); } } } }
@Test public void shouldRemoveEntryAndCompactCollisionChain() { final int key = 12; final String value = "12"; intToObjectMap.put(key, value); intToObjectMap.put(13, "13"); final int collisionKey = key + intToObjectMap.capacity(); final String collisionValue = Integer.toString(collisionKey); intToObjectMap.put(collisionKey, collisionValue); intToObjectMap.put(14, "14"); assertThat(intToObjectMap.remove(key), is(value)); }
@Test public void shouldCompactCollection() { final int totalItems = 50; for (int i = 0; i < totalItems; i++) { intToObjectMap.put(i, Integer.toString(i)); } for (int i = 0, limit = totalItems - 4; i < limit; i++) { intToObjectMap.remove(i); } final int capacityBeforeCompaction = intToObjectMap.capacity(); intToObjectMap.compact(); assertThat(intToObjectMap.capacity(), lessThan(capacityBeforeCompaction)); }
@Test public void shouldRemoveEntry() { final int key = 7; final String value = "Seven"; intToObjectMap.put(key, value); Assert.assertTrue(intToObjectMap.containsKey(key)); intToObjectMap.remove(key); Assert.assertFalse(intToObjectMap.containsKey(key)); }
private void handleMemberRemovals(final long commitPosition) { ClusterMember[] newClusterMembers = clusterMembers; for (final ClusterMember member : clusterMembers) { if (member.hasRequestedRemove() && member.removalPosition() <= commitPosition) { if (member == thisMember) { expectedAckPosition = commitPosition; state(ConsensusModule.State.LEAVING); } newClusterMembers = ClusterMember.removeMember(newClusterMembers, member.id()); clusterMemberByIdMap.remove(member.id()); clusterMemberByIdMap.compact(); CloseHelper.close(member.publication()); member.publication(null); logPublisher.removePassiveFollower(member.logEndpoint()); pendingMemberRemovals--; } } clusterMembers = newClusterMembers; rankedPositions = new long[clusterMembers.length]; }
map.remove(0);
clusterMemberByIdMap.remove(memberId); clusterMemberByIdMap.compact();
/** * Free an existing session buffer to reduce memory pressure when an image goes inactive or no more * large messages are expected. * * @param sessionId to have its buffer freed * @return true if a buffer has been freed otherwise false. */ public boolean freeSessionBuffer(final int sessionId) { return null != builderBySessionIdMap.remove(sessionId); }
/** * {@inheritDoc} */ public V remove(final Object key) { return remove(((Integer)key).intValue()); }
public void removeCoolDown(final int sessionId, final int streamId) { final StreamInterest streamInterest = streamInterestByIdMap.get(streamId); if (null != streamInterest) { final SessionInterest sessionInterest = streamInterest.sessionInterestByIdMap.get(sessionId); if (null != sessionInterest && ON_COOL_DOWN == sessionInterest.state) { streamInterest.sessionInterestByIdMap.remove(sessionId); } } }
public ActorFuture<Void> onChannelClosed(TransportChannel channel) { return actor.call( () -> { final ChannelWriteQueue sendQueue = channelMap.remove(channel.getStreamId()); if (sendQueue != null) { channelList.remove(sendQueue); // re-submit pending requests so that they can be retried sendQueue.pendingWrites.forEach(Batch::onChannelClosed); } }); }