private void idle() { checkInterruptedStatus(); aeronClientInvoker.invoke(); idleStrategy.idle(); }
private void awaitConnectedPublication(final long deadlineNs) { while (!publication.isConnected()) { checkDeadline(deadlineNs, "awaiting connection to cluster"); idleStrategy.idle(); } }
private void idle(final int workCount) { checkInterruptedStatus(); aeronClientInvoker.invoke(); idleStrategy.idle(workCount); }
public void idle() { checkInterruptedStatus(); checkForClockTick(); idleStrategy.idle(); }
public void idle(final int workCount) { checkInterruptedStatus(); checkForClockTick(); idleStrategy.idle(workCount); }
private Image awaitImage(final int sessionId, final Subscription subscription) { idleStrategy.reset(); Image image; while ((image = subscription.imageBySessionId(sessionId)) == null) { checkInterruptedStatus(); idleStrategy.idle(); } return image; }
protected void checkResultAndIdle(final long result) { checkResult(result); checkInterruptedStatus(); invokeAeronClient(); idleStrategy.idle(); }
public static void pingHandler( final Publication pongPublication, final DirectBuffer buffer, final int offset, final int length) { if (pongPublication.offer(buffer, offset, length) > 0L) { return; } PING_HANDLER_IDLE_STRATEGY.reset(); while (pongPublication.offer(buffer, offset, length) < 0L) { PING_HANDLER_IDLE_STRATEGY.idle(); } } }
private void pollNextResponse(final long deadlineNs, final EgressPoller poller) { idleStrategy.reset(); while (poller.poll() <= 0 && !poller.isPollComplete()) { checkDeadline(deadlineNs, "awaiting response"); idleStrategy.idle(); } }
private int awaitRecordingCounter(final int sessionId, final CountersReader counters) { idleStrategy.reset(); int counterId = RecordingPos.findCounterIdBySession(counters, sessionId); while (NULL_COUNTER_ID == counterId) { checkInterruptedStatus(); idleStrategy.idle(); counterId = RecordingPos.findCounterIdBySession(counters, sessionId); } return counterId; }
private void awaitConnection(final long deadlineNs, final ControlResponsePoller poller, final long correlationId) { idleStrategy.reset(); while (!poller.subscription().isConnected()) { checkDeadline(deadlineNs, "failed to establish response connection", correlationId); idleStrategy.idle(); invokeAeronClient(); } }
private void awaitActiveLog() { idleStrategy.reset(); while (null == activeLogEvent) { serviceAdapter.poll(); checkInterruptedStatus(); heartbeatCounter.setOrdered(epochClock.time()); idleStrategy.idle(); } }
private ReadableCounter awaitClusterRoleCounter(final CountersReader counters) { idleStrategy.reset(); int counterId = ClusterNodeRole.findCounterId(counters); while (NULL_COUNTER_ID == counterId) { checkInterruptedStatus(); idleStrategy.idle(); counterId = ClusterNodeRole.findCounterId(counters); } return new ReadableCounter(counters, counterId); }
private int awaitRecoveryCounter(final CountersReader counters) { idleStrategy.reset(); int counterId = RecoveryState.findCounterId(counters); while (NULL_COUNTER_ID == counterId) { checkInterruptedStatus(); idleStrategy.idle(); heartbeatCounter.setOrdered(epochClock.time()); counterId = RecoveryState.findCounterId(counters); } return counterId; }
private ReadableCounter awaitCommitPositionCounter(final CountersReader counters) { idleStrategy.reset(); int counterId = CommitPos.findCounterId(counters); while (NULL_COUNTER_ID == counterId) { checkInterruptedStatus(); idleStrategy.idle(); heartbeatCounter.setOrdered(epochClock.time()); counterId = CommitPos.findCounterId(counters); } return new ReadableCounter(counters, counterId); }
private void awaitRecordingComplete( final long recordingId, final long position, final CountersReader counters, final int counterId, final AeronArchive archive) { idleStrategy.reset(); do { idleStrategy.idle(); checkInterruptedStatus(); if (!RecordingPos.isActive(counters, counterId, recordingId)) { throw new ClusterException("recording has stopped unexpectedly: " + recordingId); } archive.checkForErrorResponse(); } while (counters.getCounterValue(counterId) < position); }
private AtomicCounter awaitHeartbeatCounter(final CountersReader counters) { idleStrategy.reset(); int counterId = ServiceHeartbeat.findCounterId(counters, ctx.serviceId()); while (NULL_COUNTER_ID == counterId) { checkInterruptedStatus(); idleStrategy.idle(); counterId = ServiceHeartbeat.findCounterId(counters, ctx.serviceId()); } return new AtomicCounter(counters.valuesBuffer(), counterId); }
private void loadState(final Image image) { final ServiceSnapshotLoader snapshotLoader = new ServiceSnapshotLoader(image, this); while (true) { final int fragments = snapshotLoader.poll(); if (snapshotLoader.isDone()) { break; } if (fragments == 0) { checkInterruptedStatus(); if (image.isClosed()) { throw new ClusterException("snapshot ended unexpectedly"); } idleStrategy.idle(fragments); } } }
private void pollNextResponse(final long correlationId, final long deadlineNs, final ControlResponsePoller poller) { idleStrategy.reset(); while (true) { final int fragments = poller.poll(); if (poller.isPollComplete()) { break; } if (fragments > 0) { continue; } if (!poller.subscription().isConnected()) { throw new ArchiveException("subscription to archive is not connected"); } checkDeadline(deadlineNs, "awaiting response", correlationId); idleStrategy.idle(); invokeAeronClient(); } }
private long sendChallengeResponse(final long sessionId, final byte[] encodedCredentials, final long deadlineNs) { final long correlationId = aeron.nextCorrelationId(); final ChallengeResponseEncoder challengeResponseEncoder = new ChallengeResponseEncoder(); final ExpandableArrayBuffer buffer = new ExpandableArrayBuffer(); challengeResponseEncoder .wrapAndApplyHeader(buffer, 0, messageHeaderEncoder) .correlationId(correlationId) .clusterSessionId(sessionId) .putEncodedCredentials(encodedCredentials, 0, encodedCredentials.length); idleStrategy.reset(); while (true) { final long result = publication.offer(buffer); if (result > 0) { break; } checkResult(result); checkDeadline(deadlineNs, "failed to connect to cluster"); idleStrategy.idle(); } return correlationId; }