正在查看: SpeedCash v6.5.1482 应用的 MutableHandlerRegistry.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: SpeedCash v6.5.1482 应用的 MutableHandlerRegistry.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package io.grpc.util;
import io.grpc.BindableService;
import io.grpc.ExperimentalApi;
import io.grpc.HandlerRegistry;
import io.grpc.MethodDescriptor;
import io.grpc.ServerMethodDefinition;
import io.grpc.ServerServiceDefinition;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import javax.annotation.Nullable;
import javax.annotation.concurrent.ThreadSafe;
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/933")
@ThreadSafe
public final class MutableHandlerRegistry extends HandlerRegistry {
public final ConcurrentMap<String, ServerServiceDefinition> a = new ConcurrentHashMap();
@Nullable
public ServerServiceDefinition addService(ServerServiceDefinition serverServiceDefinition) {
return this.a.put(serverServiceDefinition.getServiceDescriptor().getName(), serverServiceDefinition);
}
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/2222")
public List<ServerServiceDefinition> getServices() {
return Collections.unmodifiableList(new ArrayList(this.a.values()));
}
@Nullable
public ServerMethodDefinition<?, ?> lookupMethod(String str, @Nullable String str2) {
ServerServiceDefinition serverServiceDefinition;
String extractFullServiceName = MethodDescriptor.extractFullServiceName(str);
if (extractFullServiceName == null || (serverServiceDefinition = this.a.get(extractFullServiceName)) == null) {
return null;
}
return serverServiceDefinition.getMethod(str);
}
public boolean removeService(ServerServiceDefinition serverServiceDefinition) {
return this.a.remove(serverServiceDefinition.getServiceDescriptor().getName(), serverServiceDefinition);
}
@Nullable
public ServerServiceDefinition addService(BindableService bindableService) {
return addService(bindableService.bindService());
}
}