导航菜单

页面标题

页面副标题

⁣逼‌多​多⁣ v3.6.2 - StreamObservers.java 源代码

正在查看: ⁣逼‌多​多⁣ v3.6.2 应用的 StreamObservers.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package io.grpc.stub;

import io.grpc.ExperimentalApi;
import java.util.Iterator;
import q.l;

@ExperimentalApi("https://github.com/grpc/grpc-java/issues/4694")
@Deprecated
public final class StreamObservers {
    public static <V> void copyWithFlowControl(final Iterator<V> it, final CallStreamObserver<V> callStreamObserver) {
        l.o(it, "source");
        l.o(callStreamObserver, "target");
        callStreamObserver.setOnReadyHandler(new Runnable() {
            private boolean completed;

            @Override
            public void run() {
                if (this.completed) {
                    return;
                }
                while (CallStreamObserver.this.isReady() && it.hasNext()) {
                    CallStreamObserver.this.onNext(it.next());
                }
                if (it.hasNext()) {
                    return;
                }
                this.completed = true;
                CallStreamObserver.this.onCompleted();
            }
        });
    }

    public static <V> void copyWithFlowControl(Iterable<V> iterable, CallStreamObserver<V> callStreamObserver) {
        l.o(iterable, "source");
        copyWithFlowControl(iterable.iterator(), callStreamObserver);
    }
}