what-the-bank/sources/io/grpc/NameResolver.java

361 lines
14 KiB
Java
Raw Normal View History

2024-07-27 18:17:47 +07:00
package io.grpc;
import com.google.common.base.MoreObjects;
import com.google.common.base.Objects;
import com.google.common.base.Preconditions;
import com.huawei.hms.support.feature.result.CommonConstant;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.net.URI;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.concurrent.Executor;
import java.util.concurrent.ScheduledExecutorService;
/* loaded from: classes6.dex */
public abstract class NameResolver {
/* loaded from: classes6.dex */
public static abstract class Factory {
public abstract String getDefaultScheme();
public abstract NameResolver newNameResolver(URI uri, Args args);
}
/* loaded from: classes6.dex */
public interface Listener {
void onAddresses(List<EquivalentAddressGroup> list, Attributes attributes);
void onError(Status status);
}
@Documented
@Retention(RetentionPolicy.SOURCE)
/* loaded from: classes.dex */
public @interface ResolutionResultAttr {
}
/* loaded from: classes6.dex */
public static abstract class ServiceConfigParser {
public abstract ConfigOrError parseServiceConfig(Map<String, ?> map);
}
public abstract String getServiceAuthority();
public void refresh() {
}
public abstract void shutdown();
public void start(Listener listener) {
if (listener instanceof Listener2) {
start((Listener2) listener);
} else {
start(new Listener2(this, listener) { // from class: io.grpc.NameResolver.1
final NameResolver this$0;
final Listener val$listener;
{
this.this$0 = this;
this.val$listener = listener;
}
@Override // io.grpc.NameResolver.Listener2, io.grpc.NameResolver.Listener
public void onError(Status status) {
this.val$listener.onError(status);
}
@Override // io.grpc.NameResolver.Listener2
public void onResult(ResolutionResult resolutionResult) {
this.val$listener.onAddresses(resolutionResult.getAddresses(), resolutionResult.getAttributes());
}
});
}
}
public void start(Listener2 listener2) {
start((Listener) listener2);
}
/* loaded from: classes6.dex */
public static abstract class Listener2 implements Listener {
@Override // io.grpc.NameResolver.Listener
public abstract void onError(Status status);
public abstract void onResult(ResolutionResult resolutionResult);
@Override // io.grpc.NameResolver.Listener
@Deprecated
public final void onAddresses(List<EquivalentAddressGroup> list, Attributes attributes) {
onResult(ResolutionResult.newBuilder().setAddresses(list).setAttributes(attributes).build());
}
}
/* loaded from: classes6.dex */
public static final class Args {
private final ChannelLogger channelLogger;
private final int defaultPort;
private final Executor executor;
private final ProxyDetector proxyDetector;
private final ScheduledExecutorService scheduledExecutorService;
private final ServiceConfigParser serviceConfigParser;
private final SynchronizationContext syncContext;
private Args(Integer num, ProxyDetector proxyDetector, SynchronizationContext synchronizationContext, ServiceConfigParser serviceConfigParser, ScheduledExecutorService scheduledExecutorService, ChannelLogger channelLogger, Executor executor) {
this.defaultPort = ((Integer) Preconditions.checkNotNull(num, "defaultPort not set")).intValue();
this.proxyDetector = (ProxyDetector) Preconditions.checkNotNull(proxyDetector, "proxyDetector not set");
this.syncContext = (SynchronizationContext) Preconditions.checkNotNull(synchronizationContext, "syncContext not set");
this.serviceConfigParser = (ServiceConfigParser) Preconditions.checkNotNull(serviceConfigParser, "serviceConfigParser not set");
this.scheduledExecutorService = scheduledExecutorService;
this.channelLogger = channelLogger;
this.executor = executor;
}
public final ScheduledExecutorService getScheduledExecutorService() {
ScheduledExecutorService scheduledExecutorService = this.scheduledExecutorService;
if (scheduledExecutorService != null) {
return scheduledExecutorService;
}
throw new IllegalStateException("ScheduledExecutorService not set in Builder");
}
public final ChannelLogger getChannelLogger() {
ChannelLogger channelLogger = this.channelLogger;
if (channelLogger != null) {
return channelLogger;
}
throw new IllegalStateException("ChannelLogger is not set in Builder");
}
public final String toString() {
return MoreObjects.toStringHelper(this).add("defaultPort", this.defaultPort).add("proxyDetector", this.proxyDetector).add("syncContext", this.syncContext).add("serviceConfigParser", this.serviceConfigParser).add("scheduledExecutorService", this.scheduledExecutorService).add("channelLogger", this.channelLogger).add("executor", this.executor).toString();
}
public final Builder toBuilder() {
Builder builder = new Builder();
builder.setDefaultPort(this.defaultPort);
builder.setProxyDetector(this.proxyDetector);
builder.setSynchronizationContext(this.syncContext);
builder.setServiceConfigParser(this.serviceConfigParser);
builder.setScheduledExecutorService(this.scheduledExecutorService);
builder.setChannelLogger(this.channelLogger);
builder.setOffloadExecutor(this.executor);
return builder;
}
public static Builder newBuilder() {
return new Builder();
}
/* loaded from: classes6.dex */
public static final class Builder {
private ChannelLogger channelLogger;
private Integer defaultPort;
private Executor executor;
private ProxyDetector proxyDetector;
private ScheduledExecutorService scheduledExecutorService;
private ServiceConfigParser serviceConfigParser;
private SynchronizationContext syncContext;
Builder() {
}
public final Builder setDefaultPort(int i) {
this.defaultPort = Integer.valueOf(i);
return this;
}
public final Builder setProxyDetector(ProxyDetector proxyDetector) {
this.proxyDetector = (ProxyDetector) Preconditions.checkNotNull(proxyDetector);
return this;
}
public final Builder setSynchronizationContext(SynchronizationContext synchronizationContext) {
this.syncContext = (SynchronizationContext) Preconditions.checkNotNull(synchronizationContext);
return this;
}
public final Builder setScheduledExecutorService(ScheduledExecutorService scheduledExecutorService) {
this.scheduledExecutorService = (ScheduledExecutorService) Preconditions.checkNotNull(scheduledExecutorService);
return this;
}
public final Builder setServiceConfigParser(ServiceConfigParser serviceConfigParser) {
this.serviceConfigParser = (ServiceConfigParser) Preconditions.checkNotNull(serviceConfigParser);
return this;
}
public final Builder setChannelLogger(ChannelLogger channelLogger) {
this.channelLogger = (ChannelLogger) Preconditions.checkNotNull(channelLogger);
return this;
}
public final Args build() {
return new Args(this.defaultPort, this.proxyDetector, this.syncContext, this.serviceConfigParser, this.scheduledExecutorService, this.channelLogger, this.executor);
}
public final Builder setOffloadExecutor(Executor executor) {
this.executor = executor;
return this;
}
}
public final SynchronizationContext getSynchronizationContext() {
return this.syncContext;
}
public final ServiceConfigParser getServiceConfigParser() {
return this.serviceConfigParser;
}
public final ProxyDetector getProxyDetector() {
return this.proxyDetector;
}
public final Executor getOffloadExecutor() {
return this.executor;
}
public final int getDefaultPort() {
return this.defaultPort;
}
}
/* loaded from: classes6.dex */
public static final class ResolutionResult {
private final List<EquivalentAddressGroup> addresses;
private final Attributes attributes;
private final ConfigOrError serviceConfig;
ResolutionResult(List<EquivalentAddressGroup> list, Attributes attributes, ConfigOrError configOrError) {
this.addresses = Collections.unmodifiableList(new ArrayList(list));
this.attributes = (Attributes) Preconditions.checkNotNull(attributes, "attributes");
this.serviceConfig = configOrError;
}
public static Builder newBuilder() {
return new Builder();
}
public final Builder toBuilder() {
return newBuilder().setAddresses(this.addresses).setAttributes(this.attributes).setServiceConfig(this.serviceConfig);
}
public final String toString() {
return MoreObjects.toStringHelper(this).add("addresses", this.addresses).add("attributes", this.attributes).add("serviceConfig", this.serviceConfig).toString();
}
public final boolean equals(Object obj) {
if (!(obj instanceof ResolutionResult)) {
return false;
}
ResolutionResult resolutionResult = (ResolutionResult) obj;
return Objects.equal(this.addresses, resolutionResult.addresses) && Objects.equal(this.attributes, resolutionResult.attributes) && Objects.equal(this.serviceConfig, resolutionResult.serviceConfig);
}
public final int hashCode() {
return Objects.hashCode(this.addresses, this.attributes, this.serviceConfig);
}
/* loaded from: classes6.dex */
public static final class Builder {
private List<EquivalentAddressGroup> addresses = Collections.emptyList();
private Attributes attributes = Attributes.EMPTY;
private ConfigOrError serviceConfig;
Builder() {
}
public final ResolutionResult build() {
return new ResolutionResult(this.addresses, this.attributes, this.serviceConfig);
}
public final Builder setServiceConfig(ConfigOrError configOrError) {
this.serviceConfig = configOrError;
return this;
}
public final Builder setAttributes(Attributes attributes) {
this.attributes = attributes;
return this;
}
public final Builder setAddresses(List<EquivalentAddressGroup> list) {
this.addresses = list;
return this;
}
}
public final ConfigOrError getServiceConfig() {
return this.serviceConfig;
}
public final Attributes getAttributes() {
return this.attributes;
}
public final List<EquivalentAddressGroup> getAddresses() {
return this.addresses;
}
}
/* loaded from: classes6.dex */
public static final class ConfigOrError {
static final boolean $assertionsDisabled = false;
private final Object config;
private final Status status;
public static ConfigOrError fromConfig(Object obj) {
return new ConfigOrError(obj);
}
public static ConfigOrError fromError(Status status) {
return new ConfigOrError(status);
}
private ConfigOrError(Object obj) {
this.config = Preconditions.checkNotNull(obj, "config");
this.status = null;
}
private ConfigOrError(Status status) {
this.config = null;
this.status = (Status) Preconditions.checkNotNull(status, CommonConstant.KEY_STATUS);
Preconditions.checkArgument(!status.isOk(), "cannot use OK status: %s", status);
}
public final boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null || getClass() != obj.getClass()) {
return false;
}
ConfigOrError configOrError = (ConfigOrError) obj;
return Objects.equal(this.status, configOrError.status) && Objects.equal(this.config, configOrError.config);
}
public final int hashCode() {
return Objects.hashCode(this.status, this.config);
}
public final String toString() {
if (this.config != null) {
return MoreObjects.toStringHelper(this).add("config", this.config).toString();
}
return MoreObjects.toStringHelper(this).add("error", this.status).toString();
}
public final Status getError() {
return this.status;
}
public final Object getConfig() {
return this.config;
}
}
}