正在查看: 逼多多 v3.6.2 应用的 AbstractStub.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: 逼多多 v3.6.2 应用的 AbstractStub.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package io.grpc.stub;
import io.grpc.CallCredentials;
import io.grpc.CallOptions;
import io.grpc.Channel;
import io.grpc.ClientInterceptor;
import io.grpc.ClientInterceptors;
import io.grpc.Deadline;
import io.grpc.ExperimentalApi;
import io.grpc.stub.AbstractStub;
import java.util.concurrent.Executor;
import java.util.concurrent.TimeUnit;
import q.l;
public abstract class AbstractStub<S extends AbstractStub<S>> {
private final CallOptions callOptions;
private final Channel channel;
public interface StubFactory<T extends AbstractStub<T>> {
T newStub(Channel channel, CallOptions callOptions);
}
protected AbstractStub(Channel channel) {
this(channel, CallOptions.DEFAULT);
}
public static <T extends AbstractStub<T>> T newStub(StubFactory<T> stubFactory, Channel channel) {
return (T) newStub(stubFactory, channel, CallOptions.DEFAULT);
}
protected abstract S build(Channel channel, CallOptions callOptions);
public final CallOptions getCallOptions() {
return this.callOptions;
}
public final Channel getChannel() {
return this.channel;
}
public final S withCallCredentials(CallCredentials callCredentials) {
return build(this.channel, this.callOptions.withCallCredentials(callCredentials));
}
@Deprecated
public final S withChannel(Channel channel) {
return build(channel, this.callOptions);
}
public final S withCompression(String str) {
return build(this.channel, this.callOptions.withCompression(str));
}
public final S withDeadline(Deadline deadline) {
return build(this.channel, this.callOptions.withDeadline(deadline));
}
public final S withDeadlineAfter(long j, TimeUnit timeUnit) {
return build(this.channel, this.callOptions.withDeadlineAfter(j, timeUnit));
}
public final S withExecutor(Executor executor) {
return build(this.channel, this.callOptions.withExecutor(executor));
}
public final S withInterceptors(ClientInterceptor... clientInterceptorArr) {
return build(ClientInterceptors.intercept(this.channel, clientInterceptorArr), this.callOptions);
}
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/2563")
public final S withMaxInboundMessageSize(int i) {
return build(this.channel, this.callOptions.withMaxInboundMessageSize(i));
}
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/2563")
public final S withMaxOutboundMessageSize(int i) {
return build(this.channel, this.callOptions.withMaxOutboundMessageSize(i));
}
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/1869")
public final <T> S withOption(CallOptions.Key<T> key, T t) {
return build(this.channel, this.callOptions.withOption(key, t));
}
public final S withWaitForReady() {
return build(this.channel, this.callOptions.withWaitForReady());
}
protected AbstractStub(Channel channel, CallOptions callOptions) {
this.channel = (Channel) l.o(channel, "channel");
this.callOptions = (CallOptions) l.o(callOptions, "callOptions");
}
public static <T extends AbstractStub<T>> T newStub(StubFactory<T> stubFactory, Channel channel, CallOptions callOptions) {
return stubFactory.newStub(channel, callOptions);
}
}