1.server side client connection listener optimize 2. listen context and notifier updated . (#3385)
* Add gprc support-> client reconnection optimize * Add gprc support-> 1.client connection listener optimize 2.listen context an notifier updated . * Add gprc support->merge problem fix * Add gprc support->check style fixed. * Add gprc support->check style fixed and remove gRpc classes in source package.
This commit is contained in:
parent
bd0f1a31f8
commit
85a0398978
36
api/pom.xml
36
api/pom.xml
@ -41,24 +41,24 @@
|
||||
</plugin>
|
||||
|
||||
<!-- reuse when you need to update grpc model -->
|
||||
<!--<plugin>-->
|
||||
<!--<groupId>org.xolstice.maven.plugins</groupId>-->
|
||||
<!--<artifactId>protobuf-maven-plugin</artifactId>-->
|
||||
<!--<version>0.5.0</version>-->
|
||||
<!--<configuration>-->
|
||||
<!--<protocArtifact>com.google.protobuf:protoc:3.3.0:exe:osx-x86_64</protocArtifact>-->
|
||||
<!--<pluginId>grpc-java</pluginId>-->
|
||||
<!--<pluginArtifact>io.grpc:protoc-gen-grpc-java:1.20.0:exe:osx-x86_64</pluginArtifact>-->
|
||||
<!--</configuration>-->
|
||||
<!--<executions>-->
|
||||
<!--<execution>-->
|
||||
<!--<goals>-->
|
||||
<!--<goal>compile</goal>-->
|
||||
<!--<goal>compile-custom</goal>-->
|
||||
<!--</goals>-->
|
||||
<!--</execution>-->
|
||||
<!--</executions>-->
|
||||
<!--</plugin>-->
|
||||
<plugin>
|
||||
<groupId>org.xolstice.maven.plugins</groupId>
|
||||
<artifactId>protobuf-maven-plugin</artifactId>
|
||||
<version>0.5.0</version>
|
||||
<configuration>
|
||||
<protocArtifact>com.google.protobuf:protoc:3.3.0:exe:osx-x86_64</protocArtifact>
|
||||
<pluginId>grpc-java</pluginId>
|
||||
<pluginArtifact>io.grpc:protoc-gen-grpc-java:1.20.0:exe:osx-x86_64</pluginArtifact>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>compile</goal>
|
||||
<goal>compile-custom</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
|
@ -16,7 +16,6 @@
|
||||
|
||||
package com.alibaba.nacos.api.config.remote.request;
|
||||
|
||||
|
||||
/**
|
||||
* ConfigChangeListenRequest.
|
||||
* @author liuzunfei
|
||||
@ -24,7 +23,6 @@ package com.alibaba.nacos.api.config.remote.request;
|
||||
*/
|
||||
public class ConfigChangeListenRequest extends ConfigCommonRequest {
|
||||
|
||||
|
||||
private static final String LISTEN = "listen";
|
||||
|
||||
private static final String UNLISTEN = "unlisten";
|
||||
@ -37,7 +35,6 @@ public class ConfigChangeListenRequest extends ConfigCommonRequest {
|
||||
|
||||
private String operation = LISTEN;
|
||||
|
||||
|
||||
public boolean isCancelListen() {
|
||||
return UNLISTEN.equals(this.operation);
|
||||
}
|
||||
|
@ -16,14 +16,14 @@
|
||||
|
||||
package com.alibaba.nacos.api.config.remote.response;
|
||||
|
||||
import com.alibaba.nacos.api.remote.response.Response;
|
||||
import com.alibaba.nacos.api.remote.response.ResponseCode;
|
||||
import com.alibaba.nacos.api.remote.response.ServerPushResponse;
|
||||
|
||||
/**
|
||||
* ConfigChangeNotifyResponse.
|
||||
* @author liuzunfei
|
||||
* @version $Id: ConfigChangeNotifyResponse.java, v 0.1 2020年07月14日 3:20 PM liuzunfei Exp $
|
||||
*/
|
||||
public class ConfigChangeNotifyResponse extends Response {
|
||||
public class ConfigChangeNotifyResponse extends ServerPushResponse {
|
||||
|
||||
private String dataId;
|
||||
|
||||
@ -31,10 +31,6 @@ public class ConfigChangeNotifyResponse extends Response {
|
||||
|
||||
private String tenant;
|
||||
|
||||
public ConfigChangeNotifyResponse() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getType() {
|
||||
return ConfigResponseTypeConstants.CONFIG_CHANGE_NOTIFY;
|
||||
|
@ -61,8 +61,8 @@ public class ConfigQueryResponse extends Response {
|
||||
/**
|
||||
* Buid fail response.
|
||||
*
|
||||
* @param errorCode
|
||||
* @param message
|
||||
* @param errorCode errorCode.
|
||||
* @param message message.
|
||||
* @return
|
||||
*/
|
||||
public static ConfigQueryResponse buildFailResponse(int errorCode, String message) {
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,113 +0,0 @@
|
||||
/*
|
||||
* Copyright 1999-2020 Alibaba Group Holding Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
// source: nacos_grpc_service.proto
|
||||
|
||||
package com.alibaba.nacos.api.grpc;
|
||||
|
||||
public interface GrpcMetadataOrBuilder extends
|
||||
// @@protoc_insertion_point(interface_extends:GrpcMetadata)
|
||||
com.google.protobuf.MessageOrBuilder {
|
||||
|
||||
/**
|
||||
* <code>string name = 1;.</code>
|
||||
*/
|
||||
String getName();
|
||||
|
||||
/**
|
||||
* <code>string name = 1;.</code>
|
||||
*/
|
||||
com.google.protobuf.ByteString getNameBytes();
|
||||
|
||||
/**
|
||||
* <code>string client_ip = 2;.</code>
|
||||
*/
|
||||
String getClientIp();
|
||||
|
||||
/**
|
||||
* <code>string client_ip = 2;.</code>
|
||||
*/
|
||||
com.google.protobuf.ByteString getClientIpBytes();
|
||||
|
||||
/**
|
||||
* <code>string connection_id = 3;.</code>
|
||||
*/
|
||||
String getConnectionId();
|
||||
|
||||
/**
|
||||
* <code>string connection_id = 3;.</code>
|
||||
*/
|
||||
com.google.protobuf.ByteString getConnectionIdBytes();
|
||||
|
||||
/**
|
||||
* <code>.google.protobuf.Timestamp create_time = 4;.</code>
|
||||
*/
|
||||
boolean hasCreateTime();
|
||||
|
||||
/**
|
||||
* <code>.google.protobuf.Timestamp create_time = 4;.</code>
|
||||
*/
|
||||
com.google.protobuf.Timestamp getCreateTime();
|
||||
|
||||
/**
|
||||
* <code>.google.protobuf.Timestamp create_time = 4;.</code>
|
||||
*/
|
||||
com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder();
|
||||
|
||||
/**
|
||||
* <code>string version = 5;.</code>
|
||||
*/
|
||||
String getVersion();
|
||||
|
||||
/**
|
||||
* <code>string version = 5;.</code>
|
||||
*/
|
||||
com.google.protobuf.ByteString getVersionBytes();
|
||||
|
||||
/**
|
||||
* <code>map<string, string> labels = 6;.</code>
|
||||
*/
|
||||
int getLabelsCount();
|
||||
|
||||
/**
|
||||
* <code>map<string, string> labels = 6;.</code>
|
||||
*/
|
||||
boolean containsLabels(String key);
|
||||
|
||||
/**
|
||||
* Use {@link #getLabelsMap()} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
java.util.Map<String, String> getLabels();
|
||||
|
||||
/**
|
||||
* <code>map<string, string> labels = 6;.</code>
|
||||
*/
|
||||
java.util.Map<String, String> getLabelsMap();
|
||||
|
||||
/**
|
||||
* <code>map<string, string> labels = 6;.</code>
|
||||
*/
|
||||
|
||||
String getLabelsOrDefault(String key, String defaultValue);
|
||||
|
||||
/**
|
||||
* <code>map<string, string> labels = 6;.</code>
|
||||
*/
|
||||
|
||||
String getLabelsOrThrow(String key);
|
||||
}
|
@ -1,979 +0,0 @@
|
||||
/*
|
||||
* Copyright 1999-2020 Alibaba Group Holding Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
// source: nacos_grpc_service.proto
|
||||
|
||||
package com.alibaba.nacos.api.grpc;
|
||||
|
||||
/**
|
||||
* Protobuf type {@code GrpcRequest}
|
||||
*/
|
||||
public final class GrpcRequest extends
|
||||
com.google.protobuf.GeneratedMessageV3 implements
|
||||
// @@protoc_insertion_point(message_implements:GrpcRequest)
|
||||
GrpcRequestOrBuilder {
|
||||
// Use GrpcRequest.newBuilder() to construct.
|
||||
private GrpcRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
|
||||
super(builder);
|
||||
}
|
||||
private GrpcRequest() {
|
||||
type_ = "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public final com.google.protobuf.UnknownFieldSet
|
||||
getUnknownFields() {
|
||||
return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
|
||||
}
|
||||
private GrpcRequest(
|
||||
com.google.protobuf.CodedInputStream input,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
this();
|
||||
int mutable_bitField0_ = 0;
|
||||
try {
|
||||
boolean done = false;
|
||||
while (!done) {
|
||||
int tag = input.readTag();
|
||||
switch (tag) {
|
||||
case 0:
|
||||
done = true;
|
||||
break;
|
||||
default: {
|
||||
if (!input.skipField(tag)) {
|
||||
done = true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 10: {
|
||||
GrpcMetadata.Builder subBuilder = null;
|
||||
if (metadata_ != null) {
|
||||
subBuilder = metadata_.toBuilder();
|
||||
}
|
||||
metadata_ = input.readMessage(GrpcMetadata.parser(), extensionRegistry);
|
||||
if (subBuilder != null) {
|
||||
subBuilder.mergeFrom(metadata_);
|
||||
metadata_ = subBuilder.buildPartial();
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case 18: {
|
||||
String s = input.readStringRequireUtf8();
|
||||
|
||||
type_ = s;
|
||||
break;
|
||||
}
|
||||
case 26: {
|
||||
com.google.protobuf.Any.Builder subBuilder = null;
|
||||
if (body_ != null) {
|
||||
subBuilder = body_.toBuilder();
|
||||
}
|
||||
body_ = input.readMessage(com.google.protobuf.Any.parser(), extensionRegistry);
|
||||
if (subBuilder != null) {
|
||||
subBuilder.mergeFrom(body_);
|
||||
body_ = subBuilder.buildPartial();
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
|
||||
throw e.setUnfinishedMessage(this);
|
||||
} catch (java.io.IOException e) {
|
||||
throw new com.google.protobuf.InvalidProtocolBufferException(
|
||||
e).setUnfinishedMessage(this);
|
||||
} finally {
|
||||
makeExtensionsImmutable();
|
||||
}
|
||||
}
|
||||
public static final com.google.protobuf.Descriptors.Descriptor
|
||||
getDescriptor() {
|
||||
return NacosGrpcService.internal_static_GrpcRequest_descriptor;
|
||||
}
|
||||
|
||||
protected FieldAccessorTable
|
||||
internalGetFieldAccessorTable() {
|
||||
return NacosGrpcService.internal_static_GrpcRequest_fieldAccessorTable
|
||||
.ensureFieldAccessorsInitialized(
|
||||
GrpcRequest.class, GrpcRequest.Builder.class);
|
||||
}
|
||||
|
||||
public static final int TYPE_FIELD_NUMBER = 2;
|
||||
private volatile Object type_;
|
||||
/**
|
||||
* <code>string type = 2;</code>
|
||||
*/
|
||||
public String getType() {
|
||||
Object ref = type_;
|
||||
if (ref instanceof String) {
|
||||
return (String) ref;
|
||||
} else {
|
||||
com.google.protobuf.ByteString bs =
|
||||
(com.google.protobuf.ByteString) ref;
|
||||
String s = bs.toStringUtf8();
|
||||
type_ = s;
|
||||
return s;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* <code>string type = 2;</code>
|
||||
*/
|
||||
public com.google.protobuf.ByteString
|
||||
getTypeBytes() {
|
||||
Object ref = type_;
|
||||
if (ref instanceof String) {
|
||||
com.google.protobuf.ByteString b =
|
||||
com.google.protobuf.ByteString.copyFromUtf8(
|
||||
(String) ref);
|
||||
type_ = b;
|
||||
return b;
|
||||
} else {
|
||||
return (com.google.protobuf.ByteString) ref;
|
||||
}
|
||||
}
|
||||
|
||||
public static final int METADATA_FIELD_NUMBER = 1;
|
||||
private GrpcMetadata metadata_;
|
||||
/**
|
||||
* <pre>
|
||||
* Common metadata describing the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.GrpcMetadata metadata = 1;</code>
|
||||
*/
|
||||
public boolean hasMetadata() {
|
||||
return metadata_ != null;
|
||||
}
|
||||
/**
|
||||
* <pre>
|
||||
* Common metadata describing the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.GrpcMetadata metadata = 1;</code>
|
||||
*/
|
||||
public GrpcMetadata getMetadata() {
|
||||
return metadata_ == null ? GrpcMetadata.getDefaultInstance() : metadata_;
|
||||
}
|
||||
/**
|
||||
* <pre>
|
||||
* Common metadata describing the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.GrpcMetadata metadata = 1;</code>
|
||||
*/
|
||||
public GrpcMetadataOrBuilder getMetadataOrBuilder() {
|
||||
return getMetadata();
|
||||
}
|
||||
|
||||
public static final int BODY_FIELD_NUMBER = 3;
|
||||
private com.google.protobuf.Any body_;
|
||||
/**
|
||||
* <pre>
|
||||
* The primary payload for the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 3;</code>
|
||||
*/
|
||||
public boolean hasBody() {
|
||||
return body_ != null;
|
||||
}
|
||||
/**
|
||||
* <pre>
|
||||
* The primary payload for the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 3;</code>
|
||||
*/
|
||||
public com.google.protobuf.Any getBody() {
|
||||
return body_ == null ? com.google.protobuf.Any.getDefaultInstance() : body_;
|
||||
}
|
||||
/**
|
||||
* <pre>
|
||||
* The primary payload for the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 3;</code>
|
||||
*/
|
||||
public com.google.protobuf.AnyOrBuilder getBodyOrBuilder() {
|
||||
return getBody();
|
||||
}
|
||||
|
||||
private byte memoizedIsInitialized = -1;
|
||||
public final boolean isInitialized() {
|
||||
byte isInitialized = memoizedIsInitialized;
|
||||
if (isInitialized == 1) return true;
|
||||
if (isInitialized == 0) return false;
|
||||
|
||||
memoizedIsInitialized = 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
public void writeTo(com.google.protobuf.CodedOutputStream output)
|
||||
throws java.io.IOException {
|
||||
if (metadata_ != null) {
|
||||
output.writeMessage(1, getMetadata());
|
||||
}
|
||||
if (!getTypeBytes().isEmpty()) {
|
||||
com.google.protobuf.GeneratedMessageV3.writeString(output, 2, type_);
|
||||
}
|
||||
if (body_ != null) {
|
||||
output.writeMessage(3, getBody());
|
||||
}
|
||||
}
|
||||
|
||||
public int getSerializedSize() {
|
||||
int size = memoizedSize;
|
||||
if (size != -1) return size;
|
||||
|
||||
size = 0;
|
||||
if (metadata_ != null) {
|
||||
size += com.google.protobuf.CodedOutputStream
|
||||
.computeMessageSize(1, getMetadata());
|
||||
}
|
||||
if (!getTypeBytes().isEmpty()) {
|
||||
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, type_);
|
||||
}
|
||||
if (body_ != null) {
|
||||
size += com.google.protobuf.CodedOutputStream
|
||||
.computeMessageSize(3, getBody());
|
||||
}
|
||||
memoizedSize = size;
|
||||
return size;
|
||||
}
|
||||
|
||||
private static final long serialVersionUID = 0L;
|
||||
@Override
|
||||
public boolean equals(final Object obj) {
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (!(obj instanceof GrpcRequest)) {
|
||||
return super.equals(obj);
|
||||
}
|
||||
GrpcRequest other = (GrpcRequest) obj;
|
||||
|
||||
boolean result = true;
|
||||
result = result && getType()
|
||||
.equals(other.getType());
|
||||
result = result && (hasMetadata() == other.hasMetadata());
|
||||
if (hasMetadata()) {
|
||||
result = result && getMetadata()
|
||||
.equals(other.getMetadata());
|
||||
}
|
||||
result = result && (hasBody() == other.hasBody());
|
||||
if (hasBody()) {
|
||||
result = result && getBody()
|
||||
.equals(other.getBody());
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
if (memoizedHashCode != 0) {
|
||||
return memoizedHashCode;
|
||||
}
|
||||
int hash = 41;
|
||||
hash = (19 * hash) + getDescriptor().hashCode();
|
||||
hash = (37 * hash) + TYPE_FIELD_NUMBER;
|
||||
hash = (53 * hash) + getType().hashCode();
|
||||
if (hasMetadata()) {
|
||||
hash = (37 * hash) + METADATA_FIELD_NUMBER;
|
||||
hash = (53 * hash) + getMetadata().hashCode();
|
||||
}
|
||||
if (hasBody()) {
|
||||
hash = (37 * hash) + BODY_FIELD_NUMBER;
|
||||
hash = (53 * hash) + getBody().hashCode();
|
||||
}
|
||||
hash = (29 * hash) + unknownFields.hashCode();
|
||||
memoizedHashCode = hash;
|
||||
return hash;
|
||||
}
|
||||
|
||||
public static GrpcRequest parseFrom(
|
||||
java.nio.ByteBuffer data)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data);
|
||||
}
|
||||
public static GrpcRequest parseFrom(
|
||||
java.nio.ByteBuffer data,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data, extensionRegistry);
|
||||
}
|
||||
public static GrpcRequest parseFrom(
|
||||
com.google.protobuf.ByteString data)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data);
|
||||
}
|
||||
public static GrpcRequest parseFrom(
|
||||
com.google.protobuf.ByteString data,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data, extensionRegistry);
|
||||
}
|
||||
public static GrpcRequest parseFrom(byte[] data)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data);
|
||||
}
|
||||
public static GrpcRequest parseFrom(
|
||||
byte[] data,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data, extensionRegistry);
|
||||
}
|
||||
public static GrpcRequest parseFrom(java.io.InputStream input)
|
||||
throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3
|
||||
.parseWithIOException(PARSER, input);
|
||||
}
|
||||
public static GrpcRequest parseFrom(
|
||||
java.io.InputStream input,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3
|
||||
.parseWithIOException(PARSER, input, extensionRegistry);
|
||||
}
|
||||
public static GrpcRequest parseDelimitedFrom(java.io.InputStream input)
|
||||
throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3
|
||||
.parseDelimitedWithIOException(PARSER, input);
|
||||
}
|
||||
public static GrpcRequest parseDelimitedFrom(
|
||||
java.io.InputStream input,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3
|
||||
.parseDelimitedWithIOException(PARSER, input, extensionRegistry);
|
||||
}
|
||||
public static GrpcRequest parseFrom(
|
||||
com.google.protobuf.CodedInputStream input)
|
||||
throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3
|
||||
.parseWithIOException(PARSER, input);
|
||||
}
|
||||
public static GrpcRequest parseFrom(
|
||||
com.google.protobuf.CodedInputStream input,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3
|
||||
.parseWithIOException(PARSER, input, extensionRegistry);
|
||||
}
|
||||
|
||||
public Builder newBuilderForType() { return newBuilder(); }
|
||||
public static Builder newBuilder() {
|
||||
return DEFAULT_INSTANCE.toBuilder();
|
||||
}
|
||||
public static Builder newBuilder(GrpcRequest prototype) {
|
||||
return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
|
||||
}
|
||||
public Builder toBuilder() {
|
||||
return this == DEFAULT_INSTANCE
|
||||
? new Builder() : new Builder().mergeFrom(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Builder newBuilderForType(
|
||||
BuilderParent parent) {
|
||||
Builder builder = new Builder(parent);
|
||||
return builder;
|
||||
}
|
||||
/**
|
||||
* Protobuf type {@code GrpcRequest}
|
||||
*/
|
||||
public static final class Builder extends
|
||||
com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
|
||||
// @@protoc_insertion_point(builder_implements:GrpcRequest)
|
||||
GrpcRequestOrBuilder {
|
||||
public static final com.google.protobuf.Descriptors.Descriptor
|
||||
getDescriptor() {
|
||||
return NacosGrpcService.internal_static_GrpcRequest_descriptor;
|
||||
}
|
||||
|
||||
protected FieldAccessorTable
|
||||
internalGetFieldAccessorTable() {
|
||||
return NacosGrpcService.internal_static_GrpcRequest_fieldAccessorTable
|
||||
.ensureFieldAccessorsInitialized(
|
||||
GrpcRequest.class, GrpcRequest.Builder.class);
|
||||
}
|
||||
|
||||
// Construct using com.alibaba.nacos.api.grpc.GrpcRequest.newBuilder()
|
||||
private Builder() {
|
||||
maybeForceBuilderInitialization();
|
||||
}
|
||||
|
||||
private Builder(
|
||||
BuilderParent parent) {
|
||||
super(parent);
|
||||
maybeForceBuilderInitialization();
|
||||
}
|
||||
private void maybeForceBuilderInitialization() {
|
||||
if (com.google.protobuf.GeneratedMessageV3
|
||||
.alwaysUseFieldBuilders) {
|
||||
}
|
||||
}
|
||||
public Builder clear() {
|
||||
super.clear();
|
||||
type_ = "";
|
||||
|
||||
if (metadataBuilder_ == null) {
|
||||
metadata_ = null;
|
||||
} else {
|
||||
metadata_ = null;
|
||||
metadataBuilder_ = null;
|
||||
}
|
||||
if (bodyBuilder_ == null) {
|
||||
body_ = null;
|
||||
} else {
|
||||
body_ = null;
|
||||
bodyBuilder_ = null;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
public com.google.protobuf.Descriptors.Descriptor
|
||||
getDescriptorForType() {
|
||||
return NacosGrpcService.internal_static_GrpcRequest_descriptor;
|
||||
}
|
||||
|
||||
public GrpcRequest getDefaultInstanceForType() {
|
||||
return GrpcRequest.getDefaultInstance();
|
||||
}
|
||||
|
||||
public GrpcRequest build() {
|
||||
GrpcRequest result = buildPartial();
|
||||
if (!result.isInitialized()) {
|
||||
throw newUninitializedMessageException(result);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public GrpcRequest buildPartial() {
|
||||
GrpcRequest result = new GrpcRequest(this);
|
||||
result.type_ = type_;
|
||||
if (metadataBuilder_ == null) {
|
||||
result.metadata_ = metadata_;
|
||||
} else {
|
||||
result.metadata_ = metadataBuilder_.build();
|
||||
}
|
||||
if (bodyBuilder_ == null) {
|
||||
result.body_ = body_;
|
||||
} else {
|
||||
result.body_ = bodyBuilder_.build();
|
||||
}
|
||||
onBuilt();
|
||||
return result;
|
||||
}
|
||||
|
||||
public Builder clone() {
|
||||
return (Builder) super.clone();
|
||||
}
|
||||
public Builder setField(
|
||||
com.google.protobuf.Descriptors.FieldDescriptor field,
|
||||
Object value) {
|
||||
return (Builder) super.setField(field, value);
|
||||
}
|
||||
public Builder clearField(
|
||||
com.google.protobuf.Descriptors.FieldDescriptor field) {
|
||||
return (Builder) super.clearField(field);
|
||||
}
|
||||
public Builder clearOneof(
|
||||
com.google.protobuf.Descriptors.OneofDescriptor oneof) {
|
||||
return (Builder) super.clearOneof(oneof);
|
||||
}
|
||||
public Builder setRepeatedField(
|
||||
com.google.protobuf.Descriptors.FieldDescriptor field,
|
||||
int index, Object value) {
|
||||
return (Builder) super.setRepeatedField(field, index, value);
|
||||
}
|
||||
public Builder addRepeatedField(
|
||||
com.google.protobuf.Descriptors.FieldDescriptor field,
|
||||
Object value) {
|
||||
return (Builder) super.addRepeatedField(field, value);
|
||||
}
|
||||
public Builder mergeFrom(com.google.protobuf.Message other) {
|
||||
if (other instanceof GrpcRequest) {
|
||||
return mergeFrom((GrpcRequest)other);
|
||||
} else {
|
||||
super.mergeFrom(other);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public Builder mergeFrom(GrpcRequest other) {
|
||||
if (other == GrpcRequest.getDefaultInstance()) return this;
|
||||
if (!other.getType().isEmpty()) {
|
||||
type_ = other.type_;
|
||||
onChanged();
|
||||
}
|
||||
if (other.hasMetadata()) {
|
||||
mergeMetadata(other.getMetadata());
|
||||
}
|
||||
if (other.hasBody()) {
|
||||
mergeBody(other.getBody());
|
||||
}
|
||||
onChanged();
|
||||
return this;
|
||||
}
|
||||
|
||||
public final boolean isInitialized() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public Builder mergeFrom(
|
||||
com.google.protobuf.CodedInputStream input,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws java.io.IOException {
|
||||
GrpcRequest parsedMessage = null;
|
||||
try {
|
||||
parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
|
||||
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
|
||||
parsedMessage = (GrpcRequest) e.getUnfinishedMessage();
|
||||
throw e.unwrapIOException();
|
||||
} finally {
|
||||
if (parsedMessage != null) {
|
||||
mergeFrom(parsedMessage);
|
||||
}
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
private Object type_ = "";
|
||||
/**
|
||||
* <code>string type = 2;</code>
|
||||
*/
|
||||
public String getType() {
|
||||
Object ref = type_;
|
||||
if (!(ref instanceof String)) {
|
||||
com.google.protobuf.ByteString bs =
|
||||
(com.google.protobuf.ByteString) ref;
|
||||
String s = bs.toStringUtf8();
|
||||
type_ = s;
|
||||
return s;
|
||||
} else {
|
||||
return (String) ref;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* <code>string type = 2;</code>
|
||||
*/
|
||||
public com.google.protobuf.ByteString
|
||||
getTypeBytes() {
|
||||
Object ref = type_;
|
||||
if (ref instanceof String) {
|
||||
com.google.protobuf.ByteString b =
|
||||
com.google.protobuf.ByteString.copyFromUtf8(
|
||||
(String) ref);
|
||||
type_ = b;
|
||||
return b;
|
||||
} else {
|
||||
return (com.google.protobuf.ByteString) ref;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* <code>string type = 2;</code>
|
||||
*/
|
||||
public Builder setType(
|
||||
String value) {
|
||||
if (value == null) {
|
||||
throw new NullPointerException();
|
||||
}
|
||||
|
||||
type_ = value;
|
||||
onChanged();
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* <code>string type = 2;</code>
|
||||
*/
|
||||
public Builder clearType() {
|
||||
|
||||
type_ = getDefaultInstance().getType();
|
||||
onChanged();
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* <code>string type = 2;</code>
|
||||
*/
|
||||
public Builder setTypeBytes(
|
||||
com.google.protobuf.ByteString value) {
|
||||
if (value == null) {
|
||||
throw new NullPointerException();
|
||||
}
|
||||
checkByteStringIsUtf8(value);
|
||||
|
||||
type_ = value;
|
||||
onChanged();
|
||||
return this;
|
||||
}
|
||||
|
||||
private GrpcMetadata metadata_ = null;
|
||||
private com.google.protobuf.SingleFieldBuilderV3<
|
||||
GrpcMetadata, GrpcMetadata.Builder, GrpcMetadataOrBuilder> metadataBuilder_;
|
||||
/**
|
||||
* <pre>
|
||||
* Common metadata describing the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.GrpcMetadata metadata = 1;</code>
|
||||
*/
|
||||
public boolean hasMetadata() {
|
||||
return metadataBuilder_ != null || metadata_ != null;
|
||||
}
|
||||
/**
|
||||
* <pre>
|
||||
* Common metadata describing the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.GrpcMetadata metadata = 1;</code>
|
||||
*/
|
||||
public GrpcMetadata getMetadata() {
|
||||
if (metadataBuilder_ == null) {
|
||||
return metadata_ == null ? GrpcMetadata.getDefaultInstance() : metadata_;
|
||||
} else {
|
||||
return metadataBuilder_.getMessage();
|
||||
}
|
||||
}
|
||||
/**
|
||||
* <pre>
|
||||
* Common metadata describing the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.GrpcMetadata metadata = 1;</code>
|
||||
*/
|
||||
public Builder setMetadata(GrpcMetadata value) {
|
||||
if (metadataBuilder_ == null) {
|
||||
if (value == null) {
|
||||
throw new NullPointerException();
|
||||
}
|
||||
metadata_ = value;
|
||||
onChanged();
|
||||
} else {
|
||||
metadataBuilder_.setMessage(value);
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* <pre>
|
||||
* Common metadata describing the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.GrpcMetadata metadata = 1;</code>
|
||||
*/
|
||||
public Builder setMetadata(
|
||||
GrpcMetadata.Builder builderForValue) {
|
||||
if (metadataBuilder_ == null) {
|
||||
metadata_ = builderForValue.build();
|
||||
onChanged();
|
||||
} else {
|
||||
metadataBuilder_.setMessage(builderForValue.build());
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* <pre>
|
||||
* Common metadata describing the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.GrpcMetadata metadata = 1;</code>
|
||||
*/
|
||||
public Builder mergeMetadata(GrpcMetadata value) {
|
||||
if (metadataBuilder_ == null) {
|
||||
if (metadata_ != null) {
|
||||
metadata_ =
|
||||
GrpcMetadata.newBuilder(metadata_).mergeFrom(value).buildPartial();
|
||||
} else {
|
||||
metadata_ = value;
|
||||
}
|
||||
onChanged();
|
||||
} else {
|
||||
metadataBuilder_.mergeFrom(value);
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* <pre>
|
||||
* Common metadata describing the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.GrpcMetadata metadata = 1;</code>
|
||||
*/
|
||||
public Builder clearMetadata() {
|
||||
if (metadataBuilder_ == null) {
|
||||
metadata_ = null;
|
||||
onChanged();
|
||||
} else {
|
||||
metadata_ = null;
|
||||
metadataBuilder_ = null;
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* <pre>
|
||||
* Common metadata describing the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.GrpcMetadata metadata = 1;</code>
|
||||
*/
|
||||
public GrpcMetadata.Builder getMetadataBuilder() {
|
||||
|
||||
onChanged();
|
||||
return getMetadataFieldBuilder().getBuilder();
|
||||
}
|
||||
/**
|
||||
* <pre>
|
||||
* Common metadata describing the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.GrpcMetadata metadata = 1;</code>
|
||||
*/
|
||||
public GrpcMetadataOrBuilder getMetadataOrBuilder() {
|
||||
if (metadataBuilder_ != null) {
|
||||
return metadataBuilder_.getMessageOrBuilder();
|
||||
} else {
|
||||
return metadata_ == null ?
|
||||
GrpcMetadata.getDefaultInstance() : metadata_;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* <pre>
|
||||
* Common metadata describing the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.GrpcMetadata metadata = 1;</code>
|
||||
*/
|
||||
private com.google.protobuf.SingleFieldBuilderV3<
|
||||
GrpcMetadata, GrpcMetadata.Builder, GrpcMetadataOrBuilder>
|
||||
getMetadataFieldBuilder() {
|
||||
if (metadataBuilder_ == null) {
|
||||
metadataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
|
||||
GrpcMetadata, GrpcMetadata.Builder, GrpcMetadataOrBuilder>(
|
||||
getMetadata(),
|
||||
getParentForChildren(),
|
||||
isClean());
|
||||
metadata_ = null;
|
||||
}
|
||||
return metadataBuilder_;
|
||||
}
|
||||
|
||||
private com.google.protobuf.Any body_ = null;
|
||||
private com.google.protobuf.SingleFieldBuilderV3<
|
||||
com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder> bodyBuilder_;
|
||||
/**
|
||||
* <pre>
|
||||
* The primary payload for the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 3;</code>
|
||||
*/
|
||||
public boolean hasBody() {
|
||||
return bodyBuilder_ != null || body_ != null;
|
||||
}
|
||||
/**
|
||||
* <pre>
|
||||
* The primary payload for the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 3;</code>
|
||||
*/
|
||||
public com.google.protobuf.Any getBody() {
|
||||
if (bodyBuilder_ == null) {
|
||||
return body_ == null ? com.google.protobuf.Any.getDefaultInstance() : body_;
|
||||
} else {
|
||||
return bodyBuilder_.getMessage();
|
||||
}
|
||||
}
|
||||
/**
|
||||
* <pre>
|
||||
* The primary payload for the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 3;</code>
|
||||
*/
|
||||
public Builder setBody(com.google.protobuf.Any value) {
|
||||
if (bodyBuilder_ == null) {
|
||||
if (value == null) {
|
||||
throw new NullPointerException();
|
||||
}
|
||||
body_ = value;
|
||||
onChanged();
|
||||
} else {
|
||||
bodyBuilder_.setMessage(value);
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* <pre>
|
||||
* The primary payload for the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 3;</code>
|
||||
*/
|
||||
public Builder setBody(
|
||||
com.google.protobuf.Any.Builder builderForValue) {
|
||||
if (bodyBuilder_ == null) {
|
||||
body_ = builderForValue.build();
|
||||
onChanged();
|
||||
} else {
|
||||
bodyBuilder_.setMessage(builderForValue.build());
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* <pre>
|
||||
* The primary payload for the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 3;</code>
|
||||
*/
|
||||
public Builder mergeBody(com.google.protobuf.Any value) {
|
||||
if (bodyBuilder_ == null) {
|
||||
if (body_ != null) {
|
||||
body_ =
|
||||
com.google.protobuf.Any.newBuilder(body_).mergeFrom(value).buildPartial();
|
||||
} else {
|
||||
body_ = value;
|
||||
}
|
||||
onChanged();
|
||||
} else {
|
||||
bodyBuilder_.mergeFrom(value);
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* <pre>
|
||||
* The primary payload for the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 3;</code>
|
||||
*/
|
||||
public Builder clearBody() {
|
||||
if (bodyBuilder_ == null) {
|
||||
body_ = null;
|
||||
onChanged();
|
||||
} else {
|
||||
body_ = null;
|
||||
bodyBuilder_ = null;
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* <pre>
|
||||
* The primary payload for the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 3;</code>
|
||||
*/
|
||||
public com.google.protobuf.Any.Builder getBodyBuilder() {
|
||||
|
||||
onChanged();
|
||||
return getBodyFieldBuilder().getBuilder();
|
||||
}
|
||||
/**
|
||||
* <pre>
|
||||
* The primary payload for the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 3;</code>
|
||||
*/
|
||||
public com.google.protobuf.AnyOrBuilder getBodyOrBuilder() {
|
||||
if (bodyBuilder_ != null) {
|
||||
return bodyBuilder_.getMessageOrBuilder();
|
||||
} else {
|
||||
return body_ == null ?
|
||||
com.google.protobuf.Any.getDefaultInstance() : body_;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* <pre>
|
||||
* The primary payload for the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 3;</code>
|
||||
*/
|
||||
private com.google.protobuf.SingleFieldBuilderV3<
|
||||
com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder>
|
||||
getBodyFieldBuilder() {
|
||||
if (bodyBuilder_ == null) {
|
||||
bodyBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
|
||||
com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder>(
|
||||
getBody(),
|
||||
getParentForChildren(),
|
||||
isClean());
|
||||
body_ = null;
|
||||
}
|
||||
return bodyBuilder_;
|
||||
}
|
||||
public final Builder setUnknownFields(
|
||||
final com.google.protobuf.UnknownFieldSet unknownFields) {
|
||||
return this;
|
||||
}
|
||||
|
||||
public final Builder mergeUnknownFields(
|
||||
final com.google.protobuf.UnknownFieldSet unknownFields) {
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
// @@protoc_insertion_point(builder_scope:GrpcRequest)
|
||||
}
|
||||
|
||||
// @@protoc_insertion_point(class_scope:GrpcRequest)
|
||||
private static final GrpcRequest DEFAULT_INSTANCE;
|
||||
static {
|
||||
DEFAULT_INSTANCE = new GrpcRequest();
|
||||
}
|
||||
|
||||
public static GrpcRequest getDefaultInstance() {
|
||||
return DEFAULT_INSTANCE;
|
||||
}
|
||||
|
||||
private static final com.google.protobuf.Parser<GrpcRequest>
|
||||
PARSER = new com.google.protobuf.AbstractParser<GrpcRequest>() {
|
||||
public GrpcRequest parsePartialFrom(
|
||||
com.google.protobuf.CodedInputStream input,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return new GrpcRequest(input, extensionRegistry);
|
||||
}
|
||||
};
|
||||
|
||||
public static com.google.protobuf.Parser<GrpcRequest> parser() {
|
||||
return PARSER;
|
||||
}
|
||||
|
||||
@Override
|
||||
public com.google.protobuf.Parser<GrpcRequest> getParserForType() {
|
||||
return PARSER;
|
||||
}
|
||||
|
||||
public GrpcRequest getDefaultInstanceForType() {
|
||||
return DEFAULT_INSTANCE;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,85 +0,0 @@
|
||||
/*
|
||||
* Copyright 1999-2020 Alibaba Group Holding Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
// source: nacos_grpc_service.proto
|
||||
|
||||
package com.alibaba.nacos.api.grpc;
|
||||
|
||||
public interface GrpcRequestOrBuilder extends
|
||||
// @@protoc_insertion_point(interface_extends:GrpcRequest)
|
||||
com.google.protobuf.MessageOrBuilder {
|
||||
|
||||
/**
|
||||
* <code>string type = 2;</code>
|
||||
*/
|
||||
String getType();
|
||||
/**
|
||||
* <code>string type = 2;</code>
|
||||
*/
|
||||
com.google.protobuf.ByteString
|
||||
getTypeBytes();
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Common metadata describing the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.GrpcMetadata metadata = 1;</code>
|
||||
*/
|
||||
boolean hasMetadata();
|
||||
/**
|
||||
* <pre>
|
||||
* Common metadata describing the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.GrpcMetadata metadata = 1;</code>
|
||||
*/
|
||||
GrpcMetadata getMetadata();
|
||||
/**
|
||||
* <pre>
|
||||
* Common metadata describing the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.GrpcMetadata metadata = 1;</code>
|
||||
*/
|
||||
GrpcMetadataOrBuilder getMetadataOrBuilder();
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* The primary payload for the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 3;</code>
|
||||
*/
|
||||
boolean hasBody();
|
||||
/**
|
||||
* <pre>
|
||||
* The primary payload for the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 3;</code>
|
||||
*/
|
||||
com.google.protobuf.Any getBody();
|
||||
/**
|
||||
* <pre>
|
||||
* The primary payload for the resource.
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 3;</code>
|
||||
*/
|
||||
com.google.protobuf.AnyOrBuilder getBodyOrBuilder();
|
||||
}
|
@ -1,799 +0,0 @@
|
||||
/*
|
||||
* Copyright 1999-2020 Alibaba Group Holding Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
// source: nacos_grpc_service.proto
|
||||
|
||||
package com.alibaba.nacos.api.grpc;
|
||||
|
||||
/**
|
||||
* Protobuf type {@code GrpcResponse}
|
||||
*/
|
||||
public final class GrpcResponse extends com.google.protobuf.GeneratedMessageV3 implements
|
||||
// @@protoc_insertion_point(message_implements:GrpcResponse)
|
||||
GrpcResponseOrBuilder {
|
||||
|
||||
// Use GrpcResponse.newBuilder() to construct.
|
||||
private GrpcResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
|
||||
super(builder);
|
||||
}
|
||||
|
||||
private GrpcResponse() {
|
||||
code_ = 0;
|
||||
type_ = "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
|
||||
return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
|
||||
}
|
||||
|
||||
private GrpcResponse(com.google.protobuf.CodedInputStream input,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
this();
|
||||
int mutable_bitField0_ = 0;
|
||||
try {
|
||||
boolean done = false;
|
||||
while (!done) {
|
||||
int tag = input.readTag();
|
||||
switch (tag) {
|
||||
case 0:
|
||||
done = true;
|
||||
break;
|
||||
default: {
|
||||
if (!input.skipField(tag)) {
|
||||
done = true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 8: {
|
||||
|
||||
code_ = input.readInt32();
|
||||
break;
|
||||
}
|
||||
case 18: {
|
||||
com.google.protobuf.Any.Builder subBuilder = null;
|
||||
if (body_ != null) {
|
||||
subBuilder = body_.toBuilder();
|
||||
}
|
||||
body_ = input.readMessage(com.google.protobuf.Any.parser(), extensionRegistry);
|
||||
if (subBuilder != null) {
|
||||
subBuilder.mergeFrom(body_);
|
||||
body_ = subBuilder.buildPartial();
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case 26: {
|
||||
String s = input.readStringRequireUtf8();
|
||||
|
||||
type_ = s;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
|
||||
throw e.setUnfinishedMessage(this);
|
||||
} catch (java.io.IOException e) {
|
||||
throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
|
||||
} finally {
|
||||
makeExtensionsImmutable();
|
||||
}
|
||||
}
|
||||
|
||||
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
|
||||
return NacosGrpcService.internal_static_GrpcResponse_descriptor;
|
||||
}
|
||||
|
||||
protected FieldAccessorTable internalGetFieldAccessorTable() {
|
||||
return NacosGrpcService.internal_static_GrpcResponse_fieldAccessorTable
|
||||
.ensureFieldAccessorsInitialized(GrpcResponse.class, GrpcResponse.Builder.class);
|
||||
}
|
||||
|
||||
public static final int CODE_FIELD_NUMBER = 1;
|
||||
|
||||
private int code_;
|
||||
|
||||
/**
|
||||
* <code>int32 code = 1;</code>
|
||||
*/
|
||||
public int getCode() {
|
||||
return code_;
|
||||
}
|
||||
|
||||
public static final int BODY_FIELD_NUMBER = 2;
|
||||
|
||||
private com.google.protobuf.Any body_;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* reponse body
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 2;</code>
|
||||
*/
|
||||
public boolean hasBody() {
|
||||
return body_ != null;
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* reponse body
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 2;</code>
|
||||
*/
|
||||
public com.google.protobuf.Any getBody() {
|
||||
return body_ == null ? com.google.protobuf.Any.getDefaultInstance() : body_;
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* reponse body
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 2;</code>
|
||||
*/
|
||||
public com.google.protobuf.AnyOrBuilder getBodyOrBuilder() {
|
||||
return getBody();
|
||||
}
|
||||
|
||||
public static final int TYPE_FIELD_NUMBER = 3;
|
||||
|
||||
private volatile Object type_;
|
||||
|
||||
/**
|
||||
* <code>string type = 3;</code>
|
||||
*/
|
||||
public String getType() {
|
||||
Object ref = type_;
|
||||
if (ref instanceof String) {
|
||||
return (String) ref;
|
||||
} else {
|
||||
com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
|
||||
String s = bs.toStringUtf8();
|
||||
type_ = s;
|
||||
return s;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>string type = 3;</code>
|
||||
*/
|
||||
public com.google.protobuf.ByteString getTypeBytes() {
|
||||
Object ref = type_;
|
||||
if (ref instanceof String) {
|
||||
com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((String) ref);
|
||||
type_ = b;
|
||||
return b;
|
||||
} else {
|
||||
return (com.google.protobuf.ByteString) ref;
|
||||
}
|
||||
}
|
||||
|
||||
private byte memoizedIsInitialized = -1;
|
||||
|
||||
public final boolean isInitialized() {
|
||||
byte isInitialized = memoizedIsInitialized;
|
||||
if (isInitialized == 1) {
|
||||
return true;
|
||||
}
|
||||
if (isInitialized == 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
memoizedIsInitialized = 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
|
||||
if (code_ != 0) {
|
||||
output.writeInt32(1, code_);
|
||||
}
|
||||
if (body_ != null) {
|
||||
output.writeMessage(2, getBody());
|
||||
}
|
||||
if (!getTypeBytes().isEmpty()) {
|
||||
com.google.protobuf.GeneratedMessageV3.writeString(output, 3, type_);
|
||||
}
|
||||
}
|
||||
|
||||
public int getSerializedSize() {
|
||||
int size = memoizedSize;
|
||||
if (size != -1) {
|
||||
return size;
|
||||
}
|
||||
|
||||
size = 0;
|
||||
if (code_ != 0) {
|
||||
size += com.google.protobuf.CodedOutputStream.computeInt32Size(1, code_);
|
||||
}
|
||||
if (body_ != null) {
|
||||
size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getBody());
|
||||
}
|
||||
if (!getTypeBytes().isEmpty()) {
|
||||
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, type_);
|
||||
}
|
||||
memoizedSize = size;
|
||||
return size;
|
||||
}
|
||||
|
||||
private static final long serialVersionUID = 0L;
|
||||
|
||||
@Override
|
||||
public boolean equals(final Object obj) {
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (!(obj instanceof GrpcResponse)) {
|
||||
return super.equals(obj);
|
||||
}
|
||||
GrpcResponse other = (GrpcResponse) obj;
|
||||
|
||||
boolean result = true;
|
||||
result = result && (getCode() == other.getCode());
|
||||
result = result && (hasBody() == other.hasBody());
|
||||
if (hasBody()) {
|
||||
result = result && getBody().equals(other.getBody());
|
||||
}
|
||||
result = result && getType().equals(other.getType());
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
if (memoizedHashCode != 0) {
|
||||
return memoizedHashCode;
|
||||
}
|
||||
int hash = 41;
|
||||
hash = (19 * hash) + getDescriptor().hashCode();
|
||||
hash = (37 * hash) + CODE_FIELD_NUMBER;
|
||||
hash = (53 * hash) + getCode();
|
||||
if (hasBody()) {
|
||||
hash = (37 * hash) + BODY_FIELD_NUMBER;
|
||||
hash = (53 * hash) + getBody().hashCode();
|
||||
}
|
||||
hash = (37 * hash) + TYPE_FIELD_NUMBER;
|
||||
hash = (53 * hash) + getType().hashCode();
|
||||
hash = (29 * hash) + unknownFields.hashCode();
|
||||
memoizedHashCode = hash;
|
||||
return hash;
|
||||
}
|
||||
|
||||
public static GrpcResponse parseFrom(java.nio.ByteBuffer data)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data);
|
||||
}
|
||||
|
||||
public static GrpcResponse parseFrom(java.nio.ByteBuffer data,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data, extensionRegistry);
|
||||
}
|
||||
|
||||
public static GrpcResponse parseFrom(com.google.protobuf.ByteString data)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data);
|
||||
}
|
||||
|
||||
public static GrpcResponse parseFrom(com.google.protobuf.ByteString data,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data, extensionRegistry);
|
||||
}
|
||||
|
||||
public static GrpcResponse parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data);
|
||||
}
|
||||
|
||||
public static GrpcResponse parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data, extensionRegistry);
|
||||
}
|
||||
|
||||
public static GrpcResponse parseFrom(java.io.InputStream input) throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
|
||||
}
|
||||
|
||||
public static GrpcResponse parseFrom(java.io.InputStream input,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry);
|
||||
}
|
||||
|
||||
public static GrpcResponse parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
|
||||
}
|
||||
|
||||
public static GrpcResponse parseDelimitedFrom(java.io.InputStream input,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input, extensionRegistry);
|
||||
}
|
||||
|
||||
public static GrpcResponse parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
|
||||
}
|
||||
|
||||
public static GrpcResponse parseFrom(com.google.protobuf.CodedInputStream input,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry);
|
||||
}
|
||||
|
||||
public Builder newBuilderForType() {
|
||||
return newBuilder();
|
||||
}
|
||||
|
||||
public static Builder newBuilder() {
|
||||
return DEFAULT_INSTANCE.toBuilder();
|
||||
}
|
||||
|
||||
public static Builder newBuilder(GrpcResponse prototype) {
|
||||
return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
|
||||
}
|
||||
|
||||
public Builder toBuilder() {
|
||||
return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Builder newBuilderForType(BuilderParent parent) {
|
||||
Builder builder = new Builder(parent);
|
||||
return builder;
|
||||
}
|
||||
|
||||
/**
|
||||
* Protobuf type {@code GrpcResponse}
|
||||
*/
|
||||
public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
|
||||
// @@protoc_insertion_point(builder_implements:GrpcResponse)
|
||||
GrpcResponseOrBuilder {
|
||||
|
||||
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
|
||||
return NacosGrpcService.internal_static_GrpcResponse_descriptor;
|
||||
}
|
||||
|
||||
protected FieldAccessorTable internalGetFieldAccessorTable() {
|
||||
return NacosGrpcService.internal_static_GrpcResponse_fieldAccessorTable
|
||||
.ensureFieldAccessorsInitialized(GrpcResponse.class, GrpcResponse.Builder.class);
|
||||
}
|
||||
|
||||
// Construct using com.alibaba.nacos.api.grpc.GrpcResponse.newBuilder()
|
||||
private Builder() {
|
||||
maybeForceBuilderInitialization();
|
||||
}
|
||||
|
||||
private Builder(BuilderParent parent) {
|
||||
super(parent);
|
||||
maybeForceBuilderInitialization();
|
||||
}
|
||||
|
||||
private void maybeForceBuilderInitialization() {
|
||||
if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
|
||||
}
|
||||
}
|
||||
|
||||
public Builder clear() {
|
||||
super.clear();
|
||||
code_ = 0;
|
||||
|
||||
if (bodyBuilder_ == null) {
|
||||
body_ = null;
|
||||
} else {
|
||||
body_ = null;
|
||||
bodyBuilder_ = null;
|
||||
}
|
||||
type_ = "";
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
|
||||
return NacosGrpcService.internal_static_GrpcResponse_descriptor;
|
||||
}
|
||||
|
||||
public GrpcResponse getDefaultInstanceForType() {
|
||||
return GrpcResponse.getDefaultInstance();
|
||||
}
|
||||
|
||||
public GrpcResponse build() {
|
||||
GrpcResponse result = buildPartial();
|
||||
if (!result.isInitialized()) {
|
||||
throw newUninitializedMessageException(result);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public GrpcResponse buildPartial() {
|
||||
GrpcResponse result = new GrpcResponse(this);
|
||||
result.code_ = code_;
|
||||
if (bodyBuilder_ == null) {
|
||||
result.body_ = body_;
|
||||
} else {
|
||||
result.body_ = bodyBuilder_.build();
|
||||
}
|
||||
result.type_ = type_;
|
||||
onBuilt();
|
||||
return result;
|
||||
}
|
||||
|
||||
public Builder clone() {
|
||||
return (Builder) super.clone();
|
||||
}
|
||||
|
||||
public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) {
|
||||
return (Builder) super.setField(field, value);
|
||||
}
|
||||
|
||||
public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
|
||||
return (Builder) super.clearField(field);
|
||||
}
|
||||
|
||||
public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
|
||||
return (Builder) super.clearOneof(oneof);
|
||||
}
|
||||
|
||||
public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index,
|
||||
Object value) {
|
||||
return (Builder) super.setRepeatedField(field, index, value);
|
||||
}
|
||||
|
||||
public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) {
|
||||
return (Builder) super.addRepeatedField(field, value);
|
||||
}
|
||||
|
||||
public Builder mergeFrom(com.google.protobuf.Message other) {
|
||||
if (other instanceof GrpcResponse) {
|
||||
return mergeFrom((GrpcResponse) other);
|
||||
} else {
|
||||
super.mergeFrom(other);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public Builder mergeFrom(GrpcResponse other) {
|
||||
if (other == GrpcResponse.getDefaultInstance()) {
|
||||
return this;
|
||||
}
|
||||
if (other.getCode() != 0) {
|
||||
setCode(other.getCode());
|
||||
}
|
||||
if (other.hasBody()) {
|
||||
mergeBody(other.getBody());
|
||||
}
|
||||
if (!other.getType().isEmpty()) {
|
||||
type_ = other.type_;
|
||||
onChanged();
|
||||
}
|
||||
onChanged();
|
||||
return this;
|
||||
}
|
||||
|
||||
public final boolean isInitialized() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public Builder mergeFrom(com.google.protobuf.CodedInputStream input,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
|
||||
GrpcResponse parsedMessage = null;
|
||||
try {
|
||||
parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
|
||||
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
|
||||
parsedMessage = (GrpcResponse) e.getUnfinishedMessage();
|
||||
throw e.unwrapIOException();
|
||||
} finally {
|
||||
if (parsedMessage != null) {
|
||||
mergeFrom(parsedMessage);
|
||||
}
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
private int code_;
|
||||
|
||||
/**
|
||||
* <code>int32 code = 1;</code>
|
||||
*/
|
||||
public int getCode() {
|
||||
return code_;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>int32 code = 1;</code>
|
||||
*/
|
||||
public Builder setCode(int value) {
|
||||
|
||||
code_ = value;
|
||||
onChanged();
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>int32 code = 1;</code>
|
||||
*/
|
||||
public Builder clearCode() {
|
||||
|
||||
code_ = 0;
|
||||
onChanged();
|
||||
return this;
|
||||
}
|
||||
|
||||
private com.google.protobuf.Any body_ = null;
|
||||
|
||||
private com.google.protobuf.SingleFieldBuilderV3<com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder> bodyBuilder_;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* reponse body
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 2;</code>
|
||||
*/
|
||||
public boolean hasBody() {
|
||||
return bodyBuilder_ != null || body_ != null;
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* reponse body
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 2;</code>
|
||||
*/
|
||||
public com.google.protobuf.Any getBody() {
|
||||
if (bodyBuilder_ == null) {
|
||||
return body_ == null ? com.google.protobuf.Any.getDefaultInstance() : body_;
|
||||
} else {
|
||||
return bodyBuilder_.getMessage();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* reponse body
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 2;</code>
|
||||
*/
|
||||
public Builder setBody(com.google.protobuf.Any value) {
|
||||
if (bodyBuilder_ == null) {
|
||||
if (value == null) {
|
||||
throw new NullPointerException();
|
||||
}
|
||||
body_ = value;
|
||||
onChanged();
|
||||
} else {
|
||||
bodyBuilder_.setMessage(value);
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* reponse body
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 2;</code>
|
||||
*/
|
||||
public Builder setBody(com.google.protobuf.Any.Builder builderForValue) {
|
||||
if (bodyBuilder_ == null) {
|
||||
body_ = builderForValue.build();
|
||||
onChanged();
|
||||
} else {
|
||||
bodyBuilder_.setMessage(builderForValue.build());
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* reponse body
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 2;</code>
|
||||
*/
|
||||
public Builder mergeBody(com.google.protobuf.Any value) {
|
||||
if (bodyBuilder_ == null) {
|
||||
if (body_ != null) {
|
||||
body_ = com.google.protobuf.Any.newBuilder(body_).mergeFrom(value).buildPartial();
|
||||
} else {
|
||||
body_ = value;
|
||||
}
|
||||
onChanged();
|
||||
} else {
|
||||
bodyBuilder_.mergeFrom(value);
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* reponse body
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 2;</code>
|
||||
*/
|
||||
public Builder clearBody() {
|
||||
if (bodyBuilder_ == null) {
|
||||
body_ = null;
|
||||
onChanged();
|
||||
} else {
|
||||
body_ = null;
|
||||
bodyBuilder_ = null;
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* reponse body
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 2;</code>
|
||||
*/
|
||||
public com.google.protobuf.Any.Builder getBodyBuilder() {
|
||||
|
||||
onChanged();
|
||||
return getBodyFieldBuilder().getBuilder();
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* reponse body
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 2;</code>
|
||||
*/
|
||||
public com.google.protobuf.AnyOrBuilder getBodyOrBuilder() {
|
||||
if (bodyBuilder_ != null) {
|
||||
return bodyBuilder_.getMessageOrBuilder();
|
||||
} else {
|
||||
return body_ == null ? com.google.protobuf.Any.getDefaultInstance() : body_;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* reponse body
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 2;</code>
|
||||
*/
|
||||
private com.google.protobuf.SingleFieldBuilderV3<com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder> getBodyFieldBuilder() {
|
||||
if (bodyBuilder_ == null) {
|
||||
bodyBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder>(
|
||||
getBody(), getParentForChildren(), isClean());
|
||||
body_ = null;
|
||||
}
|
||||
return bodyBuilder_;
|
||||
}
|
||||
|
||||
private Object type_ = "";
|
||||
|
||||
/**
|
||||
* <code>string type = 3;</code>
|
||||
*/
|
||||
public String getType() {
|
||||
Object ref = type_;
|
||||
if (!(ref instanceof String)) {
|
||||
com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
|
||||
String s = bs.toStringUtf8();
|
||||
type_ = s;
|
||||
return s;
|
||||
} else {
|
||||
return (String) ref;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>string type = 3;</code>
|
||||
*/
|
||||
public com.google.protobuf.ByteString getTypeBytes() {
|
||||
Object ref = type_;
|
||||
if (ref instanceof String) {
|
||||
com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((String) ref);
|
||||
type_ = b;
|
||||
return b;
|
||||
} else {
|
||||
return (com.google.protobuf.ByteString) ref;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>string type = 3;</code>
|
||||
*/
|
||||
public Builder setType(String value) {
|
||||
if (value == null) {
|
||||
throw new NullPointerException();
|
||||
}
|
||||
|
||||
type_ = value;
|
||||
onChanged();
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>string type = 3;</code>
|
||||
*/
|
||||
public Builder clearType() {
|
||||
|
||||
type_ = getDefaultInstance().getType();
|
||||
onChanged();
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>string type = 3;</code>
|
||||
*/
|
||||
public Builder setTypeBytes(com.google.protobuf.ByteString value) {
|
||||
if (value == null) {
|
||||
throw new NullPointerException();
|
||||
}
|
||||
checkByteStringIsUtf8(value);
|
||||
|
||||
type_ = value;
|
||||
onChanged();
|
||||
return this;
|
||||
}
|
||||
|
||||
public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
|
||||
return this;
|
||||
}
|
||||
|
||||
public final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
|
||||
return this;
|
||||
}
|
||||
|
||||
// @@protoc_insertion_point(builder_scope:GrpcResponse)
|
||||
}
|
||||
|
||||
// @@protoc_insertion_point(class_scope:GrpcResponse)
|
||||
private static final GrpcResponse DEFAULT_INSTANCE;
|
||||
|
||||
static {
|
||||
DEFAULT_INSTANCE = new GrpcResponse();
|
||||
}
|
||||
|
||||
public static GrpcResponse getDefaultInstance() {
|
||||
return DEFAULT_INSTANCE;
|
||||
}
|
||||
|
||||
private static final com.google.protobuf.Parser<GrpcResponse> PARSER = new com.google.protobuf.AbstractParser<GrpcResponse>() {
|
||||
public GrpcResponse parsePartialFrom(com.google.protobuf.CodedInputStream input,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return new GrpcResponse(input, extensionRegistry);
|
||||
}
|
||||
};
|
||||
|
||||
public static com.google.protobuf.Parser<GrpcResponse> parser() {
|
||||
return PARSER;
|
||||
}
|
||||
|
||||
@Override
|
||||
public com.google.protobuf.Parser<GrpcResponse> getParserForType() {
|
||||
return PARSER;
|
||||
}
|
||||
|
||||
public GrpcResponse getDefaultInstanceForType() {
|
||||
return DEFAULT_INSTANCE;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,67 +0,0 @@
|
||||
/*
|
||||
* Copyright 1999-2020 Alibaba Group Holding Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
// source: nacos_grpc_service.proto
|
||||
|
||||
package com.alibaba.nacos.api.grpc;
|
||||
|
||||
public interface GrpcResponseOrBuilder extends
|
||||
// @@protoc_insertion_point(interface_extends:GrpcResponse)
|
||||
com.google.protobuf.MessageOrBuilder {
|
||||
|
||||
/**
|
||||
* <code>int32 code = 1;</code>
|
||||
*/
|
||||
int getCode();
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* reponse body
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 2;</code>
|
||||
*/
|
||||
boolean hasBody();
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* reponse body
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 2;</code>
|
||||
*/
|
||||
com.google.protobuf.Any getBody();
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* reponse body
|
||||
* </pre>
|
||||
*
|
||||
* <code>.google.protobuf.Any body = 2;</code>
|
||||
*/
|
||||
com.google.protobuf.AnyOrBuilder getBodyOrBuilder();
|
||||
|
||||
/**
|
||||
* <code>string type = 3;</code>
|
||||
*/
|
||||
String getType();
|
||||
|
||||
/**
|
||||
* <code>string type = 3;</code>
|
||||
*/
|
||||
com.google.protobuf.ByteString getTypeBytes();
|
||||
}
|
@ -1,121 +0,0 @@
|
||||
/*
|
||||
* Copyright 1999-2020 Alibaba Group Holding Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
// source: nacos_grpc_service.proto
|
||||
|
||||
package com.alibaba.nacos.api.grpc;
|
||||
|
||||
public final class NacosGrpcService {
|
||||
private NacosGrpcService() {}
|
||||
public static void registerAllExtensions(
|
||||
com.google.protobuf.ExtensionRegistryLite registry) {
|
||||
}
|
||||
|
||||
public static void registerAllExtensions(
|
||||
com.google.protobuf.ExtensionRegistry registry) {
|
||||
registerAllExtensions(
|
||||
(com.google.protobuf.ExtensionRegistryLite) registry);
|
||||
}
|
||||
static final com.google.protobuf.Descriptors.Descriptor
|
||||
internal_static_GrpcMetadata_descriptor;
|
||||
static final
|
||||
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
|
||||
internal_static_GrpcMetadata_fieldAccessorTable;
|
||||
static final com.google.protobuf.Descriptors.Descriptor
|
||||
internal_static_GrpcMetadata_LabelsEntry_descriptor;
|
||||
static final
|
||||
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
|
||||
internal_static_GrpcMetadata_LabelsEntry_fieldAccessorTable;
|
||||
static final com.google.protobuf.Descriptors.Descriptor
|
||||
internal_static_GrpcRequest_descriptor;
|
||||
static final
|
||||
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
|
||||
internal_static_GrpcRequest_fieldAccessorTable;
|
||||
static final com.google.protobuf.Descriptors.Descriptor
|
||||
internal_static_GrpcResponse_descriptor;
|
||||
static final
|
||||
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
|
||||
internal_static_GrpcResponse_fieldAccessorTable;
|
||||
|
||||
public static com.google.protobuf.Descriptors.FileDescriptor
|
||||
getDescriptor() {
|
||||
return descriptor;
|
||||
}
|
||||
private static com.google.protobuf.Descriptors.FileDescriptor
|
||||
descriptor;
|
||||
static {
|
||||
String[] descriptorData = {
|
||||
"\n\030nacos_grpc_service.proto\032\031google/proto" +
|
||||
"buf/any.proto\032\037google/protobuf/timestamp" +
|
||||
".proto\"\342\001\n\014GrpcMetadata\022\014\n\004name\030\001 \001(\t\022\021\n" +
|
||||
"\tclient_ip\030\002 \001(\t\022\025\n\rconnection_id\030\003 \001(\t\022" +
|
||||
"/\n\013create_time\030\004 \001(\0132\032.google.protobuf.T" +
|
||||
"imestamp\022\017\n\007version\030\005 \001(\t\022)\n\006labels\030\006 \003(" +
|
||||
"\0132\031.GrpcMetadata.LabelsEntry\032-\n\013LabelsEn" +
|
||||
"try\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"`\n\013G" +
|
||||
"rpcRequest\022\014\n\004type\030\002 \001(\t\022\037\n\010metadata\030\001 \001" +
|
||||
"(\0132\r.GrpcMetadata\022\"\n\004body\030\003 \001(\0132\024.google",
|
||||
".protobuf.Any\"N\n\014GrpcResponse\022\014\n\004code\030\001 "
|
||||
+ "\001(\005\022\"\n\004body\030\002 \001(\0132\024.google.protobuf.Any\022"
|
||||
+ "\014\n\004type\030\003 \001(\t2A\n\rRequestStream\0220\n\rreques"
|
||||
+ "tStream\022\014.GrpcRequest\032\r.GrpcResponse\"\0000\001"
|
||||
+ "23\n\007Request\022(\n\007request\022\014.GrpcRequest\032\r.G"
|
||||
+ "rpcResponse\"\000B\036\n\032com.alibaba.nacos.api.g" + "rpcP\001b\006proto3"
|
||||
};
|
||||
com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
|
||||
new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
|
||||
public com.google.protobuf.ExtensionRegistry assignDescriptors(
|
||||
com.google.protobuf.Descriptors.FileDescriptor root) {
|
||||
descriptor = root;
|
||||
return null;
|
||||
}
|
||||
};
|
||||
com.google.protobuf.Descriptors.FileDescriptor
|
||||
.internalBuildGeneratedFileFrom(descriptorData,
|
||||
new com.google.protobuf.Descriptors.FileDescriptor[] {
|
||||
com.google.protobuf.AnyProto.getDescriptor(),
|
||||
com.google.protobuf.TimestampProto.getDescriptor(),
|
||||
}, assigner);
|
||||
internal_static_GrpcMetadata_descriptor =
|
||||
getDescriptor().getMessageTypes().get(0);
|
||||
internal_static_GrpcMetadata_fieldAccessorTable = new
|
||||
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
|
||||
internal_static_GrpcMetadata_descriptor,
|
||||
new String[] { "Name", "ClientIp", "ConnectionId", "CreateTime", "Version", "Labels", });
|
||||
internal_static_GrpcMetadata_LabelsEntry_descriptor =
|
||||
internal_static_GrpcMetadata_descriptor.getNestedTypes().get(0);
|
||||
internal_static_GrpcMetadata_LabelsEntry_fieldAccessorTable = new
|
||||
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
|
||||
internal_static_GrpcMetadata_LabelsEntry_descriptor,
|
||||
new String[] { "Key", "Value", });
|
||||
internal_static_GrpcRequest_descriptor =
|
||||
getDescriptor().getMessageTypes().get(1);
|
||||
internal_static_GrpcRequest_fieldAccessorTable = new
|
||||
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
|
||||
internal_static_GrpcRequest_descriptor,
|
||||
new String[] { "Type", "Metadata", "Body", });
|
||||
internal_static_GrpcResponse_descriptor =
|
||||
getDescriptor().getMessageTypes().get(2);
|
||||
internal_static_GrpcResponse_fieldAccessorTable = new
|
||||
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
|
||||
internal_static_GrpcResponse_descriptor, new String[] {"Code", "Body", "Type",});
|
||||
com.google.protobuf.AnyProto.getDescriptor();
|
||||
com.google.protobuf.TimestampProto.getDescriptor();
|
||||
}
|
||||
|
||||
// @@protoc_insertion_point(outer_class_scope)
|
||||
}
|
@ -1,306 +0,0 @@
|
||||
/*
|
||||
* Copyright 1999-2020 Alibaba Group Holding Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.alibaba.nacos.api.grpc;
|
||||
|
||||
import static io.grpc.MethodDescriptor.generateFullMethodName;
|
||||
import static io.grpc.stub.ClientCalls.asyncBidiStreamingCall;
|
||||
import static io.grpc.stub.ClientCalls.asyncClientStreamingCall;
|
||||
import static io.grpc.stub.ClientCalls.asyncServerStreamingCall;
|
||||
import static io.grpc.stub.ClientCalls.asyncUnaryCall;
|
||||
import static io.grpc.stub.ClientCalls.blockingServerStreamingCall;
|
||||
import static io.grpc.stub.ClientCalls.blockingUnaryCall;
|
||||
import static io.grpc.stub.ClientCalls.futureUnaryCall;
|
||||
import static io.grpc.stub.ServerCalls.asyncBidiStreamingCall;
|
||||
import static io.grpc.stub.ServerCalls.asyncClientStreamingCall;
|
||||
import static io.grpc.stub.ServerCalls.asyncServerStreamingCall;
|
||||
import static io.grpc.stub.ServerCalls.asyncUnaryCall;
|
||||
import static io.grpc.stub.ServerCalls.asyncUnimplementedStreamingCall;
|
||||
import static io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall;
|
||||
|
||||
/**
|
||||
*/
|
||||
@javax.annotation.Generated(
|
||||
value = "by gRPC proto compiler (version 1.20.0)",
|
||||
comments = "Source: nacos_grpc_service.proto")
|
||||
public final class RequestGrpc {
|
||||
|
||||
private RequestGrpc() {}
|
||||
|
||||
public static final String SERVICE_NAME = "Request";
|
||||
|
||||
// Static method descriptors that strictly reflect the proto.
|
||||
private static volatile io.grpc.MethodDescriptor<GrpcRequest,
|
||||
GrpcResponse> getRequestMethod;
|
||||
|
||||
@io.grpc.stub.annotations.RpcMethod(
|
||||
fullMethodName = SERVICE_NAME + '/' + "request",
|
||||
requestType = GrpcRequest.class,
|
||||
responseType = GrpcResponse.class,
|
||||
methodType = io.grpc.MethodDescriptor.MethodType.UNARY)
|
||||
public static io.grpc.MethodDescriptor<GrpcRequest,
|
||||
GrpcResponse> getRequestMethod() {
|
||||
io.grpc.MethodDescriptor<GrpcRequest, GrpcResponse> getRequestMethod;
|
||||
if ((getRequestMethod = RequestGrpc.getRequestMethod) == null) {
|
||||
synchronized (RequestGrpc.class) {
|
||||
if ((getRequestMethod = RequestGrpc.getRequestMethod) == null) {
|
||||
RequestGrpc.getRequestMethod = getRequestMethod =
|
||||
io.grpc.MethodDescriptor.<GrpcRequest, GrpcResponse>newBuilder()
|
||||
.setType(io.grpc.MethodDescriptor.MethodType.UNARY)
|
||||
.setFullMethodName(generateFullMethodName(
|
||||
"Request", "request"))
|
||||
.setSampledToLocalTracing(true)
|
||||
.setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
|
||||
GrpcRequest.getDefaultInstance()))
|
||||
.setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
|
||||
GrpcResponse.getDefaultInstance()))
|
||||
.setSchemaDescriptor(new RequestMethodDescriptorSupplier("request"))
|
||||
.build();
|
||||
}
|
||||
}
|
||||
}
|
||||
return getRequestMethod;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new async stub that supports all call types for the service
|
||||
*/
|
||||
public static RequestStub newStub(io.grpc.Channel channel) {
|
||||
return new RequestStub(channel);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new blocking-style stub that supports unary and streaming output calls on the service
|
||||
*/
|
||||
public static RequestBlockingStub newBlockingStub(
|
||||
io.grpc.Channel channel) {
|
||||
return new RequestBlockingStub(channel);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new ListenableFuture-style stub that supports unary calls on the service
|
||||
*/
|
||||
public static RequestFutureStub newFutureStub(
|
||||
io.grpc.Channel channel) {
|
||||
return new RequestFutureStub(channel);
|
||||
}
|
||||
|
||||
/**
|
||||
*/
|
||||
public static abstract class RequestImplBase implements io.grpc.BindableService {
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Sends a commonRequest
|
||||
* </pre>
|
||||
*/
|
||||
public void request(GrpcRequest request, io.grpc.stub.StreamObserver<GrpcResponse> responseObserver) {
|
||||
asyncUnimplementedUnaryCall(getRequestMethod(), responseObserver);
|
||||
}
|
||||
|
||||
@Override public final io.grpc.ServerServiceDefinition bindService() {
|
||||
return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor())
|
||||
.addMethod(
|
||||
getRequestMethod(),
|
||||
asyncUnaryCall(
|
||||
new MethodHandlers<
|
||||
GrpcRequest,
|
||||
GrpcResponse>(
|
||||
this, METHODID_REQUEST)))
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*/
|
||||
public static final class RequestStub extends io.grpc.stub.AbstractStub<RequestStub> {
|
||||
private RequestStub(io.grpc.Channel channel) {
|
||||
super(channel);
|
||||
}
|
||||
|
||||
private RequestStub(io.grpc.Channel channel,
|
||||
io.grpc.CallOptions callOptions) {
|
||||
super(channel, callOptions);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected RequestStub build(io.grpc.Channel channel,
|
||||
io.grpc.CallOptions callOptions) {
|
||||
return new RequestStub(channel, callOptions);
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Sends a commonRequest
|
||||
* </pre>
|
||||
*/
|
||||
public void request(GrpcRequest request, io.grpc.stub.StreamObserver<GrpcResponse> responseObserver) {
|
||||
asyncUnaryCall(
|
||||
getChannel().newCall(getRequestMethod(), getCallOptions()), request, responseObserver);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*/
|
||||
public static final class RequestBlockingStub extends io.grpc.stub.AbstractStub<RequestBlockingStub> {
|
||||
private RequestBlockingStub(io.grpc.Channel channel) {
|
||||
super(channel);
|
||||
}
|
||||
|
||||
private RequestBlockingStub(io.grpc.Channel channel,
|
||||
io.grpc.CallOptions callOptions) {
|
||||
super(channel, callOptions);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected RequestBlockingStub build(io.grpc.Channel channel,
|
||||
io.grpc.CallOptions callOptions) {
|
||||
return new RequestBlockingStub(channel, callOptions);
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Sends a commonRequest
|
||||
* </pre>
|
||||
*/
|
||||
public GrpcResponse request(GrpcRequest request) {
|
||||
return blockingUnaryCall(
|
||||
getChannel(), getRequestMethod(), getCallOptions(), request);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*/
|
||||
public static final class RequestFutureStub extends io.grpc.stub.AbstractStub<RequestFutureStub> {
|
||||
private RequestFutureStub(io.grpc.Channel channel) {
|
||||
super(channel);
|
||||
}
|
||||
|
||||
private RequestFutureStub(io.grpc.Channel channel,
|
||||
io.grpc.CallOptions callOptions) {
|
||||
super(channel, callOptions);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected RequestFutureStub build(io.grpc.Channel channel,
|
||||
io.grpc.CallOptions callOptions) {
|
||||
return new RequestFutureStub(channel, callOptions);
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Sends a commonRequest
|
||||
* </pre>
|
||||
*/
|
||||
public com.google.common.util.concurrent.ListenableFuture<GrpcResponse> request(
|
||||
GrpcRequest request) {
|
||||
return futureUnaryCall(
|
||||
getChannel().newCall(getRequestMethod(), getCallOptions()), request);
|
||||
}
|
||||
}
|
||||
|
||||
private static final int METHODID_REQUEST = 0;
|
||||
|
||||
private static final class MethodHandlers<Req, Resp> implements
|
||||
io.grpc.stub.ServerCalls.UnaryMethod<Req, Resp>,
|
||||
io.grpc.stub.ServerCalls.ServerStreamingMethod<Req, Resp>,
|
||||
io.grpc.stub.ServerCalls.ClientStreamingMethod<Req, Resp>,
|
||||
io.grpc.stub.ServerCalls.BidiStreamingMethod<Req, Resp> {
|
||||
private final RequestImplBase serviceImpl;
|
||||
private final int methodId;
|
||||
|
||||
MethodHandlers(RequestImplBase serviceImpl, int methodId) {
|
||||
this.serviceImpl = serviceImpl;
|
||||
this.methodId = methodId;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public void invoke(Req request, io.grpc.stub.StreamObserver<Resp> responseObserver) {
|
||||
switch (methodId) {
|
||||
case METHODID_REQUEST:
|
||||
serviceImpl.request((GrpcRequest) request,
|
||||
(io.grpc.stub.StreamObserver<GrpcResponse>) responseObserver);
|
||||
break;
|
||||
default:
|
||||
throw new AssertionError();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public io.grpc.stub.StreamObserver<Req> invoke(
|
||||
io.grpc.stub.StreamObserver<Resp> responseObserver) {
|
||||
switch (methodId) {
|
||||
default:
|
||||
throw new AssertionError();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static abstract class RequestBaseDescriptorSupplier
|
||||
implements io.grpc.protobuf.ProtoFileDescriptorSupplier, io.grpc.protobuf.ProtoServiceDescriptorSupplier {
|
||||
RequestBaseDescriptorSupplier() {}
|
||||
|
||||
@Override
|
||||
public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() {
|
||||
return NacosGrpcService.getDescriptor();
|
||||
}
|
||||
|
||||
@Override
|
||||
public com.google.protobuf.Descriptors.ServiceDescriptor getServiceDescriptor() {
|
||||
return getFileDescriptor().findServiceByName("Request");
|
||||
}
|
||||
}
|
||||
|
||||
private static final class RequestFileDescriptorSupplier
|
||||
extends RequestBaseDescriptorSupplier {
|
||||
RequestFileDescriptorSupplier() {}
|
||||
}
|
||||
|
||||
private static final class RequestMethodDescriptorSupplier
|
||||
extends RequestBaseDescriptorSupplier
|
||||
implements io.grpc.protobuf.ProtoMethodDescriptorSupplier {
|
||||
private final String methodName;
|
||||
|
||||
RequestMethodDescriptorSupplier(String methodName) {
|
||||
this.methodName = methodName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public com.google.protobuf.Descriptors.MethodDescriptor getMethodDescriptor() {
|
||||
return getServiceDescriptor().findMethodByName(methodName);
|
||||
}
|
||||
}
|
||||
|
||||
private static volatile io.grpc.ServiceDescriptor serviceDescriptor;
|
||||
|
||||
public static io.grpc.ServiceDescriptor getServiceDescriptor() {
|
||||
io.grpc.ServiceDescriptor result = serviceDescriptor;
|
||||
if (result == null) {
|
||||
synchronized (RequestGrpc.class) {
|
||||
result = serviceDescriptor;
|
||||
if (result == null) {
|
||||
serviceDescriptor = result = io.grpc.ServiceDescriptor.newBuilder(SERVICE_NAME)
|
||||
.setSchemaDescriptor(new RequestFileDescriptorSupplier())
|
||||
.addMethod(getRequestMethod())
|
||||
.build();
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
@ -1,296 +0,0 @@
|
||||
/*
|
||||
* Copyright 1999-2020 Alibaba Group Holding Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.alibaba.nacos.api.grpc;
|
||||
|
||||
import static io.grpc.MethodDescriptor.generateFullMethodName;
|
||||
import static io.grpc.stub.ClientCalls.asyncBidiStreamingCall;
|
||||
import static io.grpc.stub.ClientCalls.asyncClientStreamingCall;
|
||||
import static io.grpc.stub.ClientCalls.asyncServerStreamingCall;
|
||||
import static io.grpc.stub.ClientCalls.asyncUnaryCall;
|
||||
import static io.grpc.stub.ClientCalls.blockingServerStreamingCall;
|
||||
import static io.grpc.stub.ClientCalls.blockingUnaryCall;
|
||||
import static io.grpc.stub.ClientCalls.futureUnaryCall;
|
||||
import static io.grpc.stub.ServerCalls.asyncBidiStreamingCall;
|
||||
import static io.grpc.stub.ServerCalls.asyncClientStreamingCall;
|
||||
import static io.grpc.stub.ServerCalls.asyncServerStreamingCall;
|
||||
import static io.grpc.stub.ServerCalls.asyncUnaryCall;
|
||||
import static io.grpc.stub.ServerCalls.asyncUnimplementedStreamingCall;
|
||||
import static io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall;
|
||||
|
||||
/**
|
||||
*/
|
||||
@javax.annotation.Generated(
|
||||
value = "by gRPC proto compiler (version 1.20.0)",
|
||||
comments = "Source: nacos_grpc_service.proto")
|
||||
public final class RequestStreamGrpc {
|
||||
|
||||
private RequestStreamGrpc() {}
|
||||
|
||||
public static final String SERVICE_NAME = "RequestStream";
|
||||
|
||||
// Static method descriptors that strictly reflect the proto.
|
||||
private static volatile io.grpc.MethodDescriptor<GrpcRequest,
|
||||
GrpcResponse> getRequestStreamMethod;
|
||||
|
||||
@io.grpc.stub.annotations.RpcMethod(
|
||||
fullMethodName = SERVICE_NAME + '/' + "requestStream",
|
||||
requestType = GrpcRequest.class,
|
||||
responseType = GrpcResponse.class,
|
||||
methodType = io.grpc.MethodDescriptor.MethodType.SERVER_STREAMING)
|
||||
public static io.grpc.MethodDescriptor<GrpcRequest,
|
||||
GrpcResponse> getRequestStreamMethod() {
|
||||
io.grpc.MethodDescriptor<GrpcRequest, GrpcResponse> getRequestStreamMethod;
|
||||
if ((getRequestStreamMethod = RequestStreamGrpc.getRequestStreamMethod) == null) {
|
||||
synchronized (RequestStreamGrpc.class) {
|
||||
if ((getRequestStreamMethod = RequestStreamGrpc.getRequestStreamMethod) == null) {
|
||||
RequestStreamGrpc.getRequestStreamMethod = getRequestStreamMethod =
|
||||
io.grpc.MethodDescriptor.<GrpcRequest, GrpcResponse>newBuilder()
|
||||
.setType(io.grpc.MethodDescriptor.MethodType.SERVER_STREAMING)
|
||||
.setFullMethodName(generateFullMethodName(
|
||||
"RequestStream", "requestStream"))
|
||||
.setSampledToLocalTracing(true)
|
||||
.setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
|
||||
GrpcRequest.getDefaultInstance()))
|
||||
.setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
|
||||
GrpcResponse.getDefaultInstance()))
|
||||
.setSchemaDescriptor(new RequestStreamMethodDescriptorSupplier("requestStream"))
|
||||
.build();
|
||||
}
|
||||
}
|
||||
}
|
||||
return getRequestStreamMethod;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new async stub that supports all call types for the service
|
||||
*/
|
||||
public static RequestStreamStub newStub(io.grpc.Channel channel) {
|
||||
return new RequestStreamStub(channel);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new blocking-style stub that supports unary and streaming output calls on the service
|
||||
*/
|
||||
public static RequestStreamBlockingStub newBlockingStub(
|
||||
io.grpc.Channel channel) {
|
||||
return new RequestStreamBlockingStub(channel);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new ListenableFuture-style stub that supports unary calls on the service
|
||||
*/
|
||||
public static RequestStreamFutureStub newFutureStub(
|
||||
io.grpc.Channel channel) {
|
||||
return new RequestStreamFutureStub(channel);
|
||||
}
|
||||
|
||||
/**
|
||||
*/
|
||||
public static abstract class RequestStreamImplBase implements io.grpc.BindableService {
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* build a streamRequest
|
||||
* </pre>
|
||||
*/
|
||||
public void requestStream(GrpcRequest request, io.grpc.stub.StreamObserver<GrpcResponse> responseObserver) {
|
||||
asyncUnimplementedUnaryCall(getRequestStreamMethod(), responseObserver);
|
||||
}
|
||||
|
||||
@Override public final io.grpc.ServerServiceDefinition bindService() {
|
||||
return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor())
|
||||
.addMethod(
|
||||
getRequestStreamMethod(),
|
||||
asyncServerStreamingCall(
|
||||
new MethodHandlers<
|
||||
GrpcRequest,
|
||||
GrpcResponse>(
|
||||
this, METHODID_REQUEST_STREAM)))
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*/
|
||||
public static final class RequestStreamStub extends io.grpc.stub.AbstractStub<RequestStreamStub> {
|
||||
private RequestStreamStub(io.grpc.Channel channel) {
|
||||
super(channel);
|
||||
}
|
||||
|
||||
private RequestStreamStub(io.grpc.Channel channel,
|
||||
io.grpc.CallOptions callOptions) {
|
||||
super(channel, callOptions);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected RequestStreamStub build(io.grpc.Channel channel,
|
||||
io.grpc.CallOptions callOptions) {
|
||||
return new RequestStreamStub(channel, callOptions);
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* build a streamRequest
|
||||
* </pre>
|
||||
*/
|
||||
public void requestStream(GrpcRequest request, io.grpc.stub.StreamObserver<GrpcResponse> responseObserver) {
|
||||
asyncServerStreamingCall(
|
||||
getChannel().newCall(getRequestStreamMethod(), getCallOptions()), request, responseObserver);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*/
|
||||
public static final class RequestStreamBlockingStub extends io.grpc.stub.AbstractStub<RequestStreamBlockingStub> {
|
||||
private RequestStreamBlockingStub(io.grpc.Channel channel) {
|
||||
super(channel);
|
||||
}
|
||||
|
||||
private RequestStreamBlockingStub(io.grpc.Channel channel,
|
||||
io.grpc.CallOptions callOptions) {
|
||||
super(channel, callOptions);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected RequestStreamBlockingStub build(io.grpc.Channel channel,
|
||||
io.grpc.CallOptions callOptions) {
|
||||
return new RequestStreamBlockingStub(channel, callOptions);
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* build a streamRequest
|
||||
* </pre>
|
||||
*/
|
||||
public java.util.Iterator<GrpcResponse> requestStream(
|
||||
GrpcRequest request) {
|
||||
return blockingServerStreamingCall(
|
||||
getChannel(), getRequestStreamMethod(), getCallOptions(), request);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*/
|
||||
public static final class RequestStreamFutureStub extends io.grpc.stub.AbstractStub<RequestStreamFutureStub> {
|
||||
private RequestStreamFutureStub(io.grpc.Channel channel) {
|
||||
super(channel);
|
||||
}
|
||||
|
||||
private RequestStreamFutureStub(io.grpc.Channel channel,
|
||||
io.grpc.CallOptions callOptions) {
|
||||
super(channel, callOptions);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected RequestStreamFutureStub build(io.grpc.Channel channel,
|
||||
io.grpc.CallOptions callOptions) {
|
||||
return new RequestStreamFutureStub(channel, callOptions);
|
||||
}
|
||||
}
|
||||
|
||||
private static final int METHODID_REQUEST_STREAM = 0;
|
||||
|
||||
private static final class MethodHandlers<Req, Resp> implements
|
||||
io.grpc.stub.ServerCalls.UnaryMethod<Req, Resp>,
|
||||
io.grpc.stub.ServerCalls.ServerStreamingMethod<Req, Resp>,
|
||||
io.grpc.stub.ServerCalls.ClientStreamingMethod<Req, Resp>,
|
||||
io.grpc.stub.ServerCalls.BidiStreamingMethod<Req, Resp> {
|
||||
private final RequestStreamImplBase serviceImpl;
|
||||
private final int methodId;
|
||||
|
||||
MethodHandlers(RequestStreamImplBase serviceImpl, int methodId) {
|
||||
this.serviceImpl = serviceImpl;
|
||||
this.methodId = methodId;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public void invoke(Req request, io.grpc.stub.StreamObserver<Resp> responseObserver) {
|
||||
switch (methodId) {
|
||||
case METHODID_REQUEST_STREAM:
|
||||
serviceImpl.requestStream((GrpcRequest) request,
|
||||
(io.grpc.stub.StreamObserver<GrpcResponse>) responseObserver);
|
||||
break;
|
||||
default:
|
||||
throw new AssertionError();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public io.grpc.stub.StreamObserver<Req> invoke(
|
||||
io.grpc.stub.StreamObserver<Resp> responseObserver) {
|
||||
switch (methodId) {
|
||||
default:
|
||||
throw new AssertionError();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static abstract class RequestStreamBaseDescriptorSupplier
|
||||
implements io.grpc.protobuf.ProtoFileDescriptorSupplier, io.grpc.protobuf.ProtoServiceDescriptorSupplier {
|
||||
RequestStreamBaseDescriptorSupplier() {}
|
||||
|
||||
@Override
|
||||
public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() {
|
||||
return NacosGrpcService.getDescriptor();
|
||||
}
|
||||
|
||||
@Override
|
||||
public com.google.protobuf.Descriptors.ServiceDescriptor getServiceDescriptor() {
|
||||
return getFileDescriptor().findServiceByName("RequestStream");
|
||||
}
|
||||
}
|
||||
|
||||
private static final class RequestStreamFileDescriptorSupplier
|
||||
extends RequestStreamBaseDescriptorSupplier {
|
||||
RequestStreamFileDescriptorSupplier() {}
|
||||
}
|
||||
|
||||
private static final class RequestStreamMethodDescriptorSupplier
|
||||
extends RequestStreamBaseDescriptorSupplier
|
||||
implements io.grpc.protobuf.ProtoMethodDescriptorSupplier {
|
||||
private final String methodName;
|
||||
|
||||
RequestStreamMethodDescriptorSupplier(String methodName) {
|
||||
this.methodName = methodName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public com.google.protobuf.Descriptors.MethodDescriptor getMethodDescriptor() {
|
||||
return getServiceDescriptor().findMethodByName(methodName);
|
||||
}
|
||||
}
|
||||
|
||||
private static volatile io.grpc.ServiceDescriptor serviceDescriptor;
|
||||
|
||||
public static io.grpc.ServiceDescriptor getServiceDescriptor() {
|
||||
io.grpc.ServiceDescriptor result = serviceDescriptor;
|
||||
if (result == null) {
|
||||
synchronized (RequestStreamGrpc.class) {
|
||||
result = serviceDescriptor;
|
||||
if (result == null) {
|
||||
serviceDescriptor = result = io.grpc.ServiceDescriptor.newBuilder(SERVICE_NAME)
|
||||
.setSchemaDescriptor(new RequestStreamFileDescriptorSupplier())
|
||||
.addMethod(getRequestStreamMethod())
|
||||
.build();
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
@ -17,7 +17,7 @@
|
||||
package com.alibaba.nacos.api.remote.connection;
|
||||
|
||||
/**
|
||||
* ConnectionType
|
||||
* ConnectionType.
|
||||
* @author liuzunfei
|
||||
* @version $Id: ConnectionType.java, v 0.1 2020年07月13日 7:15 PM liuzunfei Exp $
|
||||
*/
|
||||
|
@ -13,10 +13,11 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.alibaba.nacos.api.remote.request;
|
||||
|
||||
|
||||
/**
|
||||
* HeartBeatRequest.
|
||||
* @author liuzunfei
|
||||
* @version $Id: HeartBeatRequest.java, v 0.1 2020年07月14日 11:38 AM liuzunfei Exp $
|
||||
*/
|
||||
|
@ -13,14 +13,17 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.alibaba.nacos.api.remote.request;
|
||||
|
||||
/**
|
||||
* RequestTypeConstants.
|
||||
*
|
||||
* @author liuzunfei
|
||||
* @version $Id: RequestTypeConstants.java, v 0.1 2020年07月13日 9:18 PM liuzunfei Exp $
|
||||
*/
|
||||
public class RequestTypeConstants {
|
||||
|
||||
public static final String HEART_BEAT="HEART_BEAT";
|
||||
|
||||
|
||||
public static final String HEART_BEAT = "HEART_BEAT";
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,54 @@
|
||||
/*
|
||||
* Copyright 1999-2020 Alibaba Group Holding Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.alibaba.nacos.api.remote.response;
|
||||
|
||||
/**
|
||||
* ServerPushResponse.
|
||||
*
|
||||
* @author liuzunfei
|
||||
* @version $Id: ServerPushResponse.java, v 0.1 2020年07月20日 1:21 PM liuzunfei Exp $
|
||||
*/
|
||||
public abstract class ServerPushResponse extends Response {
|
||||
|
||||
/**
|
||||
* unique id for this server response id.
|
||||
*/
|
||||
private String responseId;
|
||||
|
||||
public ServerPushResponse() {
|
||||
super();
|
||||
this.responseId = "todo";
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter method for property <tt>responseId</tt>.
|
||||
*
|
||||
* @return property value of responseId
|
||||
*/
|
||||
public String getResponseId() {
|
||||
return responseId;
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter method for property <tt>responseId</tt>.
|
||||
*
|
||||
* @param responseId value to be assigned to property responseId
|
||||
*/
|
||||
public void setResponseId(String responseId) {
|
||||
this.responseId = responseId;
|
||||
}
|
||||
}
|
@ -217,7 +217,6 @@ public class NacosConfigService implements ConfigService {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private boolean removeConfigInRpc(String tenant, String dataId, String group, String tag) {
|
||||
|
||||
try {
|
||||
|
@ -31,7 +31,7 @@ import java.util.Map;
|
||||
public interface HttpAgent extends Closeable {
|
||||
|
||||
/**
|
||||
* get server list manager
|
||||
* get server list manager.
|
||||
* @return
|
||||
*/
|
||||
ServerListManager getServerListManager();
|
||||
|
@ -92,6 +92,7 @@ public class ClientWorker implements Closeable {
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
rpcClientProxy.listenConfigChange(dataId, group, "");
|
||||
} catch (NacosException e) {
|
||||
LOGGER.error("[{}] [sub-server-error] add listen error , dataId={}, group={}, tenant={}", "rpcClientProxy",
|
||||
@ -629,6 +630,8 @@ public class ClientWorker implements Closeable {
|
||||
}
|
||||
});
|
||||
|
||||
rpcClientProxy = new ConfigGrpcClientProxy();
|
||||
|
||||
if (ParamUtils.useHttpSwitch()) {
|
||||
this.executor.scheduleWithFixedDelay(new Runnable() {
|
||||
@Override
|
||||
@ -640,10 +643,8 @@ public class ClientWorker implements Closeable {
|
||||
}
|
||||
}
|
||||
}, 1L, 10L, TimeUnit.MILLISECONDS);
|
||||
|
||||
|
||||
} else {
|
||||
rpcClientProxy = new ConfigGrpcClientProxy();
|
||||
|
||||
rpcClientProxy.initAndStart(new ServerListFactory() {
|
||||
@Override
|
||||
public String genNextServer() {
|
||||
@ -651,13 +652,13 @@ public class ClientWorker implements Closeable {
|
||||
serverListManager.refreshCurrentServerAddr();
|
||||
return serverListManager.getCurrentServerAddr();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String getCurrentServer() {
|
||||
return agent.getServerListManager().getCurrentServerAddr();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
/*
|
||||
* Register Listen Change Handler
|
||||
*/
|
||||
@ -692,7 +693,7 @@ public class ClientWorker implements Closeable {
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
*/
|
||||
@ -712,7 +713,7 @@ public class ClientWorker implements Closeable {
|
||||
} catch (NacosException e) {
|
||||
LOGGER.error("[{}] [listen] {},{},{}", "grpc", cacheData.dataId, cacheData.group,
|
||||
cacheData.tenant, e);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -120,10 +120,10 @@ public class ConfigGrpcClientProxy {
|
||||
/**
|
||||
* publish config.
|
||||
*
|
||||
* @param dataid
|
||||
* @param group
|
||||
* @param tenat
|
||||
* @return
|
||||
* @param dataid dataid
|
||||
* @param group group
|
||||
* @param tenat tenat
|
||||
* @return push result.
|
||||
* @throws NacosException throw where publish fail.
|
||||
*/
|
||||
public ConfigPubishResponse publishConfig(String dataid, String group, String tenat, String content)
|
||||
@ -136,10 +136,10 @@ public class ConfigGrpcClientProxy {
|
||||
/**
|
||||
* remove config.
|
||||
*
|
||||
* @param dataid
|
||||
* @param group
|
||||
* @param tenat
|
||||
* @return
|
||||
* @param dataid dataid
|
||||
* @param group group
|
||||
* @param tenat tenat
|
||||
* @return response.
|
||||
* @throws NacosException throw where publish fail.
|
||||
*/
|
||||
public ConfigRemoveResponse removeConfig(String dataid, String group, String tenat, String tag)
|
||||
|
@ -13,27 +13,28 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.alibaba.nacos.client.remote;
|
||||
|
||||
/**
|
||||
* Client:ConnectionEventListener.
|
||||
* @author liuzunfei
|
||||
* @version $Id: ConnectionEventListener.java, v 0.1 2020年07月14日 10:59 AM liuzunfei Exp $
|
||||
*/
|
||||
public interface ConnectionEventListener {
|
||||
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* notify when server is connected .
|
||||
*/
|
||||
public void onConnected();
|
||||
|
||||
/**
|
||||
*
|
||||
* notify when this client is switch to a new server and is sucessful reconnected .
|
||||
*/
|
||||
public void onReconnected();
|
||||
|
||||
/**
|
||||
*
|
||||
* notify when server is disconnected .
|
||||
*/
|
||||
public void onDisConnect();
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* RpcClientFactory.to support muti client for diffrent client.
|
||||
* RpcClientFactory.to support muti client for diffrent modules of usage.
|
||||
*
|
||||
* @author liuzunfei
|
||||
* @version $Id: RpcClientFactory.java, v 0.1 2020年07月14日 3:41 PM liuzunfei Exp $
|
||||
@ -34,29 +34,16 @@ public class RpcClientFactory {
|
||||
static Map<String, RpcClient> clientMap = new HashMap<String, RpcClient>();
|
||||
|
||||
public static RpcClient getClient(String module) {
|
||||
String useIndependentClient = System.getProperty("rpc.client.independent");
|
||||
if ("Y".equalsIgnoreCase(useIndependentClient)) {
|
||||
synchronized (clientMap) {
|
||||
if (clientMap.get(module) == null) {
|
||||
RpcClient moduleClient = new GrpcClient();
|
||||
return clientMap.putIfAbsent(module, moduleClient);
|
||||
} else {
|
||||
return clientMap.get(module);
|
||||
}
|
||||
} else {
|
||||
if (sharedClient != null) {
|
||||
return sharedClient;
|
||||
} else {
|
||||
|
||||
synchronized (RpcClientFactory.class) {
|
||||
if (sharedClient == null) {
|
||||
sharedClient = new GrpcClient();
|
||||
return sharedClient;
|
||||
} else {
|
||||
return sharedClient;
|
||||
}
|
||||
}
|
||||
clientMap.putIfAbsent(module, moduleClient);
|
||||
}
|
||||
|
||||
return clientMap.get(module);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -17,15 +17,23 @@
|
||||
package com.alibaba.nacos.client.remote;
|
||||
|
||||
/**
|
||||
*
|
||||
* server list factory . use to inner client to connecte and switch servers.
|
||||
* @author liuzunfei
|
||||
* @version $Id: ServerListFactory.java, v 0.1 2020年07月14日 1:11 PM liuzunfei Exp $
|
||||
*/
|
||||
public interface ServerListFactory {
|
||||
|
||||
|
||||
/**
|
||||
* switch to a new server and get it.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
String genNextServer();
|
||||
|
||||
|
||||
/**
|
||||
* get current server.
|
||||
* @return
|
||||
*/
|
||||
String getCurrentServer();
|
||||
|
||||
}
|
||||
|
@ -48,7 +48,6 @@ import java.util.concurrent.ScheduledThreadPoolExecutor;
|
||||
import java.util.concurrent.ThreadFactory;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
import java.util.concurrent.locks.ReentrantLock;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
/**
|
||||
@ -67,8 +66,6 @@ public class GrpcClient extends RpcClient {
|
||||
|
||||
protected RequestGrpc.RequestBlockingStub grpcServiceStub;
|
||||
|
||||
private ReentrantLock startClientLock = new ReentrantLock();
|
||||
|
||||
ScheduledExecutorService executorService = new ScheduledThreadPoolExecutor(5, new ThreadFactory() {
|
||||
@Override
|
||||
public Thread newThread(Runnable r) {
|
||||
@ -80,7 +77,7 @@ public class GrpcClient extends RpcClient {
|
||||
});
|
||||
|
||||
/**
|
||||
* Reconnect to current server before switch a new server
|
||||
* Reconnect to current server before switch a new server.
|
||||
*/
|
||||
private static final int MAX_RECONNECT_TIMES = 5;
|
||||
|
||||
@ -119,14 +116,15 @@ public class GrpcClient extends RpcClient {
|
||||
|
||||
// loop until start client success.
|
||||
while (!isRunning()) {
|
||||
|
||||
|
||||
buildClientAtFirstTime();
|
||||
boolean sucess = serverCheck();
|
||||
if (sucess) {
|
||||
if (rpcClientStatus.get() == RpcClientStatus.RE_CONNECTING) {
|
||||
notifyReConnected();
|
||||
}
|
||||
System.out.println("Current Server..." + getServerListFactory().getCurrentServer());
|
||||
LOGGER.info("Server check success, Current Server is {}" + getServerListFactory()
|
||||
.getCurrentServer());
|
||||
rpcClientStatus.compareAndSet(rpcClientStatus.get(), RpcClientStatus.RUNNING);
|
||||
reConnectTimesLeft.set(MAX_RECONNECT_TIMES);
|
||||
|
||||
@ -332,6 +330,7 @@ public class GrpcClient extends RpcClient {
|
||||
GrpcResponse response = grpcServiceStub.request(grpcrequest);
|
||||
String type = response.getType();
|
||||
String bodyString = response.getBody().getValue().toStringUtf8();
|
||||
|
||||
// transfrom grpcResponse to response model
|
||||
Class classByType = ResponseRegistry.getClassByType(type);
|
||||
if (classByType != null) {
|
||||
@ -343,7 +342,7 @@ public class GrpcClient extends RpcClient {
|
||||
return (PlainBodyResponse) myresponse;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace(System.out);
|
||||
LOGGER.error("grpc client request error, error message is ", e.getMessage(), e);
|
||||
throw new NacosException(NacosException.SERVER_ERROR, e);
|
||||
}
|
||||
}
|
||||
|
@ -38,10 +38,11 @@ public class ConfigTest {
|
||||
@Before
|
||||
public void before() throws Exception {
|
||||
Properties properties = new Properties();
|
||||
//properties.setProperty(PropertyKeyConst.SERVER_ADDR, "127.0.0.1:28848");
|
||||
properties.setProperty(PropertyKeyConst.SERVER_ADDR,
|
||||
"11.239.114.187:8848,11.239.113.204:8848,11.239.112.161:8848");
|
||||
|
||||
properties.setProperty(PropertyKeyConst.SERVER_ADDR, "127.0.0.1:28848");
|
||||
// properties.setProperty(PropertyKeyConst.SERVER_ADDR,
|
||||
// "11.239.114.187:8848,11.239.113.204:8848,11.239.112.161:8848");
|
||||
// //"11.239.114.187:8848");
|
||||
|
||||
configService = NacosFactory.createConfigService(properties);
|
||||
}
|
||||
|
||||
@ -50,7 +51,6 @@ public class ConfigTest {
|
||||
configService.shutDown();
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void test() throws Exception {
|
||||
|
||||
@ -58,27 +58,19 @@ public class ConfigTest {
|
||||
final String group = "lessspring";
|
||||
final String content = "lessspring-" + System.currentTimeMillis();
|
||||
boolean result = configService.publishConfig(dataId, group, content);
|
||||
// Assert.assertTrue(result);
|
||||
|
||||
Assert.assertTrue(result);
|
||||
|
||||
ThreadUtils.sleep(200L);
|
||||
|
||||
ConfigListener1 listener1 = new ConfigListener1();
|
||||
ConfigListener2 listener2 = new ConfigListener2();
|
||||
|
||||
configService.getConfigAndSignListener(dataId, group, 5000, listener1);
|
||||
|
||||
boolean testchange = configService.publishConfig(dataId, group, "testchange" + System.currentTimeMillis());
|
||||
System.out.println("发布配置:testchange");
|
||||
String config = configService.getConfig(dataId, group, 3000L);
|
||||
System.out.println("查询配置:content=" + config);
|
||||
configService.getConfigAndSignListener(dataId, group, 5000, new AbstractListener() {
|
||||
@Override
|
||||
public void receiveConfigInfo(String configInfo) {
|
||||
System.out.println("receiveConfigInfo :" + configInfo);
|
||||
}
|
||||
});
|
||||
|
||||
configService.removeConfig(dataId, group);
|
||||
|
||||
String config2 = configService.getConfig(dataId, group, 3000L);
|
||||
System.out.println("移除后查询配置:content=" + config2);
|
||||
|
||||
configService.getConfigAndSignListener("lessspring2", group, 5000, listener1);
|
||||
|
||||
configService.publishConfig("lessspring2", group, "lessspring2value");
|
||||
|
||||
Scanner scanner = new Scanner(System.in);
|
||||
@ -93,21 +85,4 @@ public class ConfigTest {
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
class ConfigListener1 extends AbstractListener {
|
||||
|
||||
@Override
|
||||
public void receiveConfigInfo(String configInfo) {
|
||||
System.err.println("Listener1 invoked." + configInfo);
|
||||
}
|
||||
}
|
||||
|
||||
class ConfigListener2 extends AbstractListener {
|
||||
|
||||
@Override
|
||||
public void receiveConfigInfo(String configInfo) {
|
||||
System.err.println("Listener2 invoked." + configInfo);
|
||||
}
|
||||
}
|
@ -31,6 +31,7 @@ import com.alibaba.nacos.config.server.service.trace.ConfigTraceService;
|
||||
import com.alibaba.nacos.config.server.utils.ParamUtils;
|
||||
import com.alibaba.nacos.config.server.utils.TimeUtils;
|
||||
import com.alibaba.nacos.core.remote.RequestHandler;
|
||||
import com.alibaba.nacos.core.utils.Loggers;
|
||||
import com.google.common.collect.Lists;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -84,7 +85,7 @@ public class ConfiRemoveRequestHandler extends RequestHandler {
|
||||
return ConfigRemoveResponse.buildSuccessResponse();
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
Loggers.GRPC_DIGEST.error("remove config error,error msg is {}", e.getMessage(), e);
|
||||
return ConfigRemoveResponse.buildFailResponse(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,115 @@
|
||||
/*
|
||||
* Copyright 1999-2020 Alibaba Group Holding Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.alibaba.nacos.config.server.remote;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* config change listen context.
|
||||
*
|
||||
* @author liuzunfei
|
||||
* @version $Id: ConfigChangeListenContext.java, v 0.1 2020年07月20日 1:37 PM liuzunfei Exp $
|
||||
*/
|
||||
@Component
|
||||
public class ConfigChangeListenContext {
|
||||
|
||||
/**
|
||||
* groupKey-> connnection set.
|
||||
*/
|
||||
private Map<String, Set<String>> groupKeyContext = new HashMap<String, Set<String>>();
|
||||
|
||||
/**
|
||||
* connectionId-> groupkey set.
|
||||
*/
|
||||
private Map<String, Set<String>> connectionIdContext = new HashMap<String, Set<String>>();
|
||||
|
||||
/**
|
||||
* add listen .
|
||||
*
|
||||
* @param listenKey listenKey.
|
||||
* @param connectionId connectionId.
|
||||
*/
|
||||
public void addListen(String listenKey, String connectionId) {
|
||||
|
||||
// 1.add groupKeyContext
|
||||
Set<String> listenClients = groupKeyContext.get(listenKey);
|
||||
if (listenClients == null) {
|
||||
groupKeyContext.putIfAbsent(listenKey, new HashSet<String>());
|
||||
listenClients = groupKeyContext.get(listenKey);
|
||||
}
|
||||
listenClients.add(connectionId);
|
||||
|
||||
// 2.add connectionIdContext
|
||||
Set<String> groupKeys = connectionIdContext.get(connectionId);
|
||||
if (groupKeys == null) {
|
||||
connectionIdContext.putIfAbsent(connectionId, new HashSet<>());
|
||||
groupKeys = connectionIdContext.get(connectionId);
|
||||
}
|
||||
groupKeys.add(listenKey);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* remove listen context for connectionId ..
|
||||
*
|
||||
* @param lisnteKey lisnteKey
|
||||
* @param connectionId connectionId
|
||||
*/
|
||||
public void removeListen(String lisnteKey, String connectionId) {
|
||||
|
||||
//1. remove groupKeyContext
|
||||
Set<String> connectionIds = groupKeyContext.get(lisnteKey);
|
||||
if (connectionIds != null) {
|
||||
connectionIds.remove(connectionId);
|
||||
}
|
||||
|
||||
//2.remove connectionIdContext
|
||||
Set<String> groupKeys = connectionIdContext.get(connectionId);
|
||||
if (groupKeys != null) {
|
||||
groupKeys.remove(lisnteKey);
|
||||
}
|
||||
}
|
||||
|
||||
public Set<String> getListeners(String listenKey) {
|
||||
if (groupKeyContext.containsKey(listenKey)) {
|
||||
return groupKeyContext.get(listenKey);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* remove the context related to the connectionid.
|
||||
*
|
||||
* @param connectionId connectionId.
|
||||
*/
|
||||
public void removeConnectionId(final String connectionId) {
|
||||
Set<String> groupKeysinner = connectionIdContext.get(connectionId);
|
||||
|
||||
if (groupKeysinner != null) {
|
||||
Set<String> groupKeys = new HashSet<String>(groupKeysinner);
|
||||
for (String groupKey : groupKeys) {
|
||||
removeListen(groupKey, connectionId);
|
||||
}
|
||||
}
|
||||
connectionIdContext.remove(connectionId);
|
||||
}
|
||||
}
|
@ -16,8 +16,6 @@
|
||||
|
||||
package com.alibaba.nacos.config.server.remote;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.alibaba.nacos.api.config.remote.request.ConfigChangeListenRequest;
|
||||
import com.alibaba.nacos.api.config.remote.request.ConfigRequestTypeConstants;
|
||||
import com.alibaba.nacos.api.config.remote.response.ConfigChangeListenResponse;
|
||||
@ -27,16 +25,16 @@ import com.alibaba.nacos.api.remote.request.RequestMeta;
|
||||
import com.alibaba.nacos.api.remote.response.Response;
|
||||
import com.alibaba.nacos.common.utils.JacksonUtils;
|
||||
import com.alibaba.nacos.config.server.utils.GroupKey2;
|
||||
import com.alibaba.nacos.core.remote.AsyncListenContext;
|
||||
import com.alibaba.nacos.core.remote.NacosRemoteConstants;
|
||||
import com.alibaba.nacos.core.remote.RequestHandler;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* config change listen request handler.
|
||||
*
|
||||
* @author liuzunfei
|
||||
* @version $Id: ConfigChangeListenRequestHandler.java, v 0.1 2020年07月14日 10:11 AM liuzunfei Exp $
|
||||
*/
|
||||
@ -44,13 +42,13 @@ import org.springframework.stereotype.Component;
|
||||
public class ConfigChangeListenRequestHandler extends RequestHandler {
|
||||
|
||||
@Autowired
|
||||
AsyncListenContext asyncListenContext;
|
||||
ConfigChangeListenContext configChangeListenContext;
|
||||
|
||||
@Override
|
||||
public Request parseBodyString(String bodyString) {
|
||||
return JacksonUtils.toObj(bodyString, ConfigChangeListenRequest.class);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Response handle(Request request, RequestMeta requestMeta) throws NacosException {
|
||||
ConfigChangeListenRequest configChangeListenRequest = (ConfigChangeListenRequest) request;
|
||||
@ -60,15 +58,16 @@ public class ConfigChangeListenRequestHandler extends RequestHandler {
|
||||
String configKey = GroupKey2.getKey(dataId, group, tenant);
|
||||
String connectionId = requestMeta.getConnectionId();
|
||||
if (configChangeListenRequest.isCancelListen()) {
|
||||
asyncListenContext.removeListen(NacosRemoteConstants.LISTEN_CONTEXT_CONFIG, configKey, connectionId);
|
||||
configChangeListenContext.removeListen(configKey, connectionId);
|
||||
} else {
|
||||
asyncListenContext.addListen(NacosRemoteConstants.LISTEN_CONTEXT_CONFIG, configKey, connectionId);
|
||||
configChangeListenContext.addListen(configKey, connectionId);
|
||||
}
|
||||
return ConfigChangeListenResponse.buildSucessResponse();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<String> getRequestTypes() {
|
||||
return Lists.newArrayList(ConfigRequestTypeConstants.CHANGE_LISTEN_CONFIG_OPERATION);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,57 @@
|
||||
/*
|
||||
* Copyright 1999-2020 Alibaba Group Holding Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.alibaba.nacos.config.server.remote;
|
||||
|
||||
import com.alibaba.nacos.api.remote.response.ServerPushResponse;
|
||||
import com.alibaba.nacos.common.utils.CollectionUtils;
|
||||
import com.alibaba.nacos.core.remote.RpcPushService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* ConfigChangeNotifier.
|
||||
*
|
||||
* @author liuzunfei
|
||||
* @version $Id: ConfigChangeNotifier.java, v 0.1 2020年07月20日 3:00 PM liuzunfei Exp $
|
||||
*/
|
||||
@Component
|
||||
public class ConfigChangeNotifier {
|
||||
|
||||
@Autowired
|
||||
ConfigChangeListenContext configChangeListenContext;
|
||||
|
||||
@Autowired
|
||||
private RpcPushService rpcPushService;
|
||||
|
||||
/**
|
||||
* adaptor to config module ,when server side congif change ,invoke this method.
|
||||
*
|
||||
* @param groupKey groupKey
|
||||
* @param notifyResponse notifyResponse
|
||||
*/
|
||||
public void configDataChanged(String groupKey, ServerPushResponse notifyResponse) {
|
||||
|
||||
Set<String> listeners = configChangeListenContext.getListeners(groupKey);
|
||||
if (!CollectionUtils.isEmpty(listeners)) {
|
||||
for (String connectionId : listeners) {
|
||||
rpcPushService.push(connectionId, notifyResponse);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,49 @@
|
||||
/*
|
||||
* Copyright 1999-2020 Alibaba Group Holding Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.alibaba.nacos.config.server.remote;
|
||||
|
||||
import com.alibaba.nacos.api.remote.connection.Connection;
|
||||
import com.alibaba.nacos.core.remote.ClientConnectionEventListener;
|
||||
import com.alibaba.nacos.core.utils.Loggers;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* ConfigConnectionEventListener.
|
||||
*
|
||||
* @author liuzunfei
|
||||
* @version $Id: ConfigConnectionEventListener.java, v 0.1 2020年07月20日 2:27 PM liuzunfei Exp $
|
||||
*/
|
||||
@Component
|
||||
public class ConfigConnectionEventListener extends ClientConnectionEventListener {
|
||||
|
||||
@Autowired
|
||||
ConfigChangeListenContext configChangeListenContext;
|
||||
|
||||
@Override
|
||||
public void clientConnected(Connection connect) {
|
||||
//Do nothing.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clientDisConnected(Connection connect) {
|
||||
Loggers.GRPC
|
||||
.info("client disconnected,clear config listen context, connetionId is {}", connect.getConnectionId());
|
||||
configChangeListenContext.removeConnectionId(connect.getConnectionId());
|
||||
}
|
||||
|
||||
}
|
@ -121,7 +121,7 @@ public class ConfigQueryRequestHandler extends RequestHandler {
|
||||
}
|
||||
}
|
||||
String configType = cacheItem.getType();
|
||||
response.setContentType(configType);
|
||||
response.setContentType((null != configType) ? configType : "text");
|
||||
}
|
||||
File file = null;
|
||||
ConfigInfoBase configInfoBase = null;
|
||||
@ -134,7 +134,7 @@ public class ConfigQueryRequestHandler extends RequestHandler {
|
||||
} else {
|
||||
file = DiskUtil.targetBetaFile(dataId, group, tenant);
|
||||
}
|
||||
response.addLabel("beta", "Y");
|
||||
response.addLabel("isBeta", "Y");
|
||||
} else {
|
||||
if (StringUtils.isBlank(tag)) {
|
||||
if (isUseTag(cacheItem, autoTag)) {
|
||||
|
@ -25,13 +25,12 @@ import com.alibaba.nacos.common.utils.ExceptionUtil;
|
||||
import com.alibaba.nacos.config.server.model.SampleResult;
|
||||
import com.alibaba.nacos.config.server.model.event.LocalDataChangeEvent;
|
||||
import com.alibaba.nacos.config.server.monitor.MetricsMonitor;
|
||||
import com.alibaba.nacos.config.server.remote.ConfigChangeNotifier;
|
||||
import com.alibaba.nacos.config.server.utils.ConfigExecutor;
|
||||
import com.alibaba.nacos.config.server.utils.GroupKey;
|
||||
import com.alibaba.nacos.config.server.utils.LogUtil;
|
||||
import com.alibaba.nacos.config.server.utils.MD5Util;
|
||||
import com.alibaba.nacos.config.server.utils.RequestUtil;
|
||||
|
||||
import com.alibaba.nacos.core.remote.DataChangeListenerNotifier;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -74,7 +73,7 @@ public class LongPollingService {
|
||||
private static final String TRUE_STR = "true";
|
||||
|
||||
@Autowired
|
||||
private DataChangeListenerNotifier dataChangeListenerNotifier;
|
||||
private ConfigChangeNotifier configChangeNotifier;
|
||||
|
||||
private Map<String, Long> retainIps = new ConcurrentHashMap<String, Long>();
|
||||
|
||||
@ -366,7 +365,7 @@ public class LongPollingService {
|
||||
String tenant = strings.length > 2 ? strings[2] : "";
|
||||
ConfigChangeNotifyResponse notifyResponse = ConfigChangeNotifyResponse
|
||||
.buildSuccessResponse(dataid, group, tenant);
|
||||
dataChangeListenerNotifier.configDataChanged(groupKey, notifyResponse);
|
||||
configChangeNotifier.configDataChanged(groupKey, notifyResponse);
|
||||
|
||||
} catch (Throwable t) {
|
||||
LogUtil.DEFAULT_LOG.error("data change error: {}", ExceptionUtil.getStackTrace(t));
|
||||
|
@ -155,5 +155,4 @@ public class ParamUtils {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -17,6 +17,9 @@
|
||||
package com.alibaba.nacos.core.remote;
|
||||
|
||||
import com.alibaba.nacos.api.remote.connection.Connection;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
|
||||
/**
|
||||
* ClientConnectionEventListener.
|
||||
@ -24,20 +27,51 @@ import com.alibaba.nacos.api.remote.connection.Connection;
|
||||
* @author liuzunfei
|
||||
* @version $Id: ClientConnectionEventListener.java, v 0.1 2020年07月16日 3:06 PM liuzunfei Exp $
|
||||
*/
|
||||
public interface ClientConnectionEventListener {
|
||||
public abstract class ClientConnectionEventListener {
|
||||
|
||||
/**
|
||||
* lisnter name.
|
||||
*/
|
||||
private String name;
|
||||
|
||||
@Autowired
|
||||
protected ClientConnectionEventListenerRegistry clientConnectionEventListenerRegistry;
|
||||
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
clientConnectionEventListenerRegistry.registerClientConnectionEventListener(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter method for property <tt>name</tt>.
|
||||
*
|
||||
* @return property value of name
|
||||
*/
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter method for property <tt>name</tt>.
|
||||
*
|
||||
* @param name value to be assigned to property name
|
||||
*/
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
/**
|
||||
* notified when a client connected.
|
||||
*
|
||||
* @param connect connect.
|
||||
*/
|
||||
public void clientConnected(Connection connect);
|
||||
public abstract void clientConnected(Connection connect);
|
||||
|
||||
/**
|
||||
* notified when a client disconnected.
|
||||
*
|
||||
* @param connect connect.
|
||||
*/
|
||||
public void clientDisConnected(Connection connect);
|
||||
public abstract void clientDisConnected(Connection connect);
|
||||
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
/*
|
||||
* Copyright 1999-2020 Alibaba Group Holding Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.alibaba.nacos.core.remote;
|
||||
|
||||
import com.alibaba.nacos.core.utils.Loggers;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* regitry for client connection event listeners.
|
||||
*
|
||||
* @author liuzunfei
|
||||
* @version $Id: ClientConnectionEventListenerRegistry.java, v 0.1 2020年07月20日 1:47 PM liuzunfei Exp $
|
||||
*/
|
||||
@Service
|
||||
public class ClientConnectionEventListenerRegistry {
|
||||
|
||||
final List<ClientConnectionEventListener> clientConnectionEventListeners = new ArrayList<ClientConnectionEventListener>();
|
||||
|
||||
/**
|
||||
* register ClientConnectionEventListener.
|
||||
*
|
||||
* @param listener listener.
|
||||
*/
|
||||
public void registerClientConnectionEventListener(ClientConnectionEventListener listener) {
|
||||
Loggers.GRPC.info("[ClientConnectionEventListenerRegistry] registry listener - " + listener.getClass().getSimpleName());
|
||||
this.clientConnectionEventListeners.add(listener);
|
||||
}
|
||||
|
||||
}
|
@ -22,9 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.ScheduledExecutorService;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
@ -39,14 +37,15 @@ import java.util.concurrent.TimeUnit;
|
||||
@Service
|
||||
public class ConnectCoordinator implements ConnectionHeathyChecker {
|
||||
|
||||
final List<ClientConnectionEventListener> clientConnectionEventListeners = new ArrayList<ClientConnectionEventListener>();
|
||||
@Autowired
|
||||
private ClientConnectionEventListenerRegistry clientConnectionEventListenerRegistry;
|
||||
|
||||
@Autowired
|
||||
ConnectionManager connectionManager;
|
||||
|
||||
private ScheduledExecutorService executors = Executors.newScheduledThreadPool(1);
|
||||
|
||||
private static final long EXPIRE_MILLSECOND = 15000L;
|
||||
private static final long EXPIRE_MILLSECOND = 10000L;
|
||||
|
||||
/**
|
||||
* Start Task:Expel the connection which active Time expire.
|
||||
@ -69,7 +68,7 @@ public class ConnectCoordinator implements ConnectionHeathyChecker {
|
||||
connectionManager.unregister(conn.getConnectionId());
|
||||
Loggers.GRPC.info("expire connection found ,success expel connectionid = {} ",
|
||||
conn.getConnectionId());
|
||||
for (ClientConnectionEventListener listener : clientConnectionEventListeners) {
|
||||
for (ClientConnectionEventListener listener : clientConnectionEventListenerRegistry.clientConnectionEventListeners) {
|
||||
listener.clientDisConnected(conn);
|
||||
}
|
||||
|
||||
@ -83,8 +82,4 @@ public class ConnectCoordinator implements ConnectionHeathyChecker {
|
||||
}, 500L, 5000L, TimeUnit.MILLISECONDS);
|
||||
}
|
||||
|
||||
public void registerClientConnectionEventListener(ClientConnectionEventListener listener) {
|
||||
this.clientConnectionEventListeners.add(listener);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -13,9 +13,11 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.alibaba.nacos.core.remote;
|
||||
|
||||
/**
|
||||
* ConnectionHeathyChecker.
|
||||
* @author liuzunfei
|
||||
* @version $Id: ConnectionHeathyChecker.java, v 0.1 2020年07月14日 12:01 AM liuzunfei Exp $
|
||||
*/
|
||||
|
@ -20,9 +20,7 @@ import com.alibaba.nacos.api.remote.connection.Connection;
|
||||
import com.alibaba.nacos.core.utils.Loggers;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
@ -36,7 +34,6 @@ public class ConnectionManager {
|
||||
|
||||
Map<String, Connection> connetions = new HashMap<String, Connection>();
|
||||
|
||||
|
||||
/**
|
||||
* register a new connect.
|
||||
*
|
||||
|
@ -28,5 +28,4 @@ public class NacosRemoteConstants {
|
||||
|
||||
public static final String LISTEN_CONTEXT_NAMING = "NAMING";
|
||||
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Copyright 1999-2020 Alibaba Group Holding Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.alibaba.nacos.core.remote;
|
||||
|
||||
/**
|
||||
* callback of push service.
|
||||
*
|
||||
* @author liuzunfei
|
||||
* @version $Id: PushCallBack.java, v 0.1 2020年07月20日 1:13 PM liuzunfei Exp $
|
||||
*/
|
||||
public interface PushCallBack {
|
||||
|
||||
public void onSuccess();
|
||||
|
||||
public void onException();
|
||||
|
||||
}
|
@ -0,0 +1,60 @@
|
||||
/*
|
||||
* Copyright 1999-2020 Alibaba Group Holding Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.alibaba.nacos.core.remote;
|
||||
|
||||
import com.alibaba.nacos.api.remote.connection.Connection;
|
||||
import com.alibaba.nacos.api.remote.response.ServerPushResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* push response to clients.
|
||||
*
|
||||
* @author liuzunfei
|
||||
* @version $Id: PushService.java, v 0.1 2020年07月20日 1:12 PM liuzunfei Exp $
|
||||
*/
|
||||
@Service
|
||||
public class RpcPushService {
|
||||
|
||||
@Autowired
|
||||
private ConnectionManager connectionManager;
|
||||
|
||||
/**
|
||||
* push response without callback.
|
||||
*
|
||||
* @param connectionId connectionId.
|
||||
* @param response response.
|
||||
*/
|
||||
public void push(String connectionId, ServerPushResponse response) {
|
||||
Connection connection = connectionManager.getConnection(connectionId);
|
||||
if (connection != null) {
|
||||
connection.sendResponse(response);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* push response with callback. [not support yet]
|
||||
*
|
||||
* @param connectionId connectionId.
|
||||
* @param response response.
|
||||
* @param pushCallBack pushCallBack.
|
||||
*/
|
||||
public void push(String connectionId, ServerPushResponse response, PushCallBack pushCallBack) {
|
||||
push(connectionId, response);
|
||||
}
|
||||
|
||||
}
|
@ -23,13 +23,6 @@ package com.alibaba.nacos.core.remote;
|
||||
*/
|
||||
public abstract class RpcServer {
|
||||
|
||||
/**
|
||||
* register a ClientConnectionEventListener.
|
||||
*
|
||||
* @param eventListener eventListener.
|
||||
*/
|
||||
public abstract void registerClientConnectionEventListener(ClientConnectionEventListener eventListener);
|
||||
|
||||
/**
|
||||
* Start sever.
|
||||
*/
|
||||
|
@ -13,6 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.alibaba.nacos.core.remote.grpc;
|
||||
|
||||
import com.alibaba.nacos.api.remote.connection.Connection;
|
||||
@ -22,25 +23,24 @@ import com.alibaba.nacos.api.remote.response.Response;
|
||||
import io.grpc.stub.StreamObserver;
|
||||
|
||||
/**
|
||||
* grpc connection.
|
||||
* @author liuzunfei
|
||||
* @version $Id: GrpcConnection.java, v 0.1 2020年07月13日 7:26 PM liuzunfei Exp $
|
||||
*/
|
||||
public class GrpcConnection extends Connection {
|
||||
|
||||
|
||||
private StreamObserver streamObserver;
|
||||
|
||||
public GrpcConnection(ConnectionMetaInfo metaInfo,StreamObserver streamObserver) {
|
||||
|
||||
public GrpcConnection(ConnectionMetaInfo metaInfo, StreamObserver streamObserver) {
|
||||
super(metaInfo);
|
||||
this.streamObserver=streamObserver;
|
||||
this.streamObserver = streamObserver;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void sendResponse(Response reponse) {
|
||||
streamObserver.onNext(GrpcUtils.convert(reponse));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void closeGrapcefully() {
|
||||
//Empty implements
|
||||
|
@ -16,7 +16,7 @@
|
||||
|
||||
package com.alibaba.nacos.core.remote.grpc;
|
||||
|
||||
import com.alibaba.nacos.core.remote.ClientConnectionEventListener;
|
||||
import com.alibaba.nacos.core.remote.ClientConnectionEventListenerRegistry;
|
||||
import com.alibaba.nacos.core.remote.ConnectCoordinator;
|
||||
import com.alibaba.nacos.core.remote.ConnectionManager;
|
||||
import com.alibaba.nacos.core.remote.RequestHandlerRegistry;
|
||||
@ -41,6 +41,8 @@ public class GrpcServer extends RpcServer {
|
||||
|
||||
private Server server;
|
||||
|
||||
@Autowired
|
||||
private ClientConnectionEventListenerRegistry clientConnectionEventListenerRegistry;
|
||||
|
||||
@Autowired
|
||||
private ConnectCoordinator connectCoordinator;
|
||||
@ -68,11 +70,6 @@ public class GrpcServer extends RpcServer {
|
||||
Loggers.GRPC.info("Request handler Registry inited :" + requestHandlerRegistry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerClientConnectionEventListener(ClientConnectionEventListener eventListener) {
|
||||
connectCoordinator.registerClientConnectionEventListener(eventListener);
|
||||
}
|
||||
|
||||
@PostConstruct
|
||||
@Override
|
||||
public void start() throws Exception {
|
||||
|
73
pom.xml
73
pom.xml
@ -1016,17 +1016,72 @@
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<distributionManagement>
|
||||
<snapshotRepository>
|
||||
<!-- 这里的ID一定要在maven setting文件中存在于server下的ID -->
|
||||
<id>sona</id>
|
||||
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
|
||||
</snapshotRepository>
|
||||
|
||||
<!--<distributionManagement>-->
|
||||
<!--<snapshotRepository>-->
|
||||
<!--<!– 这里的ID一定要在maven setting文件中存在于server下的ID –>-->
|
||||
<!--<id>sona</id>-->
|
||||
<!--<url>https://oss.sonatype.org/content/repositories/snapshots/</url>-->
|
||||
<!--</snapshotRepository>-->
|
||||
<!--<repository>-->
|
||||
<!--<id>sona</id>-->
|
||||
<!--<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>-->
|
||||
<!--</repository>-->
|
||||
<!--</distributionManagement>-->
|
||||
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>sona</id>
|
||||
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
|
||||
<id>central</id>
|
||||
<url>http://mvnrepo.alibaba-inc.com/mvn/repository</url>
|
||||
<releases>
|
||||
<enabled>true</enabled>
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>false</enabled>
|
||||
</snapshots>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>snapshots</id>
|
||||
<url>http://mvnrepo.alibaba-inc.com/mvn/repository</url>
|
||||
<releases>
|
||||
<enabled>false</enabled>
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>true</enabled>
|
||||
</snapshots>
|
||||
</repository>
|
||||
</repositories>
|
||||
<pluginRepositories>
|
||||
<pluginRepository>
|
||||
<id>central</id>
|
||||
<url>http://mvnrepo.alibaba-inc.com/mvn/repository</url>
|
||||
<releases>
|
||||
<enabled>true</enabled>
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>false</enabled>
|
||||
</snapshots>
|
||||
</pluginRepository>
|
||||
<pluginRepository>
|
||||
<id>snapshots</id>
|
||||
<url>http://mvnrepo.alibaba-inc.com/mvn/repository</url>
|
||||
<releases>
|
||||
<enabled>false</enabled>
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>true</enabled>
|
||||
</snapshots>
|
||||
</pluginRepository>
|
||||
</pluginRepositories>
|
||||
<distributionManagement>
|
||||
<repository>
|
||||
<id>releases</id>
|
||||
<url>http://mvnrepo.alibaba-inc.com/mvn/releases</url>
|
||||
</repository>
|
||||
<snapshotRepository>
|
||||
<id>snapshots</id>
|
||||
<url>http://mvnrepo.alibaba-inc.com/mvn/snapshots</url>
|
||||
</snapshotRepository>
|
||||
</distributionManagement>
|
||||
</project>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user