正在查看: SpeedCash v6.5.1482 应用的 StreamObservers.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: SpeedCash v6.5.1482 应用的 StreamObservers.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package io.grpc.stub;
import com.google.common.base.Preconditions;
import io.grpc.ExperimentalApi;
import java.util.Iterator;
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/4694")
public final class StreamObservers {
public final class a implements Runnable {
public boolean a;
public final CallStreamObserver b;
public final Iterator c;
public a(CallStreamObserver callStreamObserver, Iterator it) {
this.b = callStreamObserver;
this.c = it;
}
@Override
public void run() {
if (this.a) {
return;
}
while (this.b.isReady() && this.c.hasNext()) {
this.b.onNext(this.c.next());
}
if (this.c.hasNext()) {
return;
}
this.a = true;
this.b.onCompleted();
}
}
public static <V> void copyWithFlowControl(Iterator<V> it, CallStreamObserver<V> callStreamObserver) {
Preconditions.checkNotNull(it, "source");
Preconditions.checkNotNull(callStreamObserver, "target");
callStreamObserver.setOnReadyHandler(new a(callStreamObserver, it));
}
public static <V> void copyWithFlowControl(Iterable<V> iterable, CallStreamObserver<V> callStreamObserver) {
Preconditions.checkNotNull(iterable, "source");
copyWithFlowControl(iterable.iterator(), callStreamObserver);
}
}