<T, U> void addListener(final AtomicReference<State> stateRef, final BiConsumer<T, U> consumer, final T p1, final U p2) { if (! stateRef.compareAndSet(this, new UnfinishedWithListenerState<T, U>(this,consumer, p1, p2))) { stateRef.get().addListener(stateRef, consumer, p1, p2); } Logs.REMOTING.tracef("Added callback (delayed) %s(%s, %s)", consumer, p1, p2); } }
<T, U> void addListener(final AtomicReference<State> stateRef, final BiConsumer<T, U> consumer, final T p1, final U p2) { if (! stateRef.compareAndSet(this, new UnfinishedWithListenerState<T, U>(this,consumer, p1, p2))) { stateRef.get().addListener(stateRef, consumer, p1, p2); } Logs.REMOTING.tracef("Added callback (delayed) %s(%s, %s)", consumer, p1, p2); } }
<T, U> void addListener(final AtomicReference<State> stateRef, final BiConsumer<T, U> consumer, final T p1, final U p2) { if (! stateRef.compareAndSet(this, new UnfinishedWithListenerState<T, U>(this,consumer, p1, p2))) { stateRef.get().addListener(stateRef, consumer, p1, p2); } Logs.REMOTING.tracef("Added callback (delayed) %s(%s, %s)", consumer, p1, p2); } }