stub: rm redundant call field in StreamObserverToCallListenerAdapter

All that the `call` field was used for was to call `request` and nothing else. The `request` can be done by the `adapter` field, so the `call` field is redundant.
This commit is contained in:
ZHANG Dapeng 2017-04-27 13:10:53 -07:00 committed by GitHub
parent 0d6b4184d1
commit b2b6745868
1 changed files with 11 additions and 8 deletions

View File

@ -234,8 +234,11 @@ public final class ClientCalls {
private static <ReqT, RespT> void asyncUnaryRequestCall( private static <ReqT, RespT> void asyncUnaryRequestCall(
ClientCall<ReqT, RespT> call, ReqT param, StreamObserver<RespT> responseObserver, ClientCall<ReqT, RespT> call, ReqT param, StreamObserver<RespT> responseObserver,
boolean streamingResponse) { boolean streamingResponse) {
asyncUnaryRequestCall(call, param, asyncUnaryRequestCall(
new StreamObserverToCallListenerAdapter<ReqT, RespT>(call, responseObserver, call,
param,
new StreamObserverToCallListenerAdapter<ReqT, RespT>(
responseObserver,
new CallToStreamObserverAdapter<ReqT>(call), new CallToStreamObserverAdapter<ReqT>(call),
streamingResponse), streamingResponse),
streamingResponse); streamingResponse);
@ -260,8 +263,11 @@ public final class ClientCalls {
ClientCall<ReqT, RespT> call, StreamObserver<RespT> responseObserver, ClientCall<ReqT, RespT> call, StreamObserver<RespT> responseObserver,
boolean streamingResponse) { boolean streamingResponse) {
CallToStreamObserverAdapter<ReqT> adapter = new CallToStreamObserverAdapter<ReqT>(call); CallToStreamObserverAdapter<ReqT> adapter = new CallToStreamObserverAdapter<ReqT>(call);
startCall(call, new StreamObserverToCallListenerAdapter<ReqT, RespT>( startCall(
call, responseObserver, adapter, streamingResponse), streamingResponse); call,
new StreamObserverToCallListenerAdapter<ReqT, RespT>(
responseObserver, adapter, streamingResponse),
streamingResponse);
return adapter; return adapter;
} }
@ -340,18 +346,15 @@ public final class ClientCalls {
private static class StreamObserverToCallListenerAdapter<ReqT, RespT> private static class StreamObserverToCallListenerAdapter<ReqT, RespT>
extends ClientCall.Listener<RespT> { extends ClientCall.Listener<RespT> {
private final ClientCall<ReqT, RespT> call;
private final StreamObserver<RespT> observer; private final StreamObserver<RespT> observer;
private final CallToStreamObserverAdapter<ReqT> adapter; private final CallToStreamObserverAdapter<ReqT> adapter;
private final boolean streamingResponse; private final boolean streamingResponse;
private boolean firstResponseReceived; private boolean firstResponseReceived;
StreamObserverToCallListenerAdapter( StreamObserverToCallListenerAdapter(
ClientCall<ReqT, RespT> call,
StreamObserver<RespT> observer, StreamObserver<RespT> observer,
CallToStreamObserverAdapter<ReqT> adapter, CallToStreamObserverAdapter<ReqT> adapter,
boolean streamingResponse) { boolean streamingResponse) {
this.call = call;
this.observer = observer; this.observer = observer;
this.streamingResponse = streamingResponse; this.streamingResponse = streamingResponse;
this.adapter = adapter; this.adapter = adapter;
@ -380,7 +383,7 @@ public final class ClientCalls {
if (streamingResponse && adapter.autoFlowControlEnabled) { if (streamingResponse && adapter.autoFlowControlEnabled) {
// Request delivery of the next inbound message. // Request delivery of the next inbound message.
call.request(1); adapter.request(1);
} }
} }