/** * 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); }
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 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); } } }
/** * {@inheritDoc} */ public V get(final Object key) { return get(((Integer)key).intValue()); }
private BufferBuilder getBufferBuilder(final int sessionId) { BufferBuilder bufferBuilder = builderBySessionIdMap.get(sessionId); if (null == bufferBuilder) { bufferBuilder = new BufferBuilder(initialBufferLength, isDirectByteBuffer); builderBySessionIdMap.put(sessionId, bufferBuilder); } return bufferBuilder; } }
private BufferBuilder getBufferBuilder(final int sessionId) { BufferBuilder bufferBuilder = builderBySessionIdMap.get(sessionId); if (null == bufferBuilder) { bufferBuilder = new BufferBuilder(initialBufferLength, isDirectByteBuffer); builderBySessionIdMap.put(sessionId, bufferBuilder); } return bufferBuilder; } }
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); } } } }
public void addPublicationImage(final PublicationImage image) { final int sessionId = image.sessionId(); final int streamId = image.streamId(); final StreamInterest streamInterest = streamInterestByIdMap.get(streamId); SessionInterest sessionInterest = streamInterest.sessionInterestByIdMap.get(sessionId); if (null == sessionInterest) { sessionInterest = new SessionInterest(ACTIVE); streamInterest.sessionInterestByIdMap.put(sessionId, sessionInterest); } else { sessionInterest.state = ACTIVE; } sessionInterest.image = image; image.activate(); }
public void removePublicationImage(final PublicationImage image) { final int sessionId = image.sessionId(); final int streamId = image.streamId(); final StreamInterest streamInterest = streamInterestByIdMap.get(streamId); if (null != streamInterest) { final SessionInterest sessionInterest = streamInterest.sessionInterestByIdMap.get(sessionId); if (null != sessionInterest && null != sessionInterest.image) { if (sessionInterest.image.correlationId() == image.correlationId()) { sessionInterest.state = ON_COOL_DOWN; sessionInterest.image = null; } } } image.ifActiveGoInactive(); }
private void placeVote(final long candidateTermId, final int candidateId, final boolean vote) { final ClusterMember candidate = clusterMemberByIdMap.get(candidateId); if (null != candidate) { memberStatusPublisher.placeVote( candidate.publication(), candidateTermId, logLeadershipTermId, logPosition, candidateId, thisMember.id(), vote); } }
public void onTerminationAck(final long logPosition, final int memberId) { if (Cluster.Role.LEADER == role && logPosition == terminationPosition) { final ClusterMember member = clusterMemberByIdMap.get(memberId); if (null != member) { member.hasSentTerminationAck(true); if (clusterTermination.canTerminate(clusterMembers, terminationPosition, cachedTimeMs)) { recordingLog.commitLogPosition(leadershipTermId, logPosition); state(ConsensusModule.State.CLOSED); ctx.terminationHook().run(); } } } }
public void onAppendedPosition(final long leadershipTermId, final long logPosition, final int followerMemberId) { if (null != election) { election.onAppendedPosition(leadershipTermId, logPosition, followerMemberId); } else if (Cluster.Role.LEADER == role && leadershipTermId == this.leadershipTermId) { final ClusterMember follower = clusterMemberByIdMap.get(followerMemberId); if (null != follower) { follower .logPosition(logPosition) .timeOfLastAppendPositionMs(cachedTimeMs); checkCatchupStop(follower); } } }
public void onSnapshotRecordingQuery(final long correlationId, final int requestMemberId) { if (null == election && Cluster.Role.LEADER == role) { final ClusterMember requester = clusterMemberByIdMap.get(requestMemberId); if (null != requester) { final RecordingLog.RecoveryPlan currentRecoveryPlan = recordingLog.createRecoveryPlan(archive, ctx.serviceCount()); memberStatusPublisher.snapshotRecording( requester.publication(), correlationId, currentRecoveryPlan, ClusterMember.encodeAsString(clusterMembers)); } } }
void onAppendedPosition(final long leadershipTermId, final long logPosition, final int followerMemberId) { final ClusterMember follower = clusterMemberByIdMap.get(followerMemberId); if (null != follower) { follower .logPosition(logPosition) .leadershipTermId(leadershipTermId) .timeOfLastAppendPositionMs(ctx.epochClock().time()); consensusModuleAgent.checkCatchupStop(follower); } }
@Test public void shouldDoPutAndThenGet() { final String value = "Seven"; intToObjectMap.put(7, value); assertThat(intToObjectMap.get(7), is(value)); }
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); } }
@Test public void shouldClearCollection() { for (int i = 0; i < 15; i++) { intToObjectMap.put(i, Integer.toString(i)); } assertThat(intToObjectMap.size(), is(15)); assertThat(intToObjectMap.get(1), is("1")); intToObjectMap.clear(); assertThat(intToObjectMap.size(), is(0)); Assert.assertNull(intToObjectMap.get(1)); }
@Test public void shouldReplaceExistingValueForTheSameKey() { final int key = 7; final String value = "Seven"; intToObjectMap.put(key, value); final String newValue = "New Seven"; final String oldValue = intToObjectMap.put(key, newValue); assertThat(intToObjectMap.get(key), is(newValue)); assertThat(oldValue, is(value)); assertThat(intToObjectMap.size(), is(1)); }
@SuppressWarnings("unused") public void onJoinCluster(final long leadershipTermId, final int memberId) { final ClusterMember member = clusterMemberByIdMap.get(memberId); if (null == election && Cluster.Role.LEADER == role && null != member && !member.hasRequestedJoin()) { if (null == member.publication()) { final ChannelUri memberStatusUri = ChannelUri.parse(ctx.memberStatusChannel()); ClusterMember.addMemberStatusPublication(member, memberStatusUri, ctx.memberStatusStreamId(), aeron); logPublisher.addPassiveFollower(member.logEndpoint()); } member.hasRequestedJoin(true); } }