This is an automated email from the ASF dual-hosted git repository.
earthchen pushed a commit to branch 3.1
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/3.1 by this push:
new beeca4a4ab Abstract the disableAutoFlowControl method of
CallStreamObserver (#10406)
beeca4a4ab is described below
commit beeca4a4ab10faeb0489b5e0eb6b881cc1afbe4d
Author: Kunshuai Zhu <[email protected]>
AuthorDate: Thu Aug 4 20:24:53 2022 +0800
Abstract the disableAutoFlowControl method of CallStreamObserver (#10406)
* Abstract the disableAutoFlowControl method of CallStreamObserver
* Abstract the disableAutoFlowControl method of CallStreamObserver
---
.../org/apache/dubbo/rpc/protocol/tri/ClientStreamObserver.java | 4 +++-
.../org/apache/dubbo/rpc/protocol/tri/ServerStreamObserver.java | 5 +++--
.../apache/dubbo/rpc/protocol/tri/observer/CallStreamObserver.java | 7 +++++++
.../rpc/protocol/tri/observer/ClientCallToObserverAdapter.java | 2 +-
.../rpc/protocol/tri/observer/ServerCallToObserverAdapter.java | 2 +-
5 files changed, 15 insertions(+), 5 deletions(-)
diff --git
a/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/ClientStreamObserver.java
b/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/ClientStreamObserver.java
index b28499a77f..d20d2f56b1 100644
---
a/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/ClientStreamObserver.java
+++
b/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/ClientStreamObserver.java
@@ -29,6 +29,8 @@ public interface ClientStreamObserver<T> extends
CallStreamObserver<T> {
* request()} may not be called before the call is started, a number of
initial requests may be
* specified.
*/
- void disableAutoRequest();
+ default void disableAutoRequest() {
+ disableAutoFlowControl();
+ }
}
diff --git
a/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/ServerStreamObserver.java
b/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/ServerStreamObserver.java
index 3ca3f1d125..9d3a9b2641 100644
---
a/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/ServerStreamObserver.java
+++
b/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/ServerStreamObserver.java
@@ -21,7 +21,8 @@ import
org.apache.dubbo.rpc.protocol.tri.observer.CallStreamObserver;
public interface ServerStreamObserver<T> extends CallStreamObserver<T> {
-
- void disableAutoInboundFlowControl();
+ default void disableAutoInboundFlowControl() {
+ disableAutoFlowControl();
+ }
}
diff --git
a/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/observer/CallStreamObserver.java
b/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/observer/CallStreamObserver.java
index 8f0037fd92..362ab9ed4b 100644
---
a/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/observer/CallStreamObserver.java
+++
b/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/observer/CallStreamObserver.java
@@ -43,5 +43,12 @@ public interface CallStreamObserver<T> extends
StreamObserver<T> {
*/
void setCompression(String compression);
+ /**
+ * Swaps to manual flow control where no message will be delivered to
{@link
+ * StreamObserver#onNext(Object)} unless it is {@link #request
request()}ed. Since {@code
+ * request()} may not be called before the call is started, a number of
initial requests may be
+ * specified.
+ */
+ void disableAutoFlowControl();
}
diff --git
a/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/observer/ClientCallToObserverAdapter.java
b/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/observer/ClientCallToObserverAdapter.java
index 8002d2ef67..37f17694c3 100644
---
a/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/observer/ClientCallToObserverAdapter.java
+++
b/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/observer/ClientCallToObserverAdapter.java
@@ -76,7 +76,7 @@ public class ClientCallToObserverAdapter<T> extends
CancelableStreamObserver<T>
}
@Override
- public void disableAutoRequest() {
+ public void disableAutoFlowControl() {
call.setAutoRequest(false);
}
}
diff --git
a/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/observer/ServerCallToObserverAdapter.java
b/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/observer/ServerCallToObserverAdapter.java
index 8329dda8da..edcd555a21 100644
---
a/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/observer/ServerCallToObserverAdapter.java
+++
b/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/observer/ServerCallToObserverAdapter.java
@@ -105,7 +105,7 @@ public class ServerCallToObserverAdapter<T> extends
CancelableStreamObserver<T>
}
@Override
- public void disableAutoInboundFlowControl() {
+ public void disableAutoFlowControl() {
call.disableAutoRequestN();
}