follow-up to #995 All SpanSubscription now fake QueueSubscription (#1008)

* follow-up to #995 All SpanSubscription now fake QueueSubscription

* Abide by checkstyle's rules
This commit is contained in:
Simon Baslé
2018-06-13 20:08:23 +02:00
committed by Marcin Grzejszczak
parent 9a46a0a06f
commit 79c49c5482
2 changed files with 35 additions and 30 deletions

View File

@@ -16,19 +16,18 @@
package org.springframework.cloud.sleuth.instrument.reactor;
import java.util.concurrent.atomic.AtomicBoolean;
import brave.Span;
import brave.Tracer;
import brave.Tracing;
import brave.propagation.TraceContextOrSamplingFlags;
import org.reactivestreams.Subscriber;
import org.reactivestreams.Subscription;
import reactor.core.Fuseable;
import reactor.util.Logger;
import reactor.util.Loggers;
import reactor.util.context.Context;
import java.util.concurrent.atomic.AtomicBoolean;
/**
* A trace representation of the {@link Subscriber}
*
@@ -36,32 +35,7 @@ import reactor.util.context.Context;
* @author Marcin Grzejszczak
* @since 2.0.0
*/
final class SpanSubscriber<T> extends AtomicBoolean implements SpanSubscription<T>, Fuseable.QueueSubscription<T> {
@Override
public T poll() {
return null;
}
@Override
public int requestFusion(int i) {
return Fuseable.NONE; //always negotiate to no fusion
}
@Override
public int size() {
return 0;
}
@Override
public boolean isEmpty() {
return true;
}
@Override
public void clear() {
//NO-OP
}
final class SpanSubscriber<T> extends AtomicBoolean implements SpanSubscription<T> {
private static final Logger log = Loggers.getLogger(
SpanSubscriber.class);

View File

@@ -18,9 +18,40 @@ package org.springframework.cloud.sleuth.instrument.reactor;
import org.reactivestreams.Subscription;
import reactor.core.CoreSubscriber;
import reactor.core.Fuseable;
/**
* A {@link SpanSubscription} is a {@link Subscription} that fakes being {@link Fuseable}
* (implementing {@link reactor.core.Fuseable.QueueSubscription} with default no-op methods
* and always negotiating fusion to be {@link Fuseable#NONE}).
*
* @author Marcin Grzejszczak
*/
interface SpanSubscription<T> extends Subscription, CoreSubscriber<T> {
interface SpanSubscription<T> extends Subscription, CoreSubscriber<T>, Fuseable.QueueSubscription<T> {
@Override
default T poll() {
return null;
}
@Override
default int requestFusion(int i) {
return Fuseable.NONE; //always negotiate to no fusion
}
@Override
default int size() {
return 0;
}
@Override
default boolean isEmpty() {
return true;
}
@Override
default void clear() {
//NO-OP
}
}