public long incRefToStreamAndSession(final int streamId, final int sessionId) { return refCountByStreamIdAndSessionIdMap.incrementAndGet(Hashing.compoundKey(streamId, sessionId)); }
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); } } }
/** * Get the {@link SystemCounterDescriptor} for a given id. * * @param id for the descriptor. * @return the descriptor if found otherwise null. */ public static SystemCounterDescriptor get(final int id) { return DESCRIPTOR_BY_ID_MAP.get(id); }
void snapshot(final ConsensusModuleSnapshotTaker snapshotTaker) { final Long2LongHashMap.EntryIterator iter = timerIdByCorrelationIdMap.entrySet().iterator(); while (iter.hasNext()) { iter.next(); final long correlationId = iter.getLongKey(); final long deadline = timerWheel.deadline(iter.getLongValue()); snapshotTaker.snapshotTimer(correlationId, deadline); } } }
/** * 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); }
public ClientSession getClientSession(final long clusterSessionId) { return sessionByIdMap.get(clusterSessionId); }
/** * Add a new subscriber to this image so their position can be tracked for flow control. * * @param subscriberPosition for the subscriber to be added. */ public void addSubscriber(final ReadablePosition subscriberPosition) { subscriberPositions = ArrayUtil.add(subscriberPositions, subscriberPosition); }
public void cancelRead(final SendChannelEndpoint transport) { transports = ArrayUtil.remove(transports, transport); }
public long decRefToStreamAndSession(final int streamId, final int sessionId) { final long key = Hashing.compoundKey(streamId, sessionId); final long count = refCountByStreamIdAndSessionIdMap.decrementAndGet(key); if (-1 == count) { refCountByStreamIdAndSessionIdMap.remove(key); throw new IllegalStateException( "could not find stream Id + session Id to decrement: " + streamId + " " + sessionId); } return count; }
/** * Clear down the cache of buffers by session for reassembling messages. */ public void clear() { builderBySessionIdMap.clear(); }
/** * Has the given leadershipTermId already been appended? * * @param leadershipTermId to check * @return true if term was already appended or false if not. */ public boolean hasTermBeenAppended(final long leadershipTermId) { final int index = (int)indexByLeadershipTermIdMap.get(leadershipTermId); return (NULL_VALUE != index); }
public int incRefToStream(final int streamId) { return refCountByStreamIdMap.incrementAndGet(streamId); }
private void cancelMissedTimers() { missedTimersSet.removeIf(timerService::cancelTimer); }
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); } } }
/** * 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); }
/** * Add a new member to an array of {@link ClusterMember}s. * * @param oldMembers to add to. * @param newMember to add. * @return a new array containing the old members plus the new member. */ public static ClusterMember[] addMember(final ClusterMember[] oldMembers, final ClusterMember newMember) { return ArrayUtil.add(oldMembers, newMember); }
/** * Clear down the cache of buffers by session for reassembling messages. */ public void clear() { builderBySessionIdMap.clear(); }
void addImage(final Image image) { images = ArrayUtil.add(images, image); }