/** * Get the {@link ToggleState} for a given control toggle. * * @param controlToggle to get the current state for. * @return the state for the current control toggle. * @throws ClusterException if the counter is not one of the valid values. */ public static ToggleState get(final AtomicCounter controlToggle) { final long toggleValue = controlToggle.get(); if (toggleValue < 0 || toggleValue > (STATES.length - 1)) { throw new ClusterException("invalid toggle value: " + toggleValue); } return STATES[(int)toggleValue]; } }
private AtomicCounter fakeCounter() { final AtomicLong value = new AtomicLong(); final AtomicCounter atomicCounter = mock(AtomicCounter.class); final Answer<Long> get = inv -> value.get(); final Answer<?> set = inv -> { value.set(inv.getArgument(0)); return null; }; final Answer<?> add = (inv) -> value.getAndAdd(inv.getArgument(0)); when(atomicCounter.get()).then(get); when(atomicCounter.getWeak()).then(get); doAnswer(set).when(atomicCounter).set(anyLong()); doAnswer(set).when(atomicCounter).setOrdered(anyLong()); doAnswer(set).when(atomicCounter).setWeak(anyLong()); when(atomicCounter.getAndAdd(anyLong())).then(add); when(atomicCounter.getAndAddOrdered(anyLong())).then(add); return atomicCounter; }
/** * Get the {@link State} encoded in an {@link AtomicCounter}. * * @param counter to get the current state for. * @return the state for the {@link ConsensusModule}. * @throws ClusterException if the counter is not one of the valid values. */ public static State get(final AtomicCounter counter) { final long code = counter.get(); if (code < 0 || code > (STATES.length - 1)) { throw new ClusterException("invalid state counter code: " + code); } return STATES[(int)code]; } }
public void indicateActive() { final long currentStatus = statusIndicator.get(); if (currentStatus != ChannelEndpointStatus.INITIALIZING) { throw new IllegalStateException( "channel cannot be registered unless INITALIZING: status=" + status(currentStatus)); } statusIndicator.setOrdered(ChannelEndpointStatus.ACTIVE); }
public void indicateActive() { final long currentStatus = statusIndicator.get(); if (currentStatus != ChannelEndpointStatus.INITIALIZING) { throw new AeronException( "channel cannot be registered unless INITIALISING: status=" + status(currentStatus)); } statusIndicator.setOrdered(ChannelEndpointStatus.ACTIVE); }
@Test(timeout = 10_000) public void shouldTakeMultipleSnapshots() throws Exception { final AtomicLong serviceMsgCounter = new AtomicLong(0); launchService(serviceMsgCounter); connectClient(); final CountersReader counters = aeronCluster.context().aeron().countersReader(); final AtomicCounter controlToggle = ClusterControl.findControlToggle(counters); assertNotNull(controlToggle); for (int i = 0; i < 3; i++) { assertTrue(ClusterControl.ToggleState.SNAPSHOT.toggle(controlToggle)); while (controlToggle.get() != ClusterControl.ToggleState.NEUTRAL.code()) { TestUtil.checkInterruptedStatus(); Thread.sleep(1); } } assertThat(snapshotCount.get(), is(3L)); }
public long get() { return value.get(); }
public long get() { return value.get(); }
@Override public long getValue() { return counter.get(); }
long bytesInBuffer() { return bytesInBuffer.get(); }
/** * Get the {@link ToggleState} for a given control toggle. * * @param controlToggle to get the current state for. * @return the state for the current control toggle. * @throws ClusterException if the counter is not one of the valid values. */ public static ToggleState get(final AtomicCounter controlToggle) { final long toggleValue = controlToggle.get(); if (toggleValue < 0 || toggleValue > (STATES.length - 1)) { throw new ClusterException("invalid toggle value: " + toggleValue); } return STATES[(int)toggleValue]; } }
/** * Get the {@link State} encoded in an {@link AtomicCounter}. * * @param counter to get the current state for. * @return the state for the {@link ConsensusModule}. * @throws ClusterException if the counter is not one of the valid values. */ public static State get(final AtomicCounter counter) { final long code = counter.get(); if (code < 0 || code > (STATES.length - 1)) { throw new ClusterException("invalid state counter code: " + code); } return STATES[(int)code]; } }
public void indicateActive() { final long currentStatus = statusIndicator.get(); if (currentStatus != ChannelEndpointStatus.INITIALIZING) { throw new IllegalStateException( "channel cannot be registered unless INITALIZING: status=" + status(currentStatus)); } statusIndicator.setOrdered(ChannelEndpointStatus.ACTIVE); }
public void indicateActive() { final long currentStatus = statusIndicator.get(); if (currentStatus != ChannelEndpointStatus.INITIALIZING) { throw new IllegalStateException( "channel cannot be registered unless INITALIZING: status=" + status(currentStatus)); } statusIndicator.setOrdered(ChannelEndpointStatus.ACTIVE); }
private void assertBytesInBuffer(final int bytes) { assertEquals(bytes, bytesInBuffer.get()); }
public void indicateActive() { final long currentStatus = statusIndicator.get(); if (currentStatus != ChannelEndpointStatus.INITIALIZING) { throw new AeronException( "channel cannot be registered unless INITIALISING: status=" + status(currentStatus)); } statusIndicator.setOrdered(ChannelEndpointStatus.ACTIVE); }
public void indicateActive() { final long currentStatus = statusIndicator.get(); if (currentStatus != ChannelEndpointStatus.INITIALIZING) { throw new AeronException( "channel cannot be registered unless INITIALISING: status=" + status(currentStatus)); } statusIndicator.setOrdered(ChannelEndpointStatus.ACTIVE); }
public int dump(MutableDirectBuffer buffer, int offset, long now) { offset = writeArray(buffer, offset, name); offset = writeArray(buffer, offset, OPENING_CURLY_BRACE); for (int i = 0; i < labels.length; i++) { if (i != 0) { offset = writeArray(buffer, offset, COMMA); } offset = writeArray(buffer, offset, labels[i].name); offset = writeArray(buffer, offset, EQUALS); offset = writeArray(buffer, offset, DOUBLE_QUOTE); offset = writeArray(buffer, offset, labels[i].value); offset = writeArray(buffer, offset, DOUBLE_QUOTE); } offset = writeArray(buffer, offset, CLOSING_CURLY_BRACE); offset = writeArray(buffer, offset, WHITESPACE); offset = writeArray(buffer, offset, Long.toString(value.get()).getBytes(StandardCharsets.UTF_8)); offset = writeArray(buffer, offset, WHITESPACE); offset = writeArray(buffer, offset, Long.toString(now).getBytes(StandardCharsets.UTF_8)); offset = writeArray(buffer, offset, NEW_LINE); return offset; }
public int dump(MutableDirectBuffer buffer, int offset, long now) { offset = writeArray(buffer, offset, name); offset = writeArray(buffer, offset, OPENING_CURLY_BRACE); for (int i = 0; i < labels.length; i++) { if (i != 0) { offset = writeArray(buffer, offset, COMMA); } offset = writeArray(buffer, offset, labels[i].name); offset = writeArray(buffer, offset, EQUALS); offset = writeArray(buffer, offset, DOUBLE_QUOTE); offset = writeArray(buffer, offset, labels[i].value); offset = writeArray(buffer, offset, DOUBLE_QUOTE); } offset = writeArray(buffer, offset, CLOSING_CURLY_BRACE); offset = writeArray(buffer, offset, WHITESPACE); offset = writeArray(buffer, offset, Long.toString(value.get()).getBytes(StandardCharsets.UTF_8)); offset = writeArray(buffer, offset, WHITESPACE); offset = writeArray(buffer, offset, Long.toString(now).getBytes(StandardCharsets.UTF_8)); offset = writeArray(buffer, offset, NEW_LINE); return offset; }