@Override boolean casValue(AbstractFuture<?> future, Object expect, Object update) { return valueUpdater.compareAndSet(future, expect, update); } }
@Override void compareAndSetSeenExceptions( AggregateFutureState state, Set<Throwable> expect, Set<Throwable> update) { seenExceptionsUpdater.compareAndSet(state, expect, update); }
@Override boolean casListeners(AbstractFuture<?> future, Listener expect, Listener update) { return listenersUpdater.compareAndSet(future, expect, update); }
@Override boolean casWaiters(AbstractFuture<?> future, Waiter expect, Waiter update) { return waitersUpdater.compareAndSet(future, expect, update); }
@Override void compareAndSetSeenExceptions( AggregateFutureState state, Set<Throwable> expect, Set<Throwable> update) { seenExceptionsUpdater.compareAndSet(state, expect, update); }
@Override boolean casValue(AbstractFuture<?> future, Object expect, Object update) { return valueUpdater.compareAndSet(future, expect, update); } }
@Override boolean casWaiters(AbstractFuture<?> future, Waiter expect, Waiter update) { return waitersUpdater.compareAndSet(future, expect, update); }
private boolean setValue0(Object objResult) { if (RESULT_UPDATER.compareAndSet(this, null, objResult) || RESULT_UPDATER.compareAndSet(this, UNCANCELLABLE, objResult)) { checkNotifyWaiters(); return true; } return false; }
private boolean setValue0(Object objResult) { if (RESULT_UPDATER.compareAndSet(this, null, objResult) || RESULT_UPDATER.compareAndSet(this, UNCANCELLABLE, objResult)) { if (checkNotifyWaiters()) { notifyListeners(); } return true; } return false; }
public DescribableList<BuildWrapper, Descriptor<BuildWrapper>> getBuildWrappersList() { if (buildWrappers == null) { buildWrappersSetter.compareAndSet(this,null,new DescribableList<BuildWrapper,Descriptor<BuildWrapper>>(this)); } return buildWrappers; }
public DescribableList<Builder,Descriptor<Builder>> getBuildersList() { if (builders == null) { buildersSetter.compareAndSet(this,null,new DescribableList<Builder,Descriptor<Builder>>(this)); } return builders; }
public DescribableList<Publisher,Descriptor<Publisher>> getPublishersList() { if (publishers == null) { publishersSetter.compareAndSet(this,null,new DescribableList<Publisher,Descriptor<Publisher>>(this)); } return publishers; }
@Override public boolean setUncancellable() { if (RESULT_UPDATER.compareAndSet(this, null, UNCANCELLABLE)) { return true; } Object result = this.result; return !isDone0(result) || !isCancelled0(result); }
@WithBridgeMethods(List.class) protected DescribableList<Trigger<?>,TriggerDescriptor> triggers() { if (triggers == null) { triggersUpdater.compareAndSet(this,null,new DescribableList<Trigger<?>,TriggerDescriptor>(this)); } return triggers; }
/** * {@inheritDoc} * * @param mayInterruptIfRunning this value has no effect in this implementation. */ @Override public boolean cancel(boolean mayInterruptIfRunning) { if (RESULT_UPDATER.compareAndSet(this, null, CANCELLATION_CAUSE_HOLDER)) { if (checkNotifyWaiters()) { notifyListeners(); } return true; } return false; }
@Override public boolean setUncancellable() { if (RESULT_UPDATER.compareAndSet(this, null, UNCANCELLABLE)) { return true; } Object result = this.result; return !isDone0(result) || !isCancelled0(result); }
final MessageSizeEstimator.Handle estimatorHandle() { MessageSizeEstimator.Handle handle = estimatorHandle; if (handle == null) { handle = channel.config().getMessageSizeEstimator().newHandle(); if (!ESTIMATOR.compareAndSet(this, null, handle)) { handle = estimatorHandle; } } return handle; }
final MessageSizeEstimator.Handle estimatorHandle() { MessageSizeEstimator.Handle handle = estimatorHandle; if (handle == null) { handle = channel.config().getMessageSizeEstimator().newHandle(); if (!ESTIMATOR.compareAndSet(this, null, handle)) { handle = estimatorHandle; } } return handle; }
@Override public ChannelConfig setWriteBufferHighWaterMark(int writeBufferHighWaterMark) { checkPositiveOrZero(writeBufferHighWaterMark, "writeBufferHighWaterMark"); for (;;) { WriteBufferWaterMark waterMark = writeBufferWaterMark; if (writeBufferHighWaterMark < waterMark.low()) { throw new IllegalArgumentException( "writeBufferHighWaterMark cannot be less than " + "writeBufferLowWaterMark (" + waterMark.low() + "): " + writeBufferHighWaterMark); } if (WATERMARK_UPDATER.compareAndSet(this, waterMark, new WriteBufferWaterMark(waterMark.low(), writeBufferHighWaterMark, false))) { return this; } } }
@Override public ChannelConfig setWriteBufferLowWaterMark(int writeBufferLowWaterMark) { checkPositiveOrZero(writeBufferLowWaterMark, "writeBufferLowWaterMark"); for (;;) { WriteBufferWaterMark waterMark = writeBufferWaterMark; if (writeBufferLowWaterMark > waterMark.high()) { throw new IllegalArgumentException( "writeBufferLowWaterMark cannot be greater than " + "writeBufferHighWaterMark (" + waterMark.high() + "): " + writeBufferLowWaterMark); } if (WATERMARK_UPDATER.compareAndSet(this, waterMark, new WriteBufferWaterMark(writeBufferLowWaterMark, waterMark.high(), false))) { return this; } } }