mirror of https://github.com/grpc/grpc-java.git
use SimpleForwardingClientCallListener
This commit is contained in:
parent
51fd192889
commit
bbd5983d14
|
@ -17,6 +17,8 @@ import io.grpc.CallOptions;
|
||||||
import io.grpc.Channel;
|
import io.grpc.Channel;
|
||||||
import io.grpc.ClientCall;
|
import io.grpc.ClientCall;
|
||||||
import io.grpc.ClientInterceptor;
|
import io.grpc.ClientInterceptor;
|
||||||
|
import io.grpc.ForwardingClientCall;
|
||||||
|
import io.grpc.ForwardingClientCallListener;
|
||||||
import io.grpc.ManagedChannel;
|
import io.grpc.ManagedChannel;
|
||||||
import io.grpc.Metadata;
|
import io.grpc.Metadata;
|
||||||
import io.grpc.MethodDescriptor;
|
import io.grpc.MethodDescriptor;
|
||||||
|
@ -157,52 +159,19 @@ public final class PendingAuthListenerTest {
|
||||||
public <ReqT, RespT> ClientCall<ReqT, RespT> interceptCall(
|
public <ReqT, RespT> ClientCall<ReqT, RespT> interceptCall(
|
||||||
MethodDescriptor<ReqT, RespT> method, CallOptions callOptions, Channel next) {
|
MethodDescriptor<ReqT, RespT> method, CallOptions callOptions, Channel next) {
|
||||||
ClientCall<ReqT, RespT> delegate = next.newCall(method, callOptions);
|
ClientCall<ReqT, RespT> delegate = next.newCall(method, callOptions);
|
||||||
return new ClientCall<ReqT, RespT>() {
|
return new ForwardingClientCall.SimpleForwardingClientCall<ReqT, RespT>(delegate){
|
||||||
@Override
|
@Override
|
||||||
public void start(Listener<RespT> responseListener, Metadata headers) {
|
public void start(Listener<RespT> responseListener, Metadata headers) {
|
||||||
Listener<RespT> listenerWrapper = new Listener<RespT>() {
|
ClientCall.Listener<RespT> wrappedListener =
|
||||||
@Override
|
new ForwardingClientCallListener.SimpleForwardingClientCallListener<RespT>(
|
||||||
public void onHeaders(Metadata headers) {
|
responseListener){
|
||||||
responseListener.onHeaders(headers);
|
@Override
|
||||||
}
|
public void onClose(Status status, Metadata trailers) {
|
||||||
|
super.onClose(status, trailers);
|
||||||
@Override
|
closed.set(true);
|
||||||
public void onMessage(RespT message) {
|
}
|
||||||
responseListener.onMessage(message);
|
};
|
||||||
}
|
super.start(wrappedListener, headers);
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onReady() {
|
|
||||||
responseListener.onReady();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onClose(Status status, Metadata trailers) {
|
|
||||||
responseListener.onClose(status, trailers);
|
|
||||||
closed.set(true);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
delegate.start(listenerWrapper, headers);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void request(int numMessages) {
|
|
||||||
delegate.request(numMessages);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void cancel(@Nullable String message, @Nullable Throwable cause) {
|
|
||||||
delegate.cancel(message, cause);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void halfClose() {
|
|
||||||
delegate.halfClose();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void sendMessage(ReqT message) {
|
|
||||||
delegate.sendMessage(message);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -218,6 +187,7 @@ public final class PendingAuthListenerTest {
|
||||||
assertThat(closed.get()).isTrue();
|
assertThat(closed.get()).isTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private static class StringMarshaller implements MethodDescriptor.Marshaller<String> {
|
private static class StringMarshaller implements MethodDescriptor.Marshaller<String> {
|
||||||
public static final StringMarshaller INSTANCE = new StringMarshaller();
|
public static final StringMarshaller INSTANCE = new StringMarshaller();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue