mirror of https://github.com/grpc/grpc-java.git
grpclb: update load_balancer.proto to the latest version. (#3329)
Combined drop for rate limiting and drop for load balancing, broken down by token.
This commit is contained in:
parent
c392a91a99
commit
c8216e45f2
|
|
@ -22,10 +22,9 @@ public final class ClientStats extends
|
||||||
private ClientStats() {
|
private ClientStats() {
|
||||||
numCallsStarted_ = 0L;
|
numCallsStarted_ = 0L;
|
||||||
numCallsFinished_ = 0L;
|
numCallsFinished_ = 0L;
|
||||||
numCallsFinishedWithDropForRateLimiting_ = 0L;
|
|
||||||
numCallsFinishedWithDropForLoadBalancing_ = 0L;
|
|
||||||
numCallsFinishedWithClientFailedToSend_ = 0L;
|
numCallsFinishedWithClientFailedToSend_ = 0L;
|
||||||
numCallsFinishedKnownReceived_ = 0L;
|
numCallsFinishedKnownReceived_ = 0L;
|
||||||
|
callsFinishedWithDrop_ = java.util.Collections.emptyList();
|
||||||
}
|
}
|
||||||
|
|
||||||
@java.lang.Override
|
@java.lang.Override
|
||||||
|
|
@ -76,16 +75,6 @@ public final class ClientStats extends
|
||||||
numCallsFinished_ = input.readInt64();
|
numCallsFinished_ = input.readInt64();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 32: {
|
|
||||||
|
|
||||||
numCallsFinishedWithDropForRateLimiting_ = input.readInt64();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case 40: {
|
|
||||||
|
|
||||||
numCallsFinishedWithDropForLoadBalancing_ = input.readInt64();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case 48: {
|
case 48: {
|
||||||
|
|
||||||
numCallsFinishedWithClientFailedToSend_ = input.readInt64();
|
numCallsFinishedWithClientFailedToSend_ = input.readInt64();
|
||||||
|
|
@ -96,6 +85,15 @@ public final class ClientStats extends
|
||||||
numCallsFinishedKnownReceived_ = input.readInt64();
|
numCallsFinishedKnownReceived_ = input.readInt64();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 66: {
|
||||||
|
if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
|
||||||
|
callsFinishedWithDrop_ = new java.util.ArrayList<io.grpc.grpclb.ClientStatsPerToken>();
|
||||||
|
mutable_bitField0_ |= 0x00000020;
|
||||||
|
}
|
||||||
|
callsFinishedWithDrop_.add(
|
||||||
|
input.readMessage(io.grpc.grpclb.ClientStatsPerToken.parser(), extensionRegistry));
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
|
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
|
||||||
|
|
@ -104,6 +102,9 @@ public final class ClientStats extends
|
||||||
throw new com.google.protobuf.InvalidProtocolBufferException(
|
throw new com.google.protobuf.InvalidProtocolBufferException(
|
||||||
e).setUnfinishedMessage(this);
|
e).setUnfinishedMessage(this);
|
||||||
} finally {
|
} finally {
|
||||||
|
if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
|
||||||
|
callsFinishedWithDrop_ = java.util.Collections.unmodifiableList(callsFinishedWithDrop_);
|
||||||
|
}
|
||||||
makeExtensionsImmutable();
|
makeExtensionsImmutable();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -119,6 +120,7 @@ public final class ClientStats extends
|
||||||
io.grpc.grpclb.ClientStats.class, io.grpc.grpclb.ClientStats.Builder.class);
|
io.grpc.grpclb.ClientStats.class, io.grpc.grpclb.ClientStats.Builder.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private int bitField0_;
|
||||||
public static final int TIMESTAMP_FIELD_NUMBER = 1;
|
public static final int TIMESTAMP_FIELD_NUMBER = 1;
|
||||||
private com.google.protobuf.Timestamp timestamp_;
|
private com.google.protobuf.Timestamp timestamp_;
|
||||||
/**
|
/**
|
||||||
|
|
@ -178,34 +180,6 @@ public final class ClientStats extends
|
||||||
return numCallsFinished_;
|
return numCallsFinished_;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final int NUM_CALLS_FINISHED_WITH_DROP_FOR_RATE_LIMITING_FIELD_NUMBER = 4;
|
|
||||||
private long numCallsFinishedWithDropForRateLimiting_;
|
|
||||||
/**
|
|
||||||
* <pre>
|
|
||||||
* The total number of RPCs that were dropped by the client because of rate
|
|
||||||
* limiting.
|
|
||||||
* </pre>
|
|
||||||
*
|
|
||||||
* <code>int64 num_calls_finished_with_drop_for_rate_limiting = 4;</code>
|
|
||||||
*/
|
|
||||||
public long getNumCallsFinishedWithDropForRateLimiting() {
|
|
||||||
return numCallsFinishedWithDropForRateLimiting_;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static final int NUM_CALLS_FINISHED_WITH_DROP_FOR_LOAD_BALANCING_FIELD_NUMBER = 5;
|
|
||||||
private long numCallsFinishedWithDropForLoadBalancing_;
|
|
||||||
/**
|
|
||||||
* <pre>
|
|
||||||
* The total number of RPCs that were dropped by the client because of load
|
|
||||||
* balancing.
|
|
||||||
* </pre>
|
|
||||||
*
|
|
||||||
* <code>int64 num_calls_finished_with_drop_for_load_balancing = 5;</code>
|
|
||||||
*/
|
|
||||||
public long getNumCallsFinishedWithDropForLoadBalancing() {
|
|
||||||
return numCallsFinishedWithDropForLoadBalancing_;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static final int NUM_CALLS_FINISHED_WITH_CLIENT_FAILED_TO_SEND_FIELD_NUMBER = 6;
|
public static final int NUM_CALLS_FINISHED_WITH_CLIENT_FAILED_TO_SEND_FIELD_NUMBER = 6;
|
||||||
private long numCallsFinishedWithClientFailedToSend_;
|
private long numCallsFinishedWithClientFailedToSend_;
|
||||||
/**
|
/**
|
||||||
|
|
@ -233,6 +207,61 @@ public final class ClientStats extends
|
||||||
return numCallsFinishedKnownReceived_;
|
return numCallsFinishedKnownReceived_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static final int CALLS_FINISHED_WITH_DROP_FIELD_NUMBER = 8;
|
||||||
|
private java.util.List<io.grpc.grpclb.ClientStatsPerToken> callsFinishedWithDrop_;
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The list of dropped calls.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>repeated .grpc.lb.v1.ClientStatsPerToken calls_finished_with_drop = 8;</code>
|
||||||
|
*/
|
||||||
|
public java.util.List<io.grpc.grpclb.ClientStatsPerToken> getCallsFinishedWithDropList() {
|
||||||
|
return callsFinishedWithDrop_;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The list of dropped calls.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>repeated .grpc.lb.v1.ClientStatsPerToken calls_finished_with_drop = 8;</code>
|
||||||
|
*/
|
||||||
|
public java.util.List<? extends io.grpc.grpclb.ClientStatsPerTokenOrBuilder>
|
||||||
|
getCallsFinishedWithDropOrBuilderList() {
|
||||||
|
return callsFinishedWithDrop_;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The list of dropped calls.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>repeated .grpc.lb.v1.ClientStatsPerToken calls_finished_with_drop = 8;</code>
|
||||||
|
*/
|
||||||
|
public int getCallsFinishedWithDropCount() {
|
||||||
|
return callsFinishedWithDrop_.size();
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The list of dropped calls.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>repeated .grpc.lb.v1.ClientStatsPerToken calls_finished_with_drop = 8;</code>
|
||||||
|
*/
|
||||||
|
public io.grpc.grpclb.ClientStatsPerToken getCallsFinishedWithDrop(int index) {
|
||||||
|
return callsFinishedWithDrop_.get(index);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The list of dropped calls.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>repeated .grpc.lb.v1.ClientStatsPerToken calls_finished_with_drop = 8;</code>
|
||||||
|
*/
|
||||||
|
public io.grpc.grpclb.ClientStatsPerTokenOrBuilder getCallsFinishedWithDropOrBuilder(
|
||||||
|
int index) {
|
||||||
|
return callsFinishedWithDrop_.get(index);
|
||||||
|
}
|
||||||
|
|
||||||
private byte memoizedIsInitialized = -1;
|
private byte memoizedIsInitialized = -1;
|
||||||
public final boolean isInitialized() {
|
public final boolean isInitialized() {
|
||||||
byte isInitialized = memoizedIsInitialized;
|
byte isInitialized = memoizedIsInitialized;
|
||||||
|
|
@ -254,18 +283,15 @@ public final class ClientStats extends
|
||||||
if (numCallsFinished_ != 0L) {
|
if (numCallsFinished_ != 0L) {
|
||||||
output.writeInt64(3, numCallsFinished_);
|
output.writeInt64(3, numCallsFinished_);
|
||||||
}
|
}
|
||||||
if (numCallsFinishedWithDropForRateLimiting_ != 0L) {
|
|
||||||
output.writeInt64(4, numCallsFinishedWithDropForRateLimiting_);
|
|
||||||
}
|
|
||||||
if (numCallsFinishedWithDropForLoadBalancing_ != 0L) {
|
|
||||||
output.writeInt64(5, numCallsFinishedWithDropForLoadBalancing_);
|
|
||||||
}
|
|
||||||
if (numCallsFinishedWithClientFailedToSend_ != 0L) {
|
if (numCallsFinishedWithClientFailedToSend_ != 0L) {
|
||||||
output.writeInt64(6, numCallsFinishedWithClientFailedToSend_);
|
output.writeInt64(6, numCallsFinishedWithClientFailedToSend_);
|
||||||
}
|
}
|
||||||
if (numCallsFinishedKnownReceived_ != 0L) {
|
if (numCallsFinishedKnownReceived_ != 0L) {
|
||||||
output.writeInt64(7, numCallsFinishedKnownReceived_);
|
output.writeInt64(7, numCallsFinishedKnownReceived_);
|
||||||
}
|
}
|
||||||
|
for (int i = 0; i < callsFinishedWithDrop_.size(); i++) {
|
||||||
|
output.writeMessage(8, callsFinishedWithDrop_.get(i));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getSerializedSize() {
|
public int getSerializedSize() {
|
||||||
|
|
@ -285,14 +311,6 @@ public final class ClientStats extends
|
||||||
size += com.google.protobuf.CodedOutputStream
|
size += com.google.protobuf.CodedOutputStream
|
||||||
.computeInt64Size(3, numCallsFinished_);
|
.computeInt64Size(3, numCallsFinished_);
|
||||||
}
|
}
|
||||||
if (numCallsFinishedWithDropForRateLimiting_ != 0L) {
|
|
||||||
size += com.google.protobuf.CodedOutputStream
|
|
||||||
.computeInt64Size(4, numCallsFinishedWithDropForRateLimiting_);
|
|
||||||
}
|
|
||||||
if (numCallsFinishedWithDropForLoadBalancing_ != 0L) {
|
|
||||||
size += com.google.protobuf.CodedOutputStream
|
|
||||||
.computeInt64Size(5, numCallsFinishedWithDropForLoadBalancing_);
|
|
||||||
}
|
|
||||||
if (numCallsFinishedWithClientFailedToSend_ != 0L) {
|
if (numCallsFinishedWithClientFailedToSend_ != 0L) {
|
||||||
size += com.google.protobuf.CodedOutputStream
|
size += com.google.protobuf.CodedOutputStream
|
||||||
.computeInt64Size(6, numCallsFinishedWithClientFailedToSend_);
|
.computeInt64Size(6, numCallsFinishedWithClientFailedToSend_);
|
||||||
|
|
@ -301,6 +319,10 @@ public final class ClientStats extends
|
||||||
size += com.google.protobuf.CodedOutputStream
|
size += com.google.protobuf.CodedOutputStream
|
||||||
.computeInt64Size(7, numCallsFinishedKnownReceived_);
|
.computeInt64Size(7, numCallsFinishedKnownReceived_);
|
||||||
}
|
}
|
||||||
|
for (int i = 0; i < callsFinishedWithDrop_.size(); i++) {
|
||||||
|
size += com.google.protobuf.CodedOutputStream
|
||||||
|
.computeMessageSize(8, callsFinishedWithDrop_.get(i));
|
||||||
|
}
|
||||||
memoizedSize = size;
|
memoizedSize = size;
|
||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
@ -326,14 +348,12 @@ public final class ClientStats extends
|
||||||
== other.getNumCallsStarted());
|
== other.getNumCallsStarted());
|
||||||
result = result && (getNumCallsFinished()
|
result = result && (getNumCallsFinished()
|
||||||
== other.getNumCallsFinished());
|
== other.getNumCallsFinished());
|
||||||
result = result && (getNumCallsFinishedWithDropForRateLimiting()
|
|
||||||
== other.getNumCallsFinishedWithDropForRateLimiting());
|
|
||||||
result = result && (getNumCallsFinishedWithDropForLoadBalancing()
|
|
||||||
== other.getNumCallsFinishedWithDropForLoadBalancing());
|
|
||||||
result = result && (getNumCallsFinishedWithClientFailedToSend()
|
result = result && (getNumCallsFinishedWithClientFailedToSend()
|
||||||
== other.getNumCallsFinishedWithClientFailedToSend());
|
== other.getNumCallsFinishedWithClientFailedToSend());
|
||||||
result = result && (getNumCallsFinishedKnownReceived()
|
result = result && (getNumCallsFinishedKnownReceived()
|
||||||
== other.getNumCallsFinishedKnownReceived());
|
== other.getNumCallsFinishedKnownReceived());
|
||||||
|
result = result && getCallsFinishedWithDropList()
|
||||||
|
.equals(other.getCallsFinishedWithDropList());
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -354,18 +374,16 @@ public final class ClientStats extends
|
||||||
hash = (37 * hash) + NUM_CALLS_FINISHED_FIELD_NUMBER;
|
hash = (37 * hash) + NUM_CALLS_FINISHED_FIELD_NUMBER;
|
||||||
hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
|
hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
|
||||||
getNumCallsFinished());
|
getNumCallsFinished());
|
||||||
hash = (37 * hash) + NUM_CALLS_FINISHED_WITH_DROP_FOR_RATE_LIMITING_FIELD_NUMBER;
|
|
||||||
hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
|
|
||||||
getNumCallsFinishedWithDropForRateLimiting());
|
|
||||||
hash = (37 * hash) + NUM_CALLS_FINISHED_WITH_DROP_FOR_LOAD_BALANCING_FIELD_NUMBER;
|
|
||||||
hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
|
|
||||||
getNumCallsFinishedWithDropForLoadBalancing());
|
|
||||||
hash = (37 * hash) + NUM_CALLS_FINISHED_WITH_CLIENT_FAILED_TO_SEND_FIELD_NUMBER;
|
hash = (37 * hash) + NUM_CALLS_FINISHED_WITH_CLIENT_FAILED_TO_SEND_FIELD_NUMBER;
|
||||||
hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
|
hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
|
||||||
getNumCallsFinishedWithClientFailedToSend());
|
getNumCallsFinishedWithClientFailedToSend());
|
||||||
hash = (37 * hash) + NUM_CALLS_FINISHED_KNOWN_RECEIVED_FIELD_NUMBER;
|
hash = (37 * hash) + NUM_CALLS_FINISHED_KNOWN_RECEIVED_FIELD_NUMBER;
|
||||||
hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
|
hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
|
||||||
getNumCallsFinishedKnownReceived());
|
getNumCallsFinishedKnownReceived());
|
||||||
|
if (getCallsFinishedWithDropCount() > 0) {
|
||||||
|
hash = (37 * hash) + CALLS_FINISHED_WITH_DROP_FIELD_NUMBER;
|
||||||
|
hash = (53 * hash) + getCallsFinishedWithDropList().hashCode();
|
||||||
|
}
|
||||||
hash = (29 * hash) + unknownFields.hashCode();
|
hash = (29 * hash) + unknownFields.hashCode();
|
||||||
memoizedHashCode = hash;
|
memoizedHashCode = hash;
|
||||||
return hash;
|
return hash;
|
||||||
|
|
@ -496,6 +514,7 @@ public final class ClientStats extends
|
||||||
private void maybeForceBuilderInitialization() {
|
private void maybeForceBuilderInitialization() {
|
||||||
if (com.google.protobuf.GeneratedMessageV3
|
if (com.google.protobuf.GeneratedMessageV3
|
||||||
.alwaysUseFieldBuilders) {
|
.alwaysUseFieldBuilders) {
|
||||||
|
getCallsFinishedWithDropFieldBuilder();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public Builder clear() {
|
public Builder clear() {
|
||||||
|
|
@ -510,14 +529,16 @@ public final class ClientStats extends
|
||||||
|
|
||||||
numCallsFinished_ = 0L;
|
numCallsFinished_ = 0L;
|
||||||
|
|
||||||
numCallsFinishedWithDropForRateLimiting_ = 0L;
|
|
||||||
|
|
||||||
numCallsFinishedWithDropForLoadBalancing_ = 0L;
|
|
||||||
|
|
||||||
numCallsFinishedWithClientFailedToSend_ = 0L;
|
numCallsFinishedWithClientFailedToSend_ = 0L;
|
||||||
|
|
||||||
numCallsFinishedKnownReceived_ = 0L;
|
numCallsFinishedKnownReceived_ = 0L;
|
||||||
|
|
||||||
|
if (callsFinishedWithDropBuilder_ == null) {
|
||||||
|
callsFinishedWithDrop_ = java.util.Collections.emptyList();
|
||||||
|
bitField0_ = (bitField0_ & ~0x00000020);
|
||||||
|
} else {
|
||||||
|
callsFinishedWithDropBuilder_.clear();
|
||||||
|
}
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -540,6 +561,8 @@ public final class ClientStats extends
|
||||||
|
|
||||||
public io.grpc.grpclb.ClientStats buildPartial() {
|
public io.grpc.grpclb.ClientStats buildPartial() {
|
||||||
io.grpc.grpclb.ClientStats result = new io.grpc.grpclb.ClientStats(this);
|
io.grpc.grpclb.ClientStats result = new io.grpc.grpclb.ClientStats(this);
|
||||||
|
int from_bitField0_ = bitField0_;
|
||||||
|
int to_bitField0_ = 0;
|
||||||
if (timestampBuilder_ == null) {
|
if (timestampBuilder_ == null) {
|
||||||
result.timestamp_ = timestamp_;
|
result.timestamp_ = timestamp_;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -547,10 +570,18 @@ public final class ClientStats extends
|
||||||
}
|
}
|
||||||
result.numCallsStarted_ = numCallsStarted_;
|
result.numCallsStarted_ = numCallsStarted_;
|
||||||
result.numCallsFinished_ = numCallsFinished_;
|
result.numCallsFinished_ = numCallsFinished_;
|
||||||
result.numCallsFinishedWithDropForRateLimiting_ = numCallsFinishedWithDropForRateLimiting_;
|
|
||||||
result.numCallsFinishedWithDropForLoadBalancing_ = numCallsFinishedWithDropForLoadBalancing_;
|
|
||||||
result.numCallsFinishedWithClientFailedToSend_ = numCallsFinishedWithClientFailedToSend_;
|
result.numCallsFinishedWithClientFailedToSend_ = numCallsFinishedWithClientFailedToSend_;
|
||||||
result.numCallsFinishedKnownReceived_ = numCallsFinishedKnownReceived_;
|
result.numCallsFinishedKnownReceived_ = numCallsFinishedKnownReceived_;
|
||||||
|
if (callsFinishedWithDropBuilder_ == null) {
|
||||||
|
if (((bitField0_ & 0x00000020) == 0x00000020)) {
|
||||||
|
callsFinishedWithDrop_ = java.util.Collections.unmodifiableList(callsFinishedWithDrop_);
|
||||||
|
bitField0_ = (bitField0_ & ~0x00000020);
|
||||||
|
}
|
||||||
|
result.callsFinishedWithDrop_ = callsFinishedWithDrop_;
|
||||||
|
} else {
|
||||||
|
result.callsFinishedWithDrop_ = callsFinishedWithDropBuilder_.build();
|
||||||
|
}
|
||||||
|
result.bitField0_ = to_bitField0_;
|
||||||
onBuilt();
|
onBuilt();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
@ -601,18 +632,38 @@ public final class ClientStats extends
|
||||||
if (other.getNumCallsFinished() != 0L) {
|
if (other.getNumCallsFinished() != 0L) {
|
||||||
setNumCallsFinished(other.getNumCallsFinished());
|
setNumCallsFinished(other.getNumCallsFinished());
|
||||||
}
|
}
|
||||||
if (other.getNumCallsFinishedWithDropForRateLimiting() != 0L) {
|
|
||||||
setNumCallsFinishedWithDropForRateLimiting(other.getNumCallsFinishedWithDropForRateLimiting());
|
|
||||||
}
|
|
||||||
if (other.getNumCallsFinishedWithDropForLoadBalancing() != 0L) {
|
|
||||||
setNumCallsFinishedWithDropForLoadBalancing(other.getNumCallsFinishedWithDropForLoadBalancing());
|
|
||||||
}
|
|
||||||
if (other.getNumCallsFinishedWithClientFailedToSend() != 0L) {
|
if (other.getNumCallsFinishedWithClientFailedToSend() != 0L) {
|
||||||
setNumCallsFinishedWithClientFailedToSend(other.getNumCallsFinishedWithClientFailedToSend());
|
setNumCallsFinishedWithClientFailedToSend(other.getNumCallsFinishedWithClientFailedToSend());
|
||||||
}
|
}
|
||||||
if (other.getNumCallsFinishedKnownReceived() != 0L) {
|
if (other.getNumCallsFinishedKnownReceived() != 0L) {
|
||||||
setNumCallsFinishedKnownReceived(other.getNumCallsFinishedKnownReceived());
|
setNumCallsFinishedKnownReceived(other.getNumCallsFinishedKnownReceived());
|
||||||
}
|
}
|
||||||
|
if (callsFinishedWithDropBuilder_ == null) {
|
||||||
|
if (!other.callsFinishedWithDrop_.isEmpty()) {
|
||||||
|
if (callsFinishedWithDrop_.isEmpty()) {
|
||||||
|
callsFinishedWithDrop_ = other.callsFinishedWithDrop_;
|
||||||
|
bitField0_ = (bitField0_ & ~0x00000020);
|
||||||
|
} else {
|
||||||
|
ensureCallsFinishedWithDropIsMutable();
|
||||||
|
callsFinishedWithDrop_.addAll(other.callsFinishedWithDrop_);
|
||||||
|
}
|
||||||
|
onChanged();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (!other.callsFinishedWithDrop_.isEmpty()) {
|
||||||
|
if (callsFinishedWithDropBuilder_.isEmpty()) {
|
||||||
|
callsFinishedWithDropBuilder_.dispose();
|
||||||
|
callsFinishedWithDropBuilder_ = null;
|
||||||
|
callsFinishedWithDrop_ = other.callsFinishedWithDrop_;
|
||||||
|
bitField0_ = (bitField0_ & ~0x00000020);
|
||||||
|
callsFinishedWithDropBuilder_ =
|
||||||
|
com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
|
||||||
|
getCallsFinishedWithDropFieldBuilder() : null;
|
||||||
|
} else {
|
||||||
|
callsFinishedWithDropBuilder_.addAllMessages(other.callsFinishedWithDrop_);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
onChanged();
|
onChanged();
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
@ -638,6 +689,7 @@ public final class ClientStats extends
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
private int bitField0_;
|
||||||
|
|
||||||
private com.google.protobuf.Timestamp timestamp_ = null;
|
private com.google.protobuf.Timestamp timestamp_ = null;
|
||||||
private com.google.protobuf.SingleFieldBuilderV3<
|
private com.google.protobuf.SingleFieldBuilderV3<
|
||||||
|
|
@ -868,88 +920,6 @@ public final class ClientStats extends
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
private long numCallsFinishedWithDropForRateLimiting_ ;
|
|
||||||
/**
|
|
||||||
* <pre>
|
|
||||||
* The total number of RPCs that were dropped by the client because of rate
|
|
||||||
* limiting.
|
|
||||||
* </pre>
|
|
||||||
*
|
|
||||||
* <code>int64 num_calls_finished_with_drop_for_rate_limiting = 4;</code>
|
|
||||||
*/
|
|
||||||
public long getNumCallsFinishedWithDropForRateLimiting() {
|
|
||||||
return numCallsFinishedWithDropForRateLimiting_;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* <pre>
|
|
||||||
* The total number of RPCs that were dropped by the client because of rate
|
|
||||||
* limiting.
|
|
||||||
* </pre>
|
|
||||||
*
|
|
||||||
* <code>int64 num_calls_finished_with_drop_for_rate_limiting = 4;</code>
|
|
||||||
*/
|
|
||||||
public Builder setNumCallsFinishedWithDropForRateLimiting(long value) {
|
|
||||||
|
|
||||||
numCallsFinishedWithDropForRateLimiting_ = value;
|
|
||||||
onChanged();
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* <pre>
|
|
||||||
* The total number of RPCs that were dropped by the client because of rate
|
|
||||||
* limiting.
|
|
||||||
* </pre>
|
|
||||||
*
|
|
||||||
* <code>int64 num_calls_finished_with_drop_for_rate_limiting = 4;</code>
|
|
||||||
*/
|
|
||||||
public Builder clearNumCallsFinishedWithDropForRateLimiting() {
|
|
||||||
|
|
||||||
numCallsFinishedWithDropForRateLimiting_ = 0L;
|
|
||||||
onChanged();
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
private long numCallsFinishedWithDropForLoadBalancing_ ;
|
|
||||||
/**
|
|
||||||
* <pre>
|
|
||||||
* The total number of RPCs that were dropped by the client because of load
|
|
||||||
* balancing.
|
|
||||||
* </pre>
|
|
||||||
*
|
|
||||||
* <code>int64 num_calls_finished_with_drop_for_load_balancing = 5;</code>
|
|
||||||
*/
|
|
||||||
public long getNumCallsFinishedWithDropForLoadBalancing() {
|
|
||||||
return numCallsFinishedWithDropForLoadBalancing_;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* <pre>
|
|
||||||
* The total number of RPCs that were dropped by the client because of load
|
|
||||||
* balancing.
|
|
||||||
* </pre>
|
|
||||||
*
|
|
||||||
* <code>int64 num_calls_finished_with_drop_for_load_balancing = 5;</code>
|
|
||||||
*/
|
|
||||||
public Builder setNumCallsFinishedWithDropForLoadBalancing(long value) {
|
|
||||||
|
|
||||||
numCallsFinishedWithDropForLoadBalancing_ = value;
|
|
||||||
onChanged();
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* <pre>
|
|
||||||
* The total number of RPCs that were dropped by the client because of load
|
|
||||||
* balancing.
|
|
||||||
* </pre>
|
|
||||||
*
|
|
||||||
* <code>int64 num_calls_finished_with_drop_for_load_balancing = 5;</code>
|
|
||||||
*/
|
|
||||||
public Builder clearNumCallsFinishedWithDropForLoadBalancing() {
|
|
||||||
|
|
||||||
numCallsFinishedWithDropForLoadBalancing_ = 0L;
|
|
||||||
onChanged();
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
private long numCallsFinishedWithClientFailedToSend_ ;
|
private long numCallsFinishedWithClientFailedToSend_ ;
|
||||||
/**
|
/**
|
||||||
* <pre>
|
* <pre>
|
||||||
|
|
@ -1028,6 +998,318 @@ public final class ClientStats extends
|
||||||
onChanged();
|
onChanged();
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private java.util.List<io.grpc.grpclb.ClientStatsPerToken> callsFinishedWithDrop_ =
|
||||||
|
java.util.Collections.emptyList();
|
||||||
|
private void ensureCallsFinishedWithDropIsMutable() {
|
||||||
|
if (!((bitField0_ & 0x00000020) == 0x00000020)) {
|
||||||
|
callsFinishedWithDrop_ = new java.util.ArrayList<io.grpc.grpclb.ClientStatsPerToken>(callsFinishedWithDrop_);
|
||||||
|
bitField0_ |= 0x00000020;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private com.google.protobuf.RepeatedFieldBuilderV3<
|
||||||
|
io.grpc.grpclb.ClientStatsPerToken, io.grpc.grpclb.ClientStatsPerToken.Builder, io.grpc.grpclb.ClientStatsPerTokenOrBuilder> callsFinishedWithDropBuilder_;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The list of dropped calls.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>repeated .grpc.lb.v1.ClientStatsPerToken calls_finished_with_drop = 8;</code>
|
||||||
|
*/
|
||||||
|
public java.util.List<io.grpc.grpclb.ClientStatsPerToken> getCallsFinishedWithDropList() {
|
||||||
|
if (callsFinishedWithDropBuilder_ == null) {
|
||||||
|
return java.util.Collections.unmodifiableList(callsFinishedWithDrop_);
|
||||||
|
} else {
|
||||||
|
return callsFinishedWithDropBuilder_.getMessageList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The list of dropped calls.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>repeated .grpc.lb.v1.ClientStatsPerToken calls_finished_with_drop = 8;</code>
|
||||||
|
*/
|
||||||
|
public int getCallsFinishedWithDropCount() {
|
||||||
|
if (callsFinishedWithDropBuilder_ == null) {
|
||||||
|
return callsFinishedWithDrop_.size();
|
||||||
|
} else {
|
||||||
|
return callsFinishedWithDropBuilder_.getCount();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The list of dropped calls.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>repeated .grpc.lb.v1.ClientStatsPerToken calls_finished_with_drop = 8;</code>
|
||||||
|
*/
|
||||||
|
public io.grpc.grpclb.ClientStatsPerToken getCallsFinishedWithDrop(int index) {
|
||||||
|
if (callsFinishedWithDropBuilder_ == null) {
|
||||||
|
return callsFinishedWithDrop_.get(index);
|
||||||
|
} else {
|
||||||
|
return callsFinishedWithDropBuilder_.getMessage(index);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The list of dropped calls.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>repeated .grpc.lb.v1.ClientStatsPerToken calls_finished_with_drop = 8;</code>
|
||||||
|
*/
|
||||||
|
public Builder setCallsFinishedWithDrop(
|
||||||
|
int index, io.grpc.grpclb.ClientStatsPerToken value) {
|
||||||
|
if (callsFinishedWithDropBuilder_ == null) {
|
||||||
|
if (value == null) {
|
||||||
|
throw new NullPointerException();
|
||||||
|
}
|
||||||
|
ensureCallsFinishedWithDropIsMutable();
|
||||||
|
callsFinishedWithDrop_.set(index, value);
|
||||||
|
onChanged();
|
||||||
|
} else {
|
||||||
|
callsFinishedWithDropBuilder_.setMessage(index, value);
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The list of dropped calls.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>repeated .grpc.lb.v1.ClientStatsPerToken calls_finished_with_drop = 8;</code>
|
||||||
|
*/
|
||||||
|
public Builder setCallsFinishedWithDrop(
|
||||||
|
int index, io.grpc.grpclb.ClientStatsPerToken.Builder builderForValue) {
|
||||||
|
if (callsFinishedWithDropBuilder_ == null) {
|
||||||
|
ensureCallsFinishedWithDropIsMutable();
|
||||||
|
callsFinishedWithDrop_.set(index, builderForValue.build());
|
||||||
|
onChanged();
|
||||||
|
} else {
|
||||||
|
callsFinishedWithDropBuilder_.setMessage(index, builderForValue.build());
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The list of dropped calls.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>repeated .grpc.lb.v1.ClientStatsPerToken calls_finished_with_drop = 8;</code>
|
||||||
|
*/
|
||||||
|
public Builder addCallsFinishedWithDrop(io.grpc.grpclb.ClientStatsPerToken value) {
|
||||||
|
if (callsFinishedWithDropBuilder_ == null) {
|
||||||
|
if (value == null) {
|
||||||
|
throw new NullPointerException();
|
||||||
|
}
|
||||||
|
ensureCallsFinishedWithDropIsMutable();
|
||||||
|
callsFinishedWithDrop_.add(value);
|
||||||
|
onChanged();
|
||||||
|
} else {
|
||||||
|
callsFinishedWithDropBuilder_.addMessage(value);
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The list of dropped calls.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>repeated .grpc.lb.v1.ClientStatsPerToken calls_finished_with_drop = 8;</code>
|
||||||
|
*/
|
||||||
|
public Builder addCallsFinishedWithDrop(
|
||||||
|
int index, io.grpc.grpclb.ClientStatsPerToken value) {
|
||||||
|
if (callsFinishedWithDropBuilder_ == null) {
|
||||||
|
if (value == null) {
|
||||||
|
throw new NullPointerException();
|
||||||
|
}
|
||||||
|
ensureCallsFinishedWithDropIsMutable();
|
||||||
|
callsFinishedWithDrop_.add(index, value);
|
||||||
|
onChanged();
|
||||||
|
} else {
|
||||||
|
callsFinishedWithDropBuilder_.addMessage(index, value);
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The list of dropped calls.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>repeated .grpc.lb.v1.ClientStatsPerToken calls_finished_with_drop = 8;</code>
|
||||||
|
*/
|
||||||
|
public Builder addCallsFinishedWithDrop(
|
||||||
|
io.grpc.grpclb.ClientStatsPerToken.Builder builderForValue) {
|
||||||
|
if (callsFinishedWithDropBuilder_ == null) {
|
||||||
|
ensureCallsFinishedWithDropIsMutable();
|
||||||
|
callsFinishedWithDrop_.add(builderForValue.build());
|
||||||
|
onChanged();
|
||||||
|
} else {
|
||||||
|
callsFinishedWithDropBuilder_.addMessage(builderForValue.build());
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The list of dropped calls.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>repeated .grpc.lb.v1.ClientStatsPerToken calls_finished_with_drop = 8;</code>
|
||||||
|
*/
|
||||||
|
public Builder addCallsFinishedWithDrop(
|
||||||
|
int index, io.grpc.grpclb.ClientStatsPerToken.Builder builderForValue) {
|
||||||
|
if (callsFinishedWithDropBuilder_ == null) {
|
||||||
|
ensureCallsFinishedWithDropIsMutable();
|
||||||
|
callsFinishedWithDrop_.add(index, builderForValue.build());
|
||||||
|
onChanged();
|
||||||
|
} else {
|
||||||
|
callsFinishedWithDropBuilder_.addMessage(index, builderForValue.build());
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The list of dropped calls.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>repeated .grpc.lb.v1.ClientStatsPerToken calls_finished_with_drop = 8;</code>
|
||||||
|
*/
|
||||||
|
public Builder addAllCallsFinishedWithDrop(
|
||||||
|
java.lang.Iterable<? extends io.grpc.grpclb.ClientStatsPerToken> values) {
|
||||||
|
if (callsFinishedWithDropBuilder_ == null) {
|
||||||
|
ensureCallsFinishedWithDropIsMutable();
|
||||||
|
com.google.protobuf.AbstractMessageLite.Builder.addAll(
|
||||||
|
values, callsFinishedWithDrop_);
|
||||||
|
onChanged();
|
||||||
|
} else {
|
||||||
|
callsFinishedWithDropBuilder_.addAllMessages(values);
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The list of dropped calls.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>repeated .grpc.lb.v1.ClientStatsPerToken calls_finished_with_drop = 8;</code>
|
||||||
|
*/
|
||||||
|
public Builder clearCallsFinishedWithDrop() {
|
||||||
|
if (callsFinishedWithDropBuilder_ == null) {
|
||||||
|
callsFinishedWithDrop_ = java.util.Collections.emptyList();
|
||||||
|
bitField0_ = (bitField0_ & ~0x00000020);
|
||||||
|
onChanged();
|
||||||
|
} else {
|
||||||
|
callsFinishedWithDropBuilder_.clear();
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The list of dropped calls.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>repeated .grpc.lb.v1.ClientStatsPerToken calls_finished_with_drop = 8;</code>
|
||||||
|
*/
|
||||||
|
public Builder removeCallsFinishedWithDrop(int index) {
|
||||||
|
if (callsFinishedWithDropBuilder_ == null) {
|
||||||
|
ensureCallsFinishedWithDropIsMutable();
|
||||||
|
callsFinishedWithDrop_.remove(index);
|
||||||
|
onChanged();
|
||||||
|
} else {
|
||||||
|
callsFinishedWithDropBuilder_.remove(index);
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The list of dropped calls.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>repeated .grpc.lb.v1.ClientStatsPerToken calls_finished_with_drop = 8;</code>
|
||||||
|
*/
|
||||||
|
public io.grpc.grpclb.ClientStatsPerToken.Builder getCallsFinishedWithDropBuilder(
|
||||||
|
int index) {
|
||||||
|
return getCallsFinishedWithDropFieldBuilder().getBuilder(index);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The list of dropped calls.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>repeated .grpc.lb.v1.ClientStatsPerToken calls_finished_with_drop = 8;</code>
|
||||||
|
*/
|
||||||
|
public io.grpc.grpclb.ClientStatsPerTokenOrBuilder getCallsFinishedWithDropOrBuilder(
|
||||||
|
int index) {
|
||||||
|
if (callsFinishedWithDropBuilder_ == null) {
|
||||||
|
return callsFinishedWithDrop_.get(index); } else {
|
||||||
|
return callsFinishedWithDropBuilder_.getMessageOrBuilder(index);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The list of dropped calls.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>repeated .grpc.lb.v1.ClientStatsPerToken calls_finished_with_drop = 8;</code>
|
||||||
|
*/
|
||||||
|
public java.util.List<? extends io.grpc.grpclb.ClientStatsPerTokenOrBuilder>
|
||||||
|
getCallsFinishedWithDropOrBuilderList() {
|
||||||
|
if (callsFinishedWithDropBuilder_ != null) {
|
||||||
|
return callsFinishedWithDropBuilder_.getMessageOrBuilderList();
|
||||||
|
} else {
|
||||||
|
return java.util.Collections.unmodifiableList(callsFinishedWithDrop_);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The list of dropped calls.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>repeated .grpc.lb.v1.ClientStatsPerToken calls_finished_with_drop = 8;</code>
|
||||||
|
*/
|
||||||
|
public io.grpc.grpclb.ClientStatsPerToken.Builder addCallsFinishedWithDropBuilder() {
|
||||||
|
return getCallsFinishedWithDropFieldBuilder().addBuilder(
|
||||||
|
io.grpc.grpclb.ClientStatsPerToken.getDefaultInstance());
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The list of dropped calls.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>repeated .grpc.lb.v1.ClientStatsPerToken calls_finished_with_drop = 8;</code>
|
||||||
|
*/
|
||||||
|
public io.grpc.grpclb.ClientStatsPerToken.Builder addCallsFinishedWithDropBuilder(
|
||||||
|
int index) {
|
||||||
|
return getCallsFinishedWithDropFieldBuilder().addBuilder(
|
||||||
|
index, io.grpc.grpclb.ClientStatsPerToken.getDefaultInstance());
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The list of dropped calls.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>repeated .grpc.lb.v1.ClientStatsPerToken calls_finished_with_drop = 8;</code>
|
||||||
|
*/
|
||||||
|
public java.util.List<io.grpc.grpclb.ClientStatsPerToken.Builder>
|
||||||
|
getCallsFinishedWithDropBuilderList() {
|
||||||
|
return getCallsFinishedWithDropFieldBuilder().getBuilderList();
|
||||||
|
}
|
||||||
|
private com.google.protobuf.RepeatedFieldBuilderV3<
|
||||||
|
io.grpc.grpclb.ClientStatsPerToken, io.grpc.grpclb.ClientStatsPerToken.Builder, io.grpc.grpclb.ClientStatsPerTokenOrBuilder>
|
||||||
|
getCallsFinishedWithDropFieldBuilder() {
|
||||||
|
if (callsFinishedWithDropBuilder_ == null) {
|
||||||
|
callsFinishedWithDropBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
|
||||||
|
io.grpc.grpclb.ClientStatsPerToken, io.grpc.grpclb.ClientStatsPerToken.Builder, io.grpc.grpclb.ClientStatsPerTokenOrBuilder>(
|
||||||
|
callsFinishedWithDrop_,
|
||||||
|
((bitField0_ & 0x00000020) == 0x00000020),
|
||||||
|
getParentForChildren(),
|
||||||
|
isClean());
|
||||||
|
callsFinishedWithDrop_ = null;
|
||||||
|
}
|
||||||
|
return callsFinishedWithDropBuilder_;
|
||||||
|
}
|
||||||
public final Builder setUnknownFields(
|
public final Builder setUnknownFields(
|
||||||
final com.google.protobuf.UnknownFieldSet unknownFields) {
|
final com.google.protobuf.UnknownFieldSet unknownFields) {
|
||||||
return this;
|
return this;
|
||||||
|
|
|
||||||
|
|
@ -50,26 +50,6 @@ public interface ClientStatsOrBuilder extends
|
||||||
*/
|
*/
|
||||||
long getNumCallsFinished();
|
long getNumCallsFinished();
|
||||||
|
|
||||||
/**
|
|
||||||
* <pre>
|
|
||||||
* The total number of RPCs that were dropped by the client because of rate
|
|
||||||
* limiting.
|
|
||||||
* </pre>
|
|
||||||
*
|
|
||||||
* <code>int64 num_calls_finished_with_drop_for_rate_limiting = 4;</code>
|
|
||||||
*/
|
|
||||||
long getNumCallsFinishedWithDropForRateLimiting();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* <pre>
|
|
||||||
* The total number of RPCs that were dropped by the client because of load
|
|
||||||
* balancing.
|
|
||||||
* </pre>
|
|
||||||
*
|
|
||||||
* <code>int64 num_calls_finished_with_drop_for_load_balancing = 5;</code>
|
|
||||||
*/
|
|
||||||
long getNumCallsFinishedWithDropForLoadBalancing();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <pre>
|
* <pre>
|
||||||
* The total number of RPCs that failed to reach a server except dropped RPCs.
|
* The total number of RPCs that failed to reach a server except dropped RPCs.
|
||||||
|
|
@ -88,4 +68,48 @@ public interface ClientStatsOrBuilder extends
|
||||||
* <code>int64 num_calls_finished_known_received = 7;</code>
|
* <code>int64 num_calls_finished_known_received = 7;</code>
|
||||||
*/
|
*/
|
||||||
long getNumCallsFinishedKnownReceived();
|
long getNumCallsFinishedKnownReceived();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The list of dropped calls.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>repeated .grpc.lb.v1.ClientStatsPerToken calls_finished_with_drop = 8;</code>
|
||||||
|
*/
|
||||||
|
java.util.List<io.grpc.grpclb.ClientStatsPerToken>
|
||||||
|
getCallsFinishedWithDropList();
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The list of dropped calls.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>repeated .grpc.lb.v1.ClientStatsPerToken calls_finished_with_drop = 8;</code>
|
||||||
|
*/
|
||||||
|
io.grpc.grpclb.ClientStatsPerToken getCallsFinishedWithDrop(int index);
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The list of dropped calls.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>repeated .grpc.lb.v1.ClientStatsPerToken calls_finished_with_drop = 8;</code>
|
||||||
|
*/
|
||||||
|
int getCallsFinishedWithDropCount();
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The list of dropped calls.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>repeated .grpc.lb.v1.ClientStatsPerToken calls_finished_with_drop = 8;</code>
|
||||||
|
*/
|
||||||
|
java.util.List<? extends io.grpc.grpclb.ClientStatsPerTokenOrBuilder>
|
||||||
|
getCallsFinishedWithDropOrBuilderList();
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The list of dropped calls.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>repeated .grpc.lb.v1.ClientStatsPerToken calls_finished_with_drop = 8;</code>
|
||||||
|
*/
|
||||||
|
io.grpc.grpclb.ClientStatsPerTokenOrBuilder getCallsFinishedWithDropOrBuilder(
|
||||||
|
int index);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,616 @@
|
||||||
|
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||||
|
// source: load_balancer.proto
|
||||||
|
|
||||||
|
package io.grpc.grpclb;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* Contains the number of calls finished for a particular load balance token.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* Protobuf type {@code grpc.lb.v1.ClientStatsPerToken}
|
||||||
|
*/
|
||||||
|
public final class ClientStatsPerToken extends
|
||||||
|
com.google.protobuf.GeneratedMessageV3 implements
|
||||||
|
// @@protoc_insertion_point(message_implements:grpc.lb.v1.ClientStatsPerToken)
|
||||||
|
ClientStatsPerTokenOrBuilder {
|
||||||
|
// Use ClientStatsPerToken.newBuilder() to construct.
|
||||||
|
private ClientStatsPerToken(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
|
||||||
|
super(builder);
|
||||||
|
}
|
||||||
|
private ClientStatsPerToken() {
|
||||||
|
loadBalanceToken_ = "";
|
||||||
|
numCalls_ = 0L;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public final com.google.protobuf.UnknownFieldSet
|
||||||
|
getUnknownFields() {
|
||||||
|
return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
|
||||||
|
}
|
||||||
|
private ClientStatsPerToken(
|
||||||
|
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: {
|
||||||
|
java.lang.String s = input.readStringRequireUtf8();
|
||||||
|
|
||||||
|
loadBalanceToken_ = s;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 16: {
|
||||||
|
|
||||||
|
numCalls_ = input.readInt64();
|
||||||
|
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 io.grpc.grpclb.LoadBalancerProto.internal_static_grpc_lb_v1_ClientStatsPerToken_descriptor;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
|
||||||
|
internalGetFieldAccessorTable() {
|
||||||
|
return io.grpc.grpclb.LoadBalancerProto.internal_static_grpc_lb_v1_ClientStatsPerToken_fieldAccessorTable
|
||||||
|
.ensureFieldAccessorsInitialized(
|
||||||
|
io.grpc.grpclb.ClientStatsPerToken.class, io.grpc.grpclb.ClientStatsPerToken.Builder.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final int LOAD_BALANCE_TOKEN_FIELD_NUMBER = 1;
|
||||||
|
private volatile java.lang.Object loadBalanceToken_;
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* See Server.load_balance_token.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>string load_balance_token = 1;</code>
|
||||||
|
*/
|
||||||
|
public java.lang.String getLoadBalanceToken() {
|
||||||
|
java.lang.Object ref = loadBalanceToken_;
|
||||||
|
if (ref instanceof java.lang.String) {
|
||||||
|
return (java.lang.String) ref;
|
||||||
|
} else {
|
||||||
|
com.google.protobuf.ByteString bs =
|
||||||
|
(com.google.protobuf.ByteString) ref;
|
||||||
|
java.lang.String s = bs.toStringUtf8();
|
||||||
|
loadBalanceToken_ = s;
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* See Server.load_balance_token.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>string load_balance_token = 1;</code>
|
||||||
|
*/
|
||||||
|
public com.google.protobuf.ByteString
|
||||||
|
getLoadBalanceTokenBytes() {
|
||||||
|
java.lang.Object ref = loadBalanceToken_;
|
||||||
|
if (ref instanceof java.lang.String) {
|
||||||
|
com.google.protobuf.ByteString b =
|
||||||
|
com.google.protobuf.ByteString.copyFromUtf8(
|
||||||
|
(java.lang.String) ref);
|
||||||
|
loadBalanceToken_ = b;
|
||||||
|
return b;
|
||||||
|
} else {
|
||||||
|
return (com.google.protobuf.ByteString) ref;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final int NUM_CALLS_FIELD_NUMBER = 2;
|
||||||
|
private long numCalls_;
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The total number of RPCs that finished associated with the token.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>int64 num_calls = 2;</code>
|
||||||
|
*/
|
||||||
|
public long getNumCalls() {
|
||||||
|
return numCalls_;
|
||||||
|
}
|
||||||
|
|
||||||
|
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 (!getLoadBalanceTokenBytes().isEmpty()) {
|
||||||
|
com.google.protobuf.GeneratedMessageV3.writeString(output, 1, loadBalanceToken_);
|
||||||
|
}
|
||||||
|
if (numCalls_ != 0L) {
|
||||||
|
output.writeInt64(2, numCalls_);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getSerializedSize() {
|
||||||
|
int size = memoizedSize;
|
||||||
|
if (size != -1) return size;
|
||||||
|
|
||||||
|
size = 0;
|
||||||
|
if (!getLoadBalanceTokenBytes().isEmpty()) {
|
||||||
|
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, loadBalanceToken_);
|
||||||
|
}
|
||||||
|
if (numCalls_ != 0L) {
|
||||||
|
size += com.google.protobuf.CodedOutputStream
|
||||||
|
.computeInt64Size(2, numCalls_);
|
||||||
|
}
|
||||||
|
memoizedSize = size;
|
||||||
|
return size;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 0L;
|
||||||
|
@java.lang.Override
|
||||||
|
public boolean equals(final java.lang.Object obj) {
|
||||||
|
if (obj == this) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (!(obj instanceof io.grpc.grpclb.ClientStatsPerToken)) {
|
||||||
|
return super.equals(obj);
|
||||||
|
}
|
||||||
|
io.grpc.grpclb.ClientStatsPerToken other = (io.grpc.grpclb.ClientStatsPerToken) obj;
|
||||||
|
|
||||||
|
boolean result = true;
|
||||||
|
result = result && getLoadBalanceToken()
|
||||||
|
.equals(other.getLoadBalanceToken());
|
||||||
|
result = result && (getNumCalls()
|
||||||
|
== other.getNumCalls());
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public int hashCode() {
|
||||||
|
if (memoizedHashCode != 0) {
|
||||||
|
return memoizedHashCode;
|
||||||
|
}
|
||||||
|
int hash = 41;
|
||||||
|
hash = (19 * hash) + getDescriptor().hashCode();
|
||||||
|
hash = (37 * hash) + LOAD_BALANCE_TOKEN_FIELD_NUMBER;
|
||||||
|
hash = (53 * hash) + getLoadBalanceToken().hashCode();
|
||||||
|
hash = (37 * hash) + NUM_CALLS_FIELD_NUMBER;
|
||||||
|
hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
|
||||||
|
getNumCalls());
|
||||||
|
hash = (29 * hash) + unknownFields.hashCode();
|
||||||
|
memoizedHashCode = hash;
|
||||||
|
return hash;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static io.grpc.grpclb.ClientStatsPerToken parseFrom(
|
||||||
|
java.nio.ByteBuffer data)
|
||||||
|
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||||
|
return PARSER.parseFrom(data);
|
||||||
|
}
|
||||||
|
public static io.grpc.grpclb.ClientStatsPerToken parseFrom(
|
||||||
|
java.nio.ByteBuffer data,
|
||||||
|
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||||
|
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||||
|
return PARSER.parseFrom(data, extensionRegistry);
|
||||||
|
}
|
||||||
|
public static io.grpc.grpclb.ClientStatsPerToken parseFrom(
|
||||||
|
com.google.protobuf.ByteString data)
|
||||||
|
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||||
|
return PARSER.parseFrom(data);
|
||||||
|
}
|
||||||
|
public static io.grpc.grpclb.ClientStatsPerToken parseFrom(
|
||||||
|
com.google.protobuf.ByteString data,
|
||||||
|
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||||
|
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||||
|
return PARSER.parseFrom(data, extensionRegistry);
|
||||||
|
}
|
||||||
|
public static io.grpc.grpclb.ClientStatsPerToken parseFrom(byte[] data)
|
||||||
|
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||||
|
return PARSER.parseFrom(data);
|
||||||
|
}
|
||||||
|
public static io.grpc.grpclb.ClientStatsPerToken parseFrom(
|
||||||
|
byte[] data,
|
||||||
|
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||||
|
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||||
|
return PARSER.parseFrom(data, extensionRegistry);
|
||||||
|
}
|
||||||
|
public static io.grpc.grpclb.ClientStatsPerToken parseFrom(java.io.InputStream input)
|
||||||
|
throws java.io.IOException {
|
||||||
|
return com.google.protobuf.GeneratedMessageV3
|
||||||
|
.parseWithIOException(PARSER, input);
|
||||||
|
}
|
||||||
|
public static io.grpc.grpclb.ClientStatsPerToken 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 io.grpc.grpclb.ClientStatsPerToken parseDelimitedFrom(java.io.InputStream input)
|
||||||
|
throws java.io.IOException {
|
||||||
|
return com.google.protobuf.GeneratedMessageV3
|
||||||
|
.parseDelimitedWithIOException(PARSER, input);
|
||||||
|
}
|
||||||
|
public static io.grpc.grpclb.ClientStatsPerToken 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 io.grpc.grpclb.ClientStatsPerToken parseFrom(
|
||||||
|
com.google.protobuf.CodedInputStream input)
|
||||||
|
throws java.io.IOException {
|
||||||
|
return com.google.protobuf.GeneratedMessageV3
|
||||||
|
.parseWithIOException(PARSER, input);
|
||||||
|
}
|
||||||
|
public static io.grpc.grpclb.ClientStatsPerToken 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(io.grpc.grpclb.ClientStatsPerToken prototype) {
|
||||||
|
return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
|
||||||
|
}
|
||||||
|
public Builder toBuilder() {
|
||||||
|
return this == DEFAULT_INSTANCE
|
||||||
|
? new Builder() : new Builder().mergeFrom(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
protected Builder newBuilderForType(
|
||||||
|
com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
|
||||||
|
Builder builder = new Builder(parent);
|
||||||
|
return builder;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* Contains the number of calls finished for a particular load balance token.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* Protobuf type {@code grpc.lb.v1.ClientStatsPerToken}
|
||||||
|
*/
|
||||||
|
public static final class Builder extends
|
||||||
|
com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
|
||||||
|
// @@protoc_insertion_point(builder_implements:grpc.lb.v1.ClientStatsPerToken)
|
||||||
|
io.grpc.grpclb.ClientStatsPerTokenOrBuilder {
|
||||||
|
public static final com.google.protobuf.Descriptors.Descriptor
|
||||||
|
getDescriptor() {
|
||||||
|
return io.grpc.grpclb.LoadBalancerProto.internal_static_grpc_lb_v1_ClientStatsPerToken_descriptor;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
|
||||||
|
internalGetFieldAccessorTable() {
|
||||||
|
return io.grpc.grpclb.LoadBalancerProto.internal_static_grpc_lb_v1_ClientStatsPerToken_fieldAccessorTable
|
||||||
|
.ensureFieldAccessorsInitialized(
|
||||||
|
io.grpc.grpclb.ClientStatsPerToken.class, io.grpc.grpclb.ClientStatsPerToken.Builder.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Construct using io.grpc.grpclb.ClientStatsPerToken.newBuilder()
|
||||||
|
private Builder() {
|
||||||
|
maybeForceBuilderInitialization();
|
||||||
|
}
|
||||||
|
|
||||||
|
private Builder(
|
||||||
|
com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
|
||||||
|
super(parent);
|
||||||
|
maybeForceBuilderInitialization();
|
||||||
|
}
|
||||||
|
private void maybeForceBuilderInitialization() {
|
||||||
|
if (com.google.protobuf.GeneratedMessageV3
|
||||||
|
.alwaysUseFieldBuilders) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public Builder clear() {
|
||||||
|
super.clear();
|
||||||
|
loadBalanceToken_ = "";
|
||||||
|
|
||||||
|
numCalls_ = 0L;
|
||||||
|
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public com.google.protobuf.Descriptors.Descriptor
|
||||||
|
getDescriptorForType() {
|
||||||
|
return io.grpc.grpclb.LoadBalancerProto.internal_static_grpc_lb_v1_ClientStatsPerToken_descriptor;
|
||||||
|
}
|
||||||
|
|
||||||
|
public io.grpc.grpclb.ClientStatsPerToken getDefaultInstanceForType() {
|
||||||
|
return io.grpc.grpclb.ClientStatsPerToken.getDefaultInstance();
|
||||||
|
}
|
||||||
|
|
||||||
|
public io.grpc.grpclb.ClientStatsPerToken build() {
|
||||||
|
io.grpc.grpclb.ClientStatsPerToken result = buildPartial();
|
||||||
|
if (!result.isInitialized()) {
|
||||||
|
throw newUninitializedMessageException(result);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public io.grpc.grpclb.ClientStatsPerToken buildPartial() {
|
||||||
|
io.grpc.grpclb.ClientStatsPerToken result = new io.grpc.grpclb.ClientStatsPerToken(this);
|
||||||
|
result.loadBalanceToken_ = loadBalanceToken_;
|
||||||
|
result.numCalls_ = numCalls_;
|
||||||
|
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 io.grpc.grpclb.ClientStatsPerToken) {
|
||||||
|
return mergeFrom((io.grpc.grpclb.ClientStatsPerToken)other);
|
||||||
|
} else {
|
||||||
|
super.mergeFrom(other);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder mergeFrom(io.grpc.grpclb.ClientStatsPerToken other) {
|
||||||
|
if (other == io.grpc.grpclb.ClientStatsPerToken.getDefaultInstance()) return this;
|
||||||
|
if (!other.getLoadBalanceToken().isEmpty()) {
|
||||||
|
loadBalanceToken_ = other.loadBalanceToken_;
|
||||||
|
onChanged();
|
||||||
|
}
|
||||||
|
if (other.getNumCalls() != 0L) {
|
||||||
|
setNumCalls(other.getNumCalls());
|
||||||
|
}
|
||||||
|
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 {
|
||||||
|
io.grpc.grpclb.ClientStatsPerToken parsedMessage = null;
|
||||||
|
try {
|
||||||
|
parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
|
||||||
|
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
|
||||||
|
parsedMessage = (io.grpc.grpclb.ClientStatsPerToken) e.getUnfinishedMessage();
|
||||||
|
throw e.unwrapIOException();
|
||||||
|
} finally {
|
||||||
|
if (parsedMessage != null) {
|
||||||
|
mergeFrom(parsedMessage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
private java.lang.Object loadBalanceToken_ = "";
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* See Server.load_balance_token.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>string load_balance_token = 1;</code>
|
||||||
|
*/
|
||||||
|
public java.lang.String getLoadBalanceToken() {
|
||||||
|
java.lang.Object ref = loadBalanceToken_;
|
||||||
|
if (!(ref instanceof java.lang.String)) {
|
||||||
|
com.google.protobuf.ByteString bs =
|
||||||
|
(com.google.protobuf.ByteString) ref;
|
||||||
|
java.lang.String s = bs.toStringUtf8();
|
||||||
|
loadBalanceToken_ = s;
|
||||||
|
return s;
|
||||||
|
} else {
|
||||||
|
return (java.lang.String) ref;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* See Server.load_balance_token.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>string load_balance_token = 1;</code>
|
||||||
|
*/
|
||||||
|
public com.google.protobuf.ByteString
|
||||||
|
getLoadBalanceTokenBytes() {
|
||||||
|
java.lang.Object ref = loadBalanceToken_;
|
||||||
|
if (ref instanceof String) {
|
||||||
|
com.google.protobuf.ByteString b =
|
||||||
|
com.google.protobuf.ByteString.copyFromUtf8(
|
||||||
|
(java.lang.String) ref);
|
||||||
|
loadBalanceToken_ = b;
|
||||||
|
return b;
|
||||||
|
} else {
|
||||||
|
return (com.google.protobuf.ByteString) ref;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* See Server.load_balance_token.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>string load_balance_token = 1;</code>
|
||||||
|
*/
|
||||||
|
public Builder setLoadBalanceToken(
|
||||||
|
java.lang.String value) {
|
||||||
|
if (value == null) {
|
||||||
|
throw new NullPointerException();
|
||||||
|
}
|
||||||
|
|
||||||
|
loadBalanceToken_ = value;
|
||||||
|
onChanged();
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* See Server.load_balance_token.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>string load_balance_token = 1;</code>
|
||||||
|
*/
|
||||||
|
public Builder clearLoadBalanceToken() {
|
||||||
|
|
||||||
|
loadBalanceToken_ = getDefaultInstance().getLoadBalanceToken();
|
||||||
|
onChanged();
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* See Server.load_balance_token.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>string load_balance_token = 1;</code>
|
||||||
|
*/
|
||||||
|
public Builder setLoadBalanceTokenBytes(
|
||||||
|
com.google.protobuf.ByteString value) {
|
||||||
|
if (value == null) {
|
||||||
|
throw new NullPointerException();
|
||||||
|
}
|
||||||
|
checkByteStringIsUtf8(value);
|
||||||
|
|
||||||
|
loadBalanceToken_ = value;
|
||||||
|
onChanged();
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
private long numCalls_ ;
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The total number of RPCs that finished associated with the token.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>int64 num_calls = 2;</code>
|
||||||
|
*/
|
||||||
|
public long getNumCalls() {
|
||||||
|
return numCalls_;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The total number of RPCs that finished associated with the token.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>int64 num_calls = 2;</code>
|
||||||
|
*/
|
||||||
|
public Builder setNumCalls(long value) {
|
||||||
|
|
||||||
|
numCalls_ = value;
|
||||||
|
onChanged();
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The total number of RPCs that finished associated with the token.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>int64 num_calls = 2;</code>
|
||||||
|
*/
|
||||||
|
public Builder clearNumCalls() {
|
||||||
|
|
||||||
|
numCalls_ = 0L;
|
||||||
|
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:grpc.lb.v1.ClientStatsPerToken)
|
||||||
|
}
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(class_scope:grpc.lb.v1.ClientStatsPerToken)
|
||||||
|
private static final io.grpc.grpclb.ClientStatsPerToken DEFAULT_INSTANCE;
|
||||||
|
static {
|
||||||
|
DEFAULT_INSTANCE = new io.grpc.grpclb.ClientStatsPerToken();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static io.grpc.grpclb.ClientStatsPerToken getDefaultInstance() {
|
||||||
|
return DEFAULT_INSTANCE;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final com.google.protobuf.Parser<ClientStatsPerToken>
|
||||||
|
PARSER = new com.google.protobuf.AbstractParser<ClientStatsPerToken>() {
|
||||||
|
public ClientStatsPerToken parsePartialFrom(
|
||||||
|
com.google.protobuf.CodedInputStream input,
|
||||||
|
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||||
|
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||||
|
return new ClientStatsPerToken(input, extensionRegistry);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public static com.google.protobuf.Parser<ClientStatsPerToken> parser() {
|
||||||
|
return PARSER;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public com.google.protobuf.Parser<ClientStatsPerToken> getParserForType() {
|
||||||
|
return PARSER;
|
||||||
|
}
|
||||||
|
|
||||||
|
public io.grpc.grpclb.ClientStatsPerToken getDefaultInstanceForType() {
|
||||||
|
return DEFAULT_INSTANCE;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||||
|
// source: load_balancer.proto
|
||||||
|
|
||||||
|
package io.grpc.grpclb;
|
||||||
|
|
||||||
|
public interface ClientStatsPerTokenOrBuilder extends
|
||||||
|
// @@protoc_insertion_point(interface_extends:grpc.lb.v1.ClientStatsPerToken)
|
||||||
|
com.google.protobuf.MessageOrBuilder {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* See Server.load_balance_token.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>string load_balance_token = 1;</code>
|
||||||
|
*/
|
||||||
|
java.lang.String getLoadBalanceToken();
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* See Server.load_balance_token.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>string load_balance_token = 1;</code>
|
||||||
|
*/
|
||||||
|
com.google.protobuf.ByteString
|
||||||
|
getLoadBalanceTokenBytes();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The total number of RPCs that finished associated with the token.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <code>int64 num_calls = 2;</code>
|
||||||
|
*/
|
||||||
|
long getNumCalls();
|
||||||
|
}
|
||||||
|
|
@ -24,6 +24,11 @@ public final class LoadBalancerProto {
|
||||||
static final
|
static final
|
||||||
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
|
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
|
||||||
internal_static_grpc_lb_v1_InitialLoadBalanceRequest_fieldAccessorTable;
|
internal_static_grpc_lb_v1_InitialLoadBalanceRequest_fieldAccessorTable;
|
||||||
|
static final com.google.protobuf.Descriptors.Descriptor
|
||||||
|
internal_static_grpc_lb_v1_ClientStatsPerToken_descriptor;
|
||||||
|
static final
|
||||||
|
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
|
||||||
|
internal_static_grpc_lb_v1_ClientStatsPerToken_fieldAccessorTable;
|
||||||
static final com.google.protobuf.Descriptors.Descriptor
|
static final com.google.protobuf.Descriptors.Descriptor
|
||||||
internal_static_grpc_lb_v1_ClientStats_descriptor;
|
internal_static_grpc_lb_v1_ClientStats_descriptor;
|
||||||
static final
|
static final
|
||||||
|
|
@ -65,33 +70,32 @@ public final class LoadBalancerProto {
|
||||||
"InitialLoadBalanceRequestH\000\022/\n\014client_st" +
|
"InitialLoadBalanceRequestH\000\022/\n\014client_st" +
|
||||||
"ats\030\002 \001(\0132\027.grpc.lb.v1.ClientStatsH\000B\033\n\031" +
|
"ats\030\002 \001(\0132\027.grpc.lb.v1.ClientStatsH\000B\033\n\031" +
|
||||||
"load_balance_request_type\")\n\031InitialLoad" +
|
"load_balance_request_type\")\n\031InitialLoad" +
|
||||||
"BalanceRequest\022\014\n\004name\030\001 \001(\t\"\306\002\n\013ClientS" +
|
"BalanceRequest\022\014\n\004name\030\001 \001(\t\"D\n\023ClientSt" +
|
||||||
"tats\022-\n\ttimestamp\030\001 \001(\0132\032.google.protobu" +
|
"atsPerToken\022\032\n\022load_balance_token\030\001 \001(\t\022" +
|
||||||
"f.Timestamp\022\031\n\021num_calls_started\030\002 \001(\003\022\032",
|
"\021\n\tnum_calls\030\002 \001(\003\"\244\002\n\013ClientStats\022-\n\tti",
|
||||||
"\n\022num_calls_finished\030\003 \001(\003\0226\n.num_calls_" +
|
"mestamp\030\001 \001(\0132\032.google.protobuf.Timestam" +
|
||||||
"finished_with_drop_for_rate_limiting\030\004 \001" +
|
"p\022\031\n\021num_calls_started\030\002 \001(\003\022\032\n\022num_call" +
|
||||||
"(\003\0227\n/num_calls_finished_with_drop_for_l" +
|
"s_finished\030\003 \001(\003\0225\n-num_calls_finished_w" +
|
||||||
"oad_balancing\030\005 \001(\003\0225\n-num_calls_finishe" +
|
"ith_client_failed_to_send\030\006 \001(\003\022)\n!num_c" +
|
||||||
"d_with_client_failed_to_send\030\006 \001(\003\022)\n!nu" +
|
"alls_finished_known_received\030\007 \001(\003\022A\n\030ca" +
|
||||||
"m_calls_finished_known_received\030\007 \001(\003\"\246\001" +
|
"lls_finished_with_drop\030\010 \003(\0132\037.grpc.lb.v" +
|
||||||
"\n\023LoadBalanceResponse\022B\n\020initial_respons" +
|
"1.ClientStatsPerTokenJ\004\010\004\020\005J\004\010\005\020\006\"\246\001\n\023Lo" +
|
||||||
"e\030\001 \001(\0132&.grpc.lb.v1.InitialLoadBalanceR" +
|
"adBalanceResponse\022B\n\020initial_response\030\001 " +
|
||||||
"esponseH\000\022-\n\013server_list\030\002 \001(\0132\026.grpc.lb" +
|
"\001(\0132&.grpc.lb.v1.InitialLoadBalanceRespo" +
|
||||||
".v1.ServerListH\000B\034\n\032load_balance_respons",
|
"nseH\000\022-\n\013server_list\030\002 \001(\0132\026.grpc.lb.v1.",
|
||||||
"e_type\"}\n\032InitialLoadBalanceResponse\022\036\n\026" +
|
"ServerListH\000B\034\n\032load_balance_response_ty" +
|
||||||
"load_balancer_delegate\030\001 \001(\t\022?\n\034client_s" +
|
"pe\"}\n\032InitialLoadBalanceResponse\022\036\n\026load" +
|
||||||
"tats_report_interval\030\002 \001(\0132\031.google.prot" +
|
"_balancer_delegate\030\001 \001(\t\022?\n\034client_stats" +
|
||||||
"obuf.Duration\"i\n\nServerList\022#\n\007servers\030\001" +
|
"_report_interval\030\002 \001(\0132\031.google.protobuf" +
|
||||||
" \003(\0132\022.grpc.lb.v1.Server\0226\n\023expiration_i" +
|
".Duration\"i\n\nServerList\022#\n\007servers\030\001 \003(\013" +
|
||||||
"nterval\030\003 \001(\0132\031.google.protobuf.Duration" +
|
"2\022.grpc.lb.v1.Server\0226\n\023expiration_inter" +
|
||||||
"\"\207\001\n\006Server\022\022\n\nip_address\030\001 \001(\014\022\014\n\004port\030" +
|
"val\030\003 \001(\0132\031.google.protobuf.Duration\"Z\n\006" +
|
||||||
"\002 \001(\005\022\032\n\022load_balance_token\030\003 \001(\t\022\036\n\026dro" +
|
"Server\022\022\n\nip_address\030\001 \001(\014\022\014\n\004port\030\002 \001(\005" +
|
||||||
"p_for_rate_limiting\030\004 \001(\010\022\037\n\027drop_for_lo" +
|
"\022\032\n\022load_balance_token\030\003 \001(\t\022\014\n\004drop\030\004 \001" +
|
||||||
"ad_balancing\030\005 \001(\0102b\n\014LoadBalancer\022R\n\013Ba",
|
"(\010J\004\010\005\020\0062b\n\014LoadBalancer\022R\n\013BalanceLoad\022",
|
||||||
"lanceLoad\022\036.grpc.lb.v1.LoadBalanceReques" +
|
"\036.grpc.lb.v1.LoadBalanceRequest\032\037.grpc.l" +
|
||||||
"t\032\037.grpc.lb.v1.LoadBalanceResponse(\0010\001B%" +
|
"b.v1.LoadBalanceResponse(\0010\001B%\n\016io.grpc." +
|
||||||
"\n\016io.grpc.grpclbB\021LoadBalancerProtoP\001b\006p" +
|
"grpclbB\021LoadBalancerProtoP\001b\006proto3"
|
||||||
"roto3"
|
|
||||||
};
|
};
|
||||||
com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
|
com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
|
||||||
new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
|
new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
|
||||||
|
|
@ -119,36 +123,42 @@ public final class LoadBalancerProto {
|
||||||
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
|
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
|
||||||
internal_static_grpc_lb_v1_InitialLoadBalanceRequest_descriptor,
|
internal_static_grpc_lb_v1_InitialLoadBalanceRequest_descriptor,
|
||||||
new java.lang.String[] { "Name", });
|
new java.lang.String[] { "Name", });
|
||||||
internal_static_grpc_lb_v1_ClientStats_descriptor =
|
internal_static_grpc_lb_v1_ClientStatsPerToken_descriptor =
|
||||||
getDescriptor().getMessageTypes().get(2);
|
getDescriptor().getMessageTypes().get(2);
|
||||||
|
internal_static_grpc_lb_v1_ClientStatsPerToken_fieldAccessorTable = new
|
||||||
|
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
|
||||||
|
internal_static_grpc_lb_v1_ClientStatsPerToken_descriptor,
|
||||||
|
new java.lang.String[] { "LoadBalanceToken", "NumCalls", });
|
||||||
|
internal_static_grpc_lb_v1_ClientStats_descriptor =
|
||||||
|
getDescriptor().getMessageTypes().get(3);
|
||||||
internal_static_grpc_lb_v1_ClientStats_fieldAccessorTable = new
|
internal_static_grpc_lb_v1_ClientStats_fieldAccessorTable = new
|
||||||
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
|
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
|
||||||
internal_static_grpc_lb_v1_ClientStats_descriptor,
|
internal_static_grpc_lb_v1_ClientStats_descriptor,
|
||||||
new java.lang.String[] { "Timestamp", "NumCallsStarted", "NumCallsFinished", "NumCallsFinishedWithDropForRateLimiting", "NumCallsFinishedWithDropForLoadBalancing", "NumCallsFinishedWithClientFailedToSend", "NumCallsFinishedKnownReceived", });
|
new java.lang.String[] { "Timestamp", "NumCallsStarted", "NumCallsFinished", "NumCallsFinishedWithClientFailedToSend", "NumCallsFinishedKnownReceived", "CallsFinishedWithDrop", });
|
||||||
internal_static_grpc_lb_v1_LoadBalanceResponse_descriptor =
|
internal_static_grpc_lb_v1_LoadBalanceResponse_descriptor =
|
||||||
getDescriptor().getMessageTypes().get(3);
|
getDescriptor().getMessageTypes().get(4);
|
||||||
internal_static_grpc_lb_v1_LoadBalanceResponse_fieldAccessorTable = new
|
internal_static_grpc_lb_v1_LoadBalanceResponse_fieldAccessorTable = new
|
||||||
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
|
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
|
||||||
internal_static_grpc_lb_v1_LoadBalanceResponse_descriptor,
|
internal_static_grpc_lb_v1_LoadBalanceResponse_descriptor,
|
||||||
new java.lang.String[] { "InitialResponse", "ServerList", "LoadBalanceResponseType", });
|
new java.lang.String[] { "InitialResponse", "ServerList", "LoadBalanceResponseType", });
|
||||||
internal_static_grpc_lb_v1_InitialLoadBalanceResponse_descriptor =
|
internal_static_grpc_lb_v1_InitialLoadBalanceResponse_descriptor =
|
||||||
getDescriptor().getMessageTypes().get(4);
|
getDescriptor().getMessageTypes().get(5);
|
||||||
internal_static_grpc_lb_v1_InitialLoadBalanceResponse_fieldAccessorTable = new
|
internal_static_grpc_lb_v1_InitialLoadBalanceResponse_fieldAccessorTable = new
|
||||||
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
|
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
|
||||||
internal_static_grpc_lb_v1_InitialLoadBalanceResponse_descriptor,
|
internal_static_grpc_lb_v1_InitialLoadBalanceResponse_descriptor,
|
||||||
new java.lang.String[] { "LoadBalancerDelegate", "ClientStatsReportInterval", });
|
new java.lang.String[] { "LoadBalancerDelegate", "ClientStatsReportInterval", });
|
||||||
internal_static_grpc_lb_v1_ServerList_descriptor =
|
internal_static_grpc_lb_v1_ServerList_descriptor =
|
||||||
getDescriptor().getMessageTypes().get(5);
|
getDescriptor().getMessageTypes().get(6);
|
||||||
internal_static_grpc_lb_v1_ServerList_fieldAccessorTable = new
|
internal_static_grpc_lb_v1_ServerList_fieldAccessorTable = new
|
||||||
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
|
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
|
||||||
internal_static_grpc_lb_v1_ServerList_descriptor,
|
internal_static_grpc_lb_v1_ServerList_descriptor,
|
||||||
new java.lang.String[] { "Servers", "ExpirationInterval", });
|
new java.lang.String[] { "Servers", "ExpirationInterval", });
|
||||||
internal_static_grpc_lb_v1_Server_descriptor =
|
internal_static_grpc_lb_v1_Server_descriptor =
|
||||||
getDescriptor().getMessageTypes().get(6);
|
getDescriptor().getMessageTypes().get(7);
|
||||||
internal_static_grpc_lb_v1_Server_fieldAccessorTable = new
|
internal_static_grpc_lb_v1_Server_fieldAccessorTable = new
|
||||||
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
|
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
|
||||||
internal_static_grpc_lb_v1_Server_descriptor,
|
internal_static_grpc_lb_v1_Server_descriptor,
|
||||||
new java.lang.String[] { "IpAddress", "Port", "LoadBalanceToken", "DropForRateLimiting", "DropForLoadBalancing", });
|
new java.lang.String[] { "IpAddress", "Port", "LoadBalanceToken", "Drop", });
|
||||||
com.google.protobuf.DurationProto.getDescriptor();
|
com.google.protobuf.DurationProto.getDescriptor();
|
||||||
com.google.protobuf.TimestampProto.getDescriptor();
|
com.google.protobuf.TimestampProto.getDescriptor();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,8 @@ package io.grpc.grpclb;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <pre>
|
* <pre>
|
||||||
* Contains server information. When none of the [drop_for_*] fields are true,
|
* Contains server information. When the drop field is not true, use the other
|
||||||
* use the other fields. When drop_for_rate_limiting is true, ignore all other
|
* fields.
|
||||||
* fields. Use drop_for_load_balancing only when it is true and
|
|
||||||
* drop_for_rate_limiting is false.
|
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* Protobuf type {@code grpc.lb.v1.Server}
|
* Protobuf type {@code grpc.lb.v1.Server}
|
||||||
|
|
@ -25,8 +23,7 @@ public final class Server extends
|
||||||
ipAddress_ = com.google.protobuf.ByteString.EMPTY;
|
ipAddress_ = com.google.protobuf.ByteString.EMPTY;
|
||||||
port_ = 0;
|
port_ = 0;
|
||||||
loadBalanceToken_ = "";
|
loadBalanceToken_ = "";
|
||||||
dropForRateLimiting_ = false;
|
drop_ = false;
|
||||||
dropForLoadBalancing_ = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@java.lang.Override
|
@java.lang.Override
|
||||||
|
|
@ -72,12 +69,7 @@ public final class Server extends
|
||||||
}
|
}
|
||||||
case 32: {
|
case 32: {
|
||||||
|
|
||||||
dropForRateLimiting_ = input.readBool();
|
drop_ = input.readBool();
|
||||||
break;
|
|
||||||
}
|
|
||||||
case 40: {
|
|
||||||
|
|
||||||
dropForLoadBalancing_ = input.readBool();
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -137,7 +129,8 @@ public final class Server extends
|
||||||
* An opaque but printable token given to the frontend for each pick. All
|
* An opaque but printable token given to the frontend for each pick. All
|
||||||
* frontend requests for that pick must include the token in its initial
|
* frontend requests for that pick must include the token in its initial
|
||||||
* metadata. The token is used by the backend to verify the request and to
|
* metadata. The token is used by the backend to verify the request and to
|
||||||
* allow the backend to report load to the gRPC LB system.
|
* allow the backend to report load to the gRPC LB system. The token is also
|
||||||
|
* used in client stats for reporting dropped calls.
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* <code>string load_balance_token = 3;</code>
|
* <code>string load_balance_token = 3;</code>
|
||||||
|
|
@ -159,7 +152,8 @@ public final class Server extends
|
||||||
* An opaque but printable token given to the frontend for each pick. All
|
* An opaque but printable token given to the frontend for each pick. All
|
||||||
* frontend requests for that pick must include the token in its initial
|
* frontend requests for that pick must include the token in its initial
|
||||||
* metadata. The token is used by the backend to verify the request and to
|
* metadata. The token is used by the backend to verify the request and to
|
||||||
* allow the backend to report load to the gRPC LB system.
|
* allow the backend to report load to the gRPC LB system. The token is also
|
||||||
|
* used in client stats for reporting dropped calls.
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* <code>string load_balance_token = 3;</code>
|
* <code>string load_balance_token = 3;</code>
|
||||||
|
|
@ -178,32 +172,19 @@ public final class Server extends
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final int DROP_FOR_RATE_LIMITING_FIELD_NUMBER = 4;
|
public static final int DROP_FIELD_NUMBER = 4;
|
||||||
private boolean dropForRateLimiting_;
|
private boolean drop_;
|
||||||
/**
|
/**
|
||||||
* <pre>
|
* <pre>
|
||||||
* Indicates whether this particular request should be dropped by the client
|
* Indicates whether this particular request should be dropped by the client.
|
||||||
* for rate limiting.
|
* If the request is dropped, there will be a corresponding entry in
|
||||||
|
* ClientStats.calls_finished_with_drop.
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* <code>bool drop_for_rate_limiting = 4;</code>
|
* <code>bool drop = 4;</code>
|
||||||
*/
|
*/
|
||||||
public boolean getDropForRateLimiting() {
|
public boolean getDrop() {
|
||||||
return dropForRateLimiting_;
|
return drop_;
|
||||||
}
|
|
||||||
|
|
||||||
public static final int DROP_FOR_LOAD_BALANCING_FIELD_NUMBER = 5;
|
|
||||||
private boolean dropForLoadBalancing_;
|
|
||||||
/**
|
|
||||||
* <pre>
|
|
||||||
* Indicates whether this particular request should be dropped by the client
|
|
||||||
* for load balancing.
|
|
||||||
* </pre>
|
|
||||||
*
|
|
||||||
* <code>bool drop_for_load_balancing = 5;</code>
|
|
||||||
*/
|
|
||||||
public boolean getDropForLoadBalancing() {
|
|
||||||
return dropForLoadBalancing_;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private byte memoizedIsInitialized = -1;
|
private byte memoizedIsInitialized = -1;
|
||||||
|
|
@ -227,11 +208,8 @@ public final class Server extends
|
||||||
if (!getLoadBalanceTokenBytes().isEmpty()) {
|
if (!getLoadBalanceTokenBytes().isEmpty()) {
|
||||||
com.google.protobuf.GeneratedMessageV3.writeString(output, 3, loadBalanceToken_);
|
com.google.protobuf.GeneratedMessageV3.writeString(output, 3, loadBalanceToken_);
|
||||||
}
|
}
|
||||||
if (dropForRateLimiting_ != false) {
|
if (drop_ != false) {
|
||||||
output.writeBool(4, dropForRateLimiting_);
|
output.writeBool(4, drop_);
|
||||||
}
|
|
||||||
if (dropForLoadBalancing_ != false) {
|
|
||||||
output.writeBool(5, dropForLoadBalancing_);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -251,13 +229,9 @@ public final class Server extends
|
||||||
if (!getLoadBalanceTokenBytes().isEmpty()) {
|
if (!getLoadBalanceTokenBytes().isEmpty()) {
|
||||||
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, loadBalanceToken_);
|
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, loadBalanceToken_);
|
||||||
}
|
}
|
||||||
if (dropForRateLimiting_ != false) {
|
if (drop_ != false) {
|
||||||
size += com.google.protobuf.CodedOutputStream
|
size += com.google.protobuf.CodedOutputStream
|
||||||
.computeBoolSize(4, dropForRateLimiting_);
|
.computeBoolSize(4, drop_);
|
||||||
}
|
|
||||||
if (dropForLoadBalancing_ != false) {
|
|
||||||
size += com.google.protobuf.CodedOutputStream
|
|
||||||
.computeBoolSize(5, dropForLoadBalancing_);
|
|
||||||
}
|
}
|
||||||
memoizedSize = size;
|
memoizedSize = size;
|
||||||
return size;
|
return size;
|
||||||
|
|
@ -281,10 +255,8 @@ public final class Server extends
|
||||||
== other.getPort());
|
== other.getPort());
|
||||||
result = result && getLoadBalanceToken()
|
result = result && getLoadBalanceToken()
|
||||||
.equals(other.getLoadBalanceToken());
|
.equals(other.getLoadBalanceToken());
|
||||||
result = result && (getDropForRateLimiting()
|
result = result && (getDrop()
|
||||||
== other.getDropForRateLimiting());
|
== other.getDrop());
|
||||||
result = result && (getDropForLoadBalancing()
|
|
||||||
== other.getDropForLoadBalancing());
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -301,12 +273,9 @@ public final class Server extends
|
||||||
hash = (53 * hash) + getPort();
|
hash = (53 * hash) + getPort();
|
||||||
hash = (37 * hash) + LOAD_BALANCE_TOKEN_FIELD_NUMBER;
|
hash = (37 * hash) + LOAD_BALANCE_TOKEN_FIELD_NUMBER;
|
||||||
hash = (53 * hash) + getLoadBalanceToken().hashCode();
|
hash = (53 * hash) + getLoadBalanceToken().hashCode();
|
||||||
hash = (37 * hash) + DROP_FOR_RATE_LIMITING_FIELD_NUMBER;
|
hash = (37 * hash) + DROP_FIELD_NUMBER;
|
||||||
hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
|
hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
|
||||||
getDropForRateLimiting());
|
getDrop());
|
||||||
hash = (37 * hash) + DROP_FOR_LOAD_BALANCING_FIELD_NUMBER;
|
|
||||||
hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
|
|
||||||
getDropForLoadBalancing());
|
|
||||||
hash = (29 * hash) + unknownFields.hashCode();
|
hash = (29 * hash) + unknownFields.hashCode();
|
||||||
memoizedHashCode = hash;
|
memoizedHashCode = hash;
|
||||||
return hash;
|
return hash;
|
||||||
|
|
@ -402,10 +371,8 @@ public final class Server extends
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* <pre>
|
* <pre>
|
||||||
* Contains server information. When none of the [drop_for_*] fields are true,
|
* Contains server information. When the drop field is not true, use the other
|
||||||
* use the other fields. When drop_for_rate_limiting is true, ignore all other
|
* fields.
|
||||||
* fields. Use drop_for_load_balancing only when it is true and
|
|
||||||
* drop_for_rate_limiting is false.
|
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* Protobuf type {@code grpc.lb.v1.Server}
|
* Protobuf type {@code grpc.lb.v1.Server}
|
||||||
|
|
@ -449,9 +416,7 @@ public final class Server extends
|
||||||
|
|
||||||
loadBalanceToken_ = "";
|
loadBalanceToken_ = "";
|
||||||
|
|
||||||
dropForRateLimiting_ = false;
|
drop_ = false;
|
||||||
|
|
||||||
dropForLoadBalancing_ = false;
|
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
@ -478,8 +443,7 @@ public final class Server extends
|
||||||
result.ipAddress_ = ipAddress_;
|
result.ipAddress_ = ipAddress_;
|
||||||
result.port_ = port_;
|
result.port_ = port_;
|
||||||
result.loadBalanceToken_ = loadBalanceToken_;
|
result.loadBalanceToken_ = loadBalanceToken_;
|
||||||
result.dropForRateLimiting_ = dropForRateLimiting_;
|
result.drop_ = drop_;
|
||||||
result.dropForLoadBalancing_ = dropForLoadBalancing_;
|
|
||||||
onBuilt();
|
onBuilt();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
@ -531,11 +495,8 @@ public final class Server extends
|
||||||
loadBalanceToken_ = other.loadBalanceToken_;
|
loadBalanceToken_ = other.loadBalanceToken_;
|
||||||
onChanged();
|
onChanged();
|
||||||
}
|
}
|
||||||
if (other.getDropForRateLimiting() != false) {
|
if (other.getDrop() != false) {
|
||||||
setDropForRateLimiting(other.getDropForRateLimiting());
|
setDrop(other.getDrop());
|
||||||
}
|
|
||||||
if (other.getDropForLoadBalancing() != false) {
|
|
||||||
setDropForLoadBalancing(other.getDropForLoadBalancing());
|
|
||||||
}
|
}
|
||||||
onChanged();
|
onChanged();
|
||||||
return this;
|
return this;
|
||||||
|
|
@ -651,7 +612,8 @@ public final class Server extends
|
||||||
* An opaque but printable token given to the frontend for each pick. All
|
* An opaque but printable token given to the frontend for each pick. All
|
||||||
* frontend requests for that pick must include the token in its initial
|
* frontend requests for that pick must include the token in its initial
|
||||||
* metadata. The token is used by the backend to verify the request and to
|
* metadata. The token is used by the backend to verify the request and to
|
||||||
* allow the backend to report load to the gRPC LB system.
|
* allow the backend to report load to the gRPC LB system. The token is also
|
||||||
|
* used in client stats for reporting dropped calls.
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* <code>string load_balance_token = 3;</code>
|
* <code>string load_balance_token = 3;</code>
|
||||||
|
|
@ -673,7 +635,8 @@ public final class Server extends
|
||||||
* An opaque but printable token given to the frontend for each pick. All
|
* An opaque but printable token given to the frontend for each pick. All
|
||||||
* frontend requests for that pick must include the token in its initial
|
* frontend requests for that pick must include the token in its initial
|
||||||
* metadata. The token is used by the backend to verify the request and to
|
* metadata. The token is used by the backend to verify the request and to
|
||||||
* allow the backend to report load to the gRPC LB system.
|
* allow the backend to report load to the gRPC LB system. The token is also
|
||||||
|
* used in client stats for reporting dropped calls.
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* <code>string load_balance_token = 3;</code>
|
* <code>string load_balance_token = 3;</code>
|
||||||
|
|
@ -696,7 +659,8 @@ public final class Server extends
|
||||||
* An opaque but printable token given to the frontend for each pick. All
|
* An opaque but printable token given to the frontend for each pick. All
|
||||||
* frontend requests for that pick must include the token in its initial
|
* frontend requests for that pick must include the token in its initial
|
||||||
* metadata. The token is used by the backend to verify the request and to
|
* metadata. The token is used by the backend to verify the request and to
|
||||||
* allow the backend to report load to the gRPC LB system.
|
* allow the backend to report load to the gRPC LB system. The token is also
|
||||||
|
* used in client stats for reporting dropped calls.
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* <code>string load_balance_token = 3;</code>
|
* <code>string load_balance_token = 3;</code>
|
||||||
|
|
@ -716,7 +680,8 @@ public final class Server extends
|
||||||
* An opaque but printable token given to the frontend for each pick. All
|
* An opaque but printable token given to the frontend for each pick. All
|
||||||
* frontend requests for that pick must include the token in its initial
|
* frontend requests for that pick must include the token in its initial
|
||||||
* metadata. The token is used by the backend to verify the request and to
|
* metadata. The token is used by the backend to verify the request and to
|
||||||
* allow the backend to report load to the gRPC LB system.
|
* allow the backend to report load to the gRPC LB system. The token is also
|
||||||
|
* used in client stats for reporting dropped calls.
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* <code>string load_balance_token = 3;</code>
|
* <code>string load_balance_token = 3;</code>
|
||||||
|
|
@ -732,7 +697,8 @@ public final class Server extends
|
||||||
* An opaque but printable token given to the frontend for each pick. All
|
* An opaque but printable token given to the frontend for each pick. All
|
||||||
* frontend requests for that pick must include the token in its initial
|
* frontend requests for that pick must include the token in its initial
|
||||||
* metadata. The token is used by the backend to verify the request and to
|
* metadata. The token is used by the backend to verify the request and to
|
||||||
* allow the backend to report load to the gRPC LB system.
|
* allow the backend to report load to the gRPC LB system. The token is also
|
||||||
|
* used in client stats for reporting dropped calls.
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* <code>string load_balance_token = 3;</code>
|
* <code>string load_balance_token = 3;</code>
|
||||||
|
|
@ -749,84 +715,46 @@ public final class Server extends
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean dropForRateLimiting_ ;
|
private boolean drop_ ;
|
||||||
/**
|
/**
|
||||||
* <pre>
|
* <pre>
|
||||||
* Indicates whether this particular request should be dropped by the client
|
* Indicates whether this particular request should be dropped by the client.
|
||||||
* for rate limiting.
|
* If the request is dropped, there will be a corresponding entry in
|
||||||
|
* ClientStats.calls_finished_with_drop.
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* <code>bool drop_for_rate_limiting = 4;</code>
|
* <code>bool drop = 4;</code>
|
||||||
*/
|
*/
|
||||||
public boolean getDropForRateLimiting() {
|
public boolean getDrop() {
|
||||||
return dropForRateLimiting_;
|
return drop_;
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* <pre>
|
* <pre>
|
||||||
* Indicates whether this particular request should be dropped by the client
|
* Indicates whether this particular request should be dropped by the client.
|
||||||
* for rate limiting.
|
* If the request is dropped, there will be a corresponding entry in
|
||||||
|
* ClientStats.calls_finished_with_drop.
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* <code>bool drop_for_rate_limiting = 4;</code>
|
* <code>bool drop = 4;</code>
|
||||||
*/
|
*/
|
||||||
public Builder setDropForRateLimiting(boolean value) {
|
public Builder setDrop(boolean value) {
|
||||||
|
|
||||||
dropForRateLimiting_ = value;
|
drop_ = value;
|
||||||
onChanged();
|
onChanged();
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* <pre>
|
* <pre>
|
||||||
* Indicates whether this particular request should be dropped by the client
|
* Indicates whether this particular request should be dropped by the client.
|
||||||
* for rate limiting.
|
* If the request is dropped, there will be a corresponding entry in
|
||||||
|
* ClientStats.calls_finished_with_drop.
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* <code>bool drop_for_rate_limiting = 4;</code>
|
* <code>bool drop = 4;</code>
|
||||||
*/
|
*/
|
||||||
public Builder clearDropForRateLimiting() {
|
public Builder clearDrop() {
|
||||||
|
|
||||||
dropForRateLimiting_ = false;
|
drop_ = false;
|
||||||
onChanged();
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean dropForLoadBalancing_ ;
|
|
||||||
/**
|
|
||||||
* <pre>
|
|
||||||
* Indicates whether this particular request should be dropped by the client
|
|
||||||
* for load balancing.
|
|
||||||
* </pre>
|
|
||||||
*
|
|
||||||
* <code>bool drop_for_load_balancing = 5;</code>
|
|
||||||
*/
|
|
||||||
public boolean getDropForLoadBalancing() {
|
|
||||||
return dropForLoadBalancing_;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* <pre>
|
|
||||||
* Indicates whether this particular request should be dropped by the client
|
|
||||||
* for load balancing.
|
|
||||||
* </pre>
|
|
||||||
*
|
|
||||||
* <code>bool drop_for_load_balancing = 5;</code>
|
|
||||||
*/
|
|
||||||
public Builder setDropForLoadBalancing(boolean value) {
|
|
||||||
|
|
||||||
dropForLoadBalancing_ = value;
|
|
||||||
onChanged();
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* <pre>
|
|
||||||
* Indicates whether this particular request should be dropped by the client
|
|
||||||
* for load balancing.
|
|
||||||
* </pre>
|
|
||||||
*
|
|
||||||
* <code>bool drop_for_load_balancing = 5;</code>
|
|
||||||
*/
|
|
||||||
public Builder clearDropForLoadBalancing() {
|
|
||||||
|
|
||||||
dropForLoadBalancing_ = false;
|
|
||||||
onChanged();
|
onChanged();
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,8 @@ public interface ServerOrBuilder extends
|
||||||
* An opaque but printable token given to the frontend for each pick. All
|
* An opaque but printable token given to the frontend for each pick. All
|
||||||
* frontend requests for that pick must include the token in its initial
|
* frontend requests for that pick must include the token in its initial
|
||||||
* metadata. The token is used by the backend to verify the request and to
|
* metadata. The token is used by the backend to verify the request and to
|
||||||
* allow the backend to report load to the gRPC LB system.
|
* allow the backend to report load to the gRPC LB system. The token is also
|
||||||
|
* used in client stats for reporting dropped calls.
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* <code>string load_balance_token = 3;</code>
|
* <code>string load_balance_token = 3;</code>
|
||||||
|
|
@ -42,7 +43,8 @@ public interface ServerOrBuilder extends
|
||||||
* An opaque but printable token given to the frontend for each pick. All
|
* An opaque but printable token given to the frontend for each pick. All
|
||||||
* frontend requests for that pick must include the token in its initial
|
* frontend requests for that pick must include the token in its initial
|
||||||
* metadata. The token is used by the backend to verify the request and to
|
* metadata. The token is used by the backend to verify the request and to
|
||||||
* allow the backend to report load to the gRPC LB system.
|
* allow the backend to report load to the gRPC LB system. The token is also
|
||||||
|
* used in client stats for reporting dropped calls.
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* <code>string load_balance_token = 3;</code>
|
* <code>string load_balance_token = 3;</code>
|
||||||
|
|
@ -52,21 +54,12 @@ public interface ServerOrBuilder extends
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <pre>
|
* <pre>
|
||||||
* Indicates whether this particular request should be dropped by the client
|
* Indicates whether this particular request should be dropped by the client.
|
||||||
* for rate limiting.
|
* If the request is dropped, there will be a corresponding entry in
|
||||||
|
* ClientStats.calls_finished_with_drop.
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* <code>bool drop_for_rate_limiting = 4;</code>
|
* <code>bool drop = 4;</code>
|
||||||
*/
|
*/
|
||||||
boolean getDropForRateLimiting();
|
boolean getDrop();
|
||||||
|
|
||||||
/**
|
|
||||||
* <pre>
|
|
||||||
* Indicates whether this particular request should be dropped by the client
|
|
||||||
* for load balancing.
|
|
||||||
* </pre>
|
|
||||||
*
|
|
||||||
* <code>bool drop_for_load_balancing = 5;</code>
|
|
||||||
*/
|
|
||||||
boolean getDropForLoadBalancing();
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,8 +23,11 @@ import io.grpc.CallOptions;
|
||||||
import io.grpc.ClientStreamTracer;
|
import io.grpc.ClientStreamTracer;
|
||||||
import io.grpc.Metadata;
|
import io.grpc.Metadata;
|
||||||
import io.grpc.Status;
|
import io.grpc.Status;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
import java.util.concurrent.atomic.AtomicLong;
|
import java.util.concurrent.atomic.AtomicLong;
|
||||||
|
import javax.annotation.concurrent.GuardedBy;
|
||||||
import javax.annotation.concurrent.ThreadSafe;
|
import javax.annotation.concurrent.ThreadSafe;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -38,8 +41,10 @@ final class GrpclbClientLoadRecorder extends ClientStreamTracer.Factory {
|
||||||
private final AtomicLong callsFinished = new AtomicLong();
|
private final AtomicLong callsFinished = new AtomicLong();
|
||||||
|
|
||||||
// Specific finish types
|
// Specific finish types
|
||||||
private final AtomicLong callsDroppedForRateLimiting = new AtomicLong();
|
// Access to it should be protected by lock. Contention is not an issue for these counts, because
|
||||||
private final AtomicLong callsDroppedForLoadBalancing = new AtomicLong();
|
// normally only a small portion of all RPCs are dropped.
|
||||||
|
@GuardedBy("this")
|
||||||
|
private HashMap<String, AtomicLong> callsDroppedPerToken = new HashMap<String, AtomicLong>();
|
||||||
private final AtomicLong callsFailedToSend = new AtomicLong();
|
private final AtomicLong callsFailedToSend = new AtomicLong();
|
||||||
private final AtomicLong callsFinishedKnownReceived = new AtomicLong();
|
private final AtomicLong callsFinishedKnownReceived = new AtomicLong();
|
||||||
|
|
||||||
|
|
@ -56,18 +61,18 @@ final class GrpclbClientLoadRecorder extends ClientStreamTracer.Factory {
|
||||||
/**
|
/**
|
||||||
* Records that a request has been dropped as instructed by the remote balancer.
|
* Records that a request has been dropped as instructed by the remote balancer.
|
||||||
*/
|
*/
|
||||||
void recordDroppedRequest(DropType type) {
|
void recordDroppedRequest(String token) {
|
||||||
callsStarted.incrementAndGet();
|
callsStarted.incrementAndGet();
|
||||||
callsFinished.incrementAndGet();
|
callsFinished.incrementAndGet();
|
||||||
switch (type) {
|
|
||||||
case RATE_LIMITING:
|
synchronized (this) {
|
||||||
callsDroppedForRateLimiting.incrementAndGet();
|
AtomicLong count = callsDroppedPerToken.get(token);
|
||||||
break;
|
if (count == null) {
|
||||||
case LOAD_BALANCING:
|
count = new AtomicLong(1);
|
||||||
callsDroppedForLoadBalancing.incrementAndGet();
|
callsDroppedPerToken.put(token, count);
|
||||||
break;
|
} else {
|
||||||
default:
|
count.incrementAndGet();
|
||||||
throw new AssertionError("Unsupported DropType: " + type);
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -75,15 +80,26 @@ final class GrpclbClientLoadRecorder extends ClientStreamTracer.Factory {
|
||||||
* Generate the report with the data recorded this LB stream since the last report.
|
* Generate the report with the data recorded this LB stream since the last report.
|
||||||
*/
|
*/
|
||||||
ClientStats generateLoadReport() {
|
ClientStats generateLoadReport() {
|
||||||
return ClientStats.newBuilder()
|
ClientStats.Builder statsBuilder =
|
||||||
|
ClientStats.newBuilder()
|
||||||
.setTimestamp(Timestamps.fromMillis(time.currentTimeMillis()))
|
.setTimestamp(Timestamps.fromMillis(time.currentTimeMillis()))
|
||||||
.setNumCallsStarted(callsStarted.getAndSet(0))
|
.setNumCallsStarted(callsStarted.getAndSet(0))
|
||||||
.setNumCallsFinished(callsFinished.getAndSet(0))
|
.setNumCallsFinished(callsFinished.getAndSet(0))
|
||||||
.setNumCallsFinishedWithDropForRateLimiting(callsDroppedForRateLimiting.getAndSet(0))
|
|
||||||
.setNumCallsFinishedWithDropForLoadBalancing(callsDroppedForLoadBalancing.getAndSet(0))
|
|
||||||
.setNumCallsFinishedWithClientFailedToSend(callsFailedToSend.getAndSet(0))
|
.setNumCallsFinishedWithClientFailedToSend(callsFailedToSend.getAndSet(0))
|
||||||
.setNumCallsFinishedKnownReceived(callsFinishedKnownReceived.getAndSet(0))
|
.setNumCallsFinishedKnownReceived(callsFinishedKnownReceived.getAndSet(0));
|
||||||
.build();
|
HashMap<String, AtomicLong> savedCallsDroppedPerToken;
|
||||||
|
synchronized (this) {
|
||||||
|
savedCallsDroppedPerToken = callsDroppedPerToken;
|
||||||
|
callsDroppedPerToken = new HashMap<String, AtomicLong>();
|
||||||
|
}
|
||||||
|
for (Map.Entry<String, AtomicLong> dropCount : savedCallsDroppedPerToken.entrySet()) {
|
||||||
|
statsBuilder.addCallsFinishedWithDrop(
|
||||||
|
ClientStatsPerToken.newBuilder()
|
||||||
|
.setLoadBalanceToken(dropCount.getKey())
|
||||||
|
.setNumCalls(dropCount.getValue().get())
|
||||||
|
.build());
|
||||||
|
}
|
||||||
|
return statsBuilder.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
private class StreamTracer extends ClientStreamTracer {
|
private class StreamTracer extends ClientStreamTracer {
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,6 @@ import java.net.SocketAddress;
|
||||||
import java.net.UnknownHostException;
|
import java.net.UnknownHostException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.EnumMap;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
@ -72,19 +71,8 @@ class GrpclbLoadBalancer extends LoadBalancer implements WithLogId {
|
||||||
private static final Logger logger = Logger.getLogger(GrpclbLoadBalancer.class.getName());
|
private static final Logger logger = Logger.getLogger(GrpclbLoadBalancer.class.getName());
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
static final Map<DropType, PickResult> DROP_PICK_RESULTS;
|
static final PickResult DROP_PICK_RESULT =
|
||||||
|
PickResult.withError(Status.UNAVAILABLE.withDescription("Dropped as requested by balancer"));
|
||||||
static {
|
|
||||||
EnumMap<DropType, PickResult> map = new EnumMap<DropType, PickResult>(DropType.class);
|
|
||||||
for (DropType dropType : DropType.values()) {
|
|
||||||
map.put(
|
|
||||||
dropType,
|
|
||||||
PickResult.withError(
|
|
||||||
Status.UNAVAILABLE.withDescription(
|
|
||||||
"Dropped as requested by balancer. Type: " + dropType)));
|
|
||||||
}
|
|
||||||
DROP_PICK_RESULTS = Collections.unmodifiableMap(map);
|
|
||||||
}
|
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
static final SubchannelPicker BUFFER_PICKER = new SubchannelPicker() {
|
static final SubchannelPicker BUFFER_PICKER = new SubchannelPicker() {
|
||||||
|
|
@ -457,10 +445,9 @@ class GrpclbLoadBalancer extends LoadBalancer implements WithLogId {
|
||||||
// TODO(zhangkun83): honor expiration_interval
|
// TODO(zhangkun83): honor expiration_interval
|
||||||
// Construct the new collections. Create new Subchannels when necessary.
|
// Construct the new collections. Create new Subchannels when necessary.
|
||||||
for (Server server : serverList.getServersList()) {
|
for (Server server : serverList.getServersList()) {
|
||||||
if (server.getDropForRateLimiting()) {
|
String token = server.getLoadBalanceToken();
|
||||||
newRoundRobinList.add(new RoundRobinEntry(DropType.RATE_LIMITING, loadRecorder));
|
if (server.getDrop()) {
|
||||||
} else if (server.getDropForLoadBalancing()) {
|
newRoundRobinList.add(RoundRobinEntry.newDropEntry(loadRecorder, token));
|
||||||
newRoundRobinList.add(new RoundRobinEntry(DropType.LOAD_BALANCING, loadRecorder));
|
|
||||||
} else {
|
} else {
|
||||||
InetSocketAddress address;
|
InetSocketAddress address;
|
||||||
try {
|
try {
|
||||||
|
|
@ -471,7 +458,6 @@ class GrpclbLoadBalancer extends LoadBalancer implements WithLogId {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
EquivalentAddressGroup eag = new EquivalentAddressGroup(address);
|
EquivalentAddressGroup eag = new EquivalentAddressGroup(address);
|
||||||
String token = server.getLoadBalanceToken();
|
|
||||||
Subchannel subchannel = newSubchannelMap.get(eag);
|
Subchannel subchannel = newSubchannelMap.get(eag);
|
||||||
if (subchannel == null) {
|
if (subchannel == null) {
|
||||||
subchannel = subchannels.get(eag);
|
subchannel = subchannels.get(eag);
|
||||||
|
|
@ -486,7 +472,7 @@ class GrpclbLoadBalancer extends LoadBalancer implements WithLogId {
|
||||||
}
|
}
|
||||||
newSubchannelMap.put(eag, subchannel);
|
newSubchannelMap.put(eag, subchannel);
|
||||||
}
|
}
|
||||||
newRoundRobinList.add(new RoundRobinEntry(subchannel, loadRecorder, token));
|
newRoundRobinList.add(RoundRobinEntry.newEntry(subchannel, loadRecorder, token));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Close Subchannels whose addresses have been delisted
|
// Close Subchannels whose addresses have been delisted
|
||||||
|
|
@ -665,35 +651,33 @@ class GrpclbLoadBalancer extends LoadBalancer implements WithLogId {
|
||||||
static final class RoundRobinEntry {
|
static final class RoundRobinEntry {
|
||||||
final PickResult result;
|
final PickResult result;
|
||||||
final GrpclbClientLoadRecorder loadRecorder;
|
final GrpclbClientLoadRecorder loadRecorder;
|
||||||
@Nullable
|
final String token;
|
||||||
private final String token;
|
|
||||||
@Nullable
|
|
||||||
private final DropType dropType;
|
|
||||||
|
|
||||||
/**
|
private RoundRobinEntry(
|
||||||
* A non-drop result.
|
PickResult result, GrpclbClientLoadRecorder loadRecorder, String token) {
|
||||||
*/
|
this.result = checkNotNull(result);
|
||||||
RoundRobinEntry(Subchannel subchannel, GrpclbClientLoadRecorder loadRecorder, String token) {
|
|
||||||
this.loadRecorder = checkNotNull(loadRecorder, "loadRecorder");
|
this.loadRecorder = checkNotNull(loadRecorder, "loadRecorder");
|
||||||
this.result = PickResult.withSubchannel(subchannel, loadRecorder);
|
this.token = checkNotNull(token, "token");
|
||||||
this.token = token;
|
|
||||||
this.dropType = null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A drop result.
|
* Create a non-drop result.
|
||||||
*/
|
*/
|
||||||
RoundRobinEntry(DropType dropType, GrpclbClientLoadRecorder loadRecorder) {
|
static RoundRobinEntry newEntry(
|
||||||
this.loadRecorder = checkNotNull(loadRecorder, "loadRecorder");
|
Subchannel subchannel, GrpclbClientLoadRecorder loadRecorder, String token) {
|
||||||
// We re-use the status for each DropType to make it easy to test, because Status class
|
return new RoundRobinEntry(
|
||||||
// intentionally doesn't implement equals().
|
PickResult.withSubchannel(subchannel, loadRecorder), loadRecorder, token);
|
||||||
this.result = DROP_PICK_RESULTS.get(dropType);
|
}
|
||||||
this.token = null;
|
|
||||||
this.dropType = dropType;
|
/**
|
||||||
|
* Create a drop result.
|
||||||
|
*/
|
||||||
|
static RoundRobinEntry newDropEntry(GrpclbClientLoadRecorder loadRecorder, String token) {
|
||||||
|
return new RoundRobinEntry(DROP_PICK_RESULT, loadRecorder, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
void updateHeaders(Metadata headers) {
|
void updateHeaders(Metadata headers) {
|
||||||
if (token != null) {
|
if (!isDrop()) {
|
||||||
headers.discardAll(GrpclbConstants.TOKEN_METADATA_KEY);
|
headers.discardAll(GrpclbConstants.TOKEN_METADATA_KEY);
|
||||||
headers.put(GrpclbConstants.TOKEN_METADATA_KEY, token);
|
headers.put(GrpclbConstants.TOKEN_METADATA_KEY, token);
|
||||||
}
|
}
|
||||||
|
|
@ -704,13 +688,12 @@ class GrpclbLoadBalancer extends LoadBalancer implements WithLogId {
|
||||||
return MoreObjects.toStringHelper(this)
|
return MoreObjects.toStringHelper(this)
|
||||||
.add("result", result)
|
.add("result", result)
|
||||||
.add("token", token)
|
.add("token", token)
|
||||||
.add("dropType", dropType)
|
|
||||||
.toString();
|
.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return Objects.hashCode(result, token, dropType);
|
return Objects.hashCode(result, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -719,8 +702,11 @@ class GrpclbLoadBalancer extends LoadBalancer implements WithLogId {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
RoundRobinEntry that = (RoundRobinEntry) other;
|
RoundRobinEntry that = (RoundRobinEntry) other;
|
||||||
return Objects.equal(result, that.result) && Objects.equal(token, that.token)
|
return Objects.equal(result, that.result) && Objects.equal(token, that.token);
|
||||||
&& Objects.equal(dropType, that.dropType);
|
}
|
||||||
|
|
||||||
|
boolean isDrop() {
|
||||||
|
return result == DROP_PICK_RESULT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -743,8 +729,8 @@ class GrpclbLoadBalancer extends LoadBalancer implements WithLogId {
|
||||||
index = 0;
|
index = 0;
|
||||||
}
|
}
|
||||||
result.updateHeaders(args.getHeaders());
|
result.updateHeaders(args.getHeaders());
|
||||||
if (result.dropType != null) {
|
if (result.isDrop()) {
|
||||||
result.loadRecorder.recordDroppedRequest(result.dropType);
|
result.loadRecorder.recordDroppedRequest(result.token);
|
||||||
}
|
}
|
||||||
return result.result;
|
return result.result;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,15 @@ message InitialLoadBalanceRequest {
|
||||||
string name = 1;
|
string name = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Contains the number of calls finished for a particular load balance token.
|
||||||
|
message ClientStatsPerToken {
|
||||||
|
// See Server.load_balance_token.
|
||||||
|
string load_balance_token = 1;
|
||||||
|
|
||||||
|
// The total number of RPCs that finished associated with the token.
|
||||||
|
int64 num_calls = 2;
|
||||||
|
}
|
||||||
|
|
||||||
// Contains client level statistics that are useful to load balancing. Each
|
// Contains client level statistics that are useful to load balancing. Each
|
||||||
// count except the timestamp should be reset to zero after reporting the stats.
|
// count except the timestamp should be reset to zero after reporting the stats.
|
||||||
message ClientStats {
|
message ClientStats {
|
||||||
|
|
@ -46,20 +55,17 @@ message ClientStats {
|
||||||
// The total number of RPCs that finished.
|
// The total number of RPCs that finished.
|
||||||
int64 num_calls_finished = 3;
|
int64 num_calls_finished = 3;
|
||||||
|
|
||||||
// The total number of RPCs that were dropped by the client because of rate
|
|
||||||
// limiting.
|
|
||||||
int64 num_calls_finished_with_drop_for_rate_limiting = 4;
|
|
||||||
|
|
||||||
// The total number of RPCs that were dropped by the client because of load
|
|
||||||
// balancing.
|
|
||||||
int64 num_calls_finished_with_drop_for_load_balancing = 5;
|
|
||||||
|
|
||||||
// The total number of RPCs that failed to reach a server except dropped RPCs.
|
// The total number of RPCs that failed to reach a server except dropped RPCs.
|
||||||
int64 num_calls_finished_with_client_failed_to_send = 6;
|
int64 num_calls_finished_with_client_failed_to_send = 6;
|
||||||
|
|
||||||
// The total number of RPCs that finished and are known to have been received
|
// The total number of RPCs that finished and are known to have been received
|
||||||
// by a server.
|
// by a server.
|
||||||
int64 num_calls_finished_known_received = 7;
|
int64 num_calls_finished_known_received = 7;
|
||||||
|
|
||||||
|
// The list of dropped calls.
|
||||||
|
repeated ClientStatsPerToken calls_finished_with_drop = 8;
|
||||||
|
|
||||||
|
reserved 4, 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
message LoadBalanceResponse {
|
message LoadBalanceResponse {
|
||||||
|
|
@ -101,10 +107,8 @@ message ServerList {
|
||||||
google.protobuf.Duration expiration_interval = 3;
|
google.protobuf.Duration expiration_interval = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Contains server information. When none of the [drop_for_*] fields are true,
|
// Contains server information. When the drop field is not true, use the other
|
||||||
// use the other fields. When drop_for_rate_limiting is true, ignore all other
|
// fields.
|
||||||
// fields. Use drop_for_load_balancing only when it is true and
|
|
||||||
// drop_for_rate_limiting is false.
|
|
||||||
message Server {
|
message Server {
|
||||||
// A resolved address for the server, serialized in network-byte-order. It may
|
// A resolved address for the server, serialized in network-byte-order. It may
|
||||||
// either be an IPv4 or IPv6 address.
|
// either be an IPv4 or IPv6 address.
|
||||||
|
|
@ -116,14 +120,14 @@ message Server {
|
||||||
// An opaque but printable token given to the frontend for each pick. All
|
// An opaque but printable token given to the frontend for each pick. All
|
||||||
// frontend requests for that pick must include the token in its initial
|
// frontend requests for that pick must include the token in its initial
|
||||||
// metadata. The token is used by the backend to verify the request and to
|
// metadata. The token is used by the backend to verify the request and to
|
||||||
// allow the backend to report load to the gRPC LB system.
|
// allow the backend to report load to the gRPC LB system. The token is also
|
||||||
|
// used in client stats for reporting dropped calls.
|
||||||
string load_balance_token = 3;
|
string load_balance_token = 3;
|
||||||
|
|
||||||
// Indicates whether this particular request should be dropped by the client
|
// Indicates whether this particular request should be dropped by the client.
|
||||||
// for rate limiting.
|
// If the request is dropped, there will be a corresponding entry in
|
||||||
bool drop_for_rate_limiting = 4;
|
// ClientStats.calls_finished_with_drop.
|
||||||
|
bool drop = 4;
|
||||||
|
|
||||||
// Indicates whether this particular request should be dropped by the client
|
reserved 5;
|
||||||
// for load balancing.
|
|
||||||
bool drop_for_load_balancing = 5;
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,6 @@ import static org.junit.Assert.assertFalse;
|
||||||
import static org.junit.Assert.assertNull;
|
import static org.junit.Assert.assertNull;
|
||||||
import static org.junit.Assert.assertSame;
|
import static org.junit.Assert.assertSame;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
import static org.junit.Assert.fail;
|
|
||||||
import static org.mockito.Matchers.any;
|
import static org.mockito.Matchers.any;
|
||||||
import static org.mockito.Matchers.eq;
|
import static org.mockito.Matchers.eq;
|
||||||
import static org.mockito.Matchers.same;
|
import static org.mockito.Matchers.same;
|
||||||
|
|
@ -250,9 +249,9 @@ public class GrpclbLoadBalancerTest {
|
||||||
public void roundRobinPicker() {
|
public void roundRobinPicker() {
|
||||||
GrpclbClientLoadRecorder loadRecorder = new GrpclbClientLoadRecorder(timeProvider);
|
GrpclbClientLoadRecorder loadRecorder = new GrpclbClientLoadRecorder(timeProvider);
|
||||||
Subchannel subchannel = mock(Subchannel.class);
|
Subchannel subchannel = mock(Subchannel.class);
|
||||||
RoundRobinEntry r1 = new RoundRobinEntry(DropType.RATE_LIMITING, loadRecorder);
|
RoundRobinEntry r1 = RoundRobinEntry.newDropEntry(loadRecorder, "LBTOKEN0001");
|
||||||
RoundRobinEntry r2 = new RoundRobinEntry(subchannel, loadRecorder, "LBTOKEN0001");
|
RoundRobinEntry r2 = RoundRobinEntry.newEntry(subchannel, loadRecorder, "LBTOKEN0001");
|
||||||
RoundRobinEntry r3 = new RoundRobinEntry(subchannel, loadRecorder, "LBTOKEN0002");
|
RoundRobinEntry r3 = RoundRobinEntry.newEntry(subchannel, loadRecorder, "LBTOKEN0002");
|
||||||
|
|
||||||
List<RoundRobinEntry> list = Arrays.asList(r1, r2, r3);
|
List<RoundRobinEntry> list = Arrays.asList(r1, r2, r3);
|
||||||
RoundRobinPicker picker = new RoundRobinPicker(list);
|
RoundRobinPicker picker = new RoundRobinPicker(list);
|
||||||
|
|
@ -332,9 +331,9 @@ public class GrpclbLoadBalancerTest {
|
||||||
|
|
||||||
List<ServerEntry> backends = Arrays.asList(
|
List<ServerEntry> backends = Arrays.asList(
|
||||||
new ServerEntry("127.0.0.1", 2000, "token0001"),
|
new ServerEntry("127.0.0.1", 2000, "token0001"),
|
||||||
new ServerEntry(DropType.RATE_LIMITING),
|
new ServerEntry("token0001"),
|
||||||
new ServerEntry("127.0.0.1", 2010, "token0002"),
|
new ServerEntry("127.0.0.1", 2010, "token0002"),
|
||||||
new ServerEntry(DropType.LOAD_BALANCING));
|
new ServerEntry("token0003"));
|
||||||
|
|
||||||
lbResponseObserver.onNext(buildLbResponse(backends));
|
lbResponseObserver.onNext(buildLbResponse(backends));
|
||||||
|
|
||||||
|
|
@ -350,10 +349,10 @@ public class GrpclbLoadBalancerTest {
|
||||||
.updateBalancingState(eq(READY), pickerCaptor.capture());
|
.updateBalancingState(eq(READY), pickerCaptor.capture());
|
||||||
RoundRobinPicker picker = (RoundRobinPicker) pickerCaptor.getValue();
|
RoundRobinPicker picker = (RoundRobinPicker) pickerCaptor.getValue();
|
||||||
assertThat(picker.list).containsExactly(
|
assertThat(picker.list).containsExactly(
|
||||||
new RoundRobinEntry(subchannel1, balancer.getLoadRecorder(), "token0001"),
|
RoundRobinEntry.newEntry(subchannel1, balancer.getLoadRecorder(), "token0001"),
|
||||||
new RoundRobinEntry(DropType.RATE_LIMITING, balancer.getLoadRecorder()),
|
RoundRobinEntry.newDropEntry(balancer.getLoadRecorder(), "token0001"),
|
||||||
new RoundRobinEntry(subchannel2, balancer.getLoadRecorder(), "token0002"),
|
RoundRobinEntry.newEntry(subchannel2, balancer.getLoadRecorder(), "token0002"),
|
||||||
new RoundRobinEntry(DropType.LOAD_BALANCING, balancer.getLoadRecorder())).inOrder();
|
RoundRobinEntry.newDropEntry(balancer.getLoadRecorder(), "token0003")).inOrder();
|
||||||
|
|
||||||
// Report, no data
|
// Report, no data
|
||||||
assertNextReport(
|
assertNextReport(
|
||||||
|
|
@ -374,7 +373,7 @@ public class GrpclbLoadBalancerTest {
|
||||||
|
|
||||||
PickResult pick2 = picker.pickSubchannel(args);
|
PickResult pick2 = picker.pickSubchannel(args);
|
||||||
assertNull(pick2.getSubchannel());
|
assertNull(pick2.getSubchannel());
|
||||||
assertSame(GrpclbLoadBalancer.DROP_PICK_RESULTS.get(DropType.RATE_LIMITING), pick2);
|
assertSame(GrpclbLoadBalancer.DROP_PICK_RESULT, pick2);
|
||||||
|
|
||||||
// Report includes upstart of pick1 and the drop of pick2
|
// Report includes upstart of pick1 and the drop of pick2
|
||||||
assertNextReport(
|
assertNextReport(
|
||||||
|
|
@ -382,7 +381,11 @@ public class GrpclbLoadBalancerTest {
|
||||||
ClientStats.newBuilder()
|
ClientStats.newBuilder()
|
||||||
.setNumCallsStarted(2)
|
.setNumCallsStarted(2)
|
||||||
.setNumCallsFinished(1) // pick2
|
.setNumCallsFinished(1) // pick2
|
||||||
.setNumCallsFinishedWithDropForRateLimiting(1) // pick2
|
.addCallsFinishedWithDrop(
|
||||||
|
ClientStatsPerToken.newBuilder()
|
||||||
|
.setLoadBalanceToken("token0001")
|
||||||
|
.setNumCalls(1) // pick2
|
||||||
|
.build())
|
||||||
.build());
|
.build());
|
||||||
|
|
||||||
PickResult pick3 = picker.pickSubchannel(args);
|
PickResult pick3 = picker.pickSubchannel(args);
|
||||||
|
|
@ -403,7 +406,7 @@ public class GrpclbLoadBalancerTest {
|
||||||
|
|
||||||
PickResult pick4 = picker.pickSubchannel(args);
|
PickResult pick4 = picker.pickSubchannel(args);
|
||||||
assertNull(pick4.getSubchannel());
|
assertNull(pick4.getSubchannel());
|
||||||
assertSame(GrpclbLoadBalancer.DROP_PICK_RESULTS.get(DropType.LOAD_BALANCING), pick4);
|
assertSame(GrpclbLoadBalancer.DROP_PICK_RESULT, pick4);
|
||||||
|
|
||||||
// pick1 ended without sending anything
|
// pick1 ended without sending anything
|
||||||
tracer1.streamClosed(Status.CANCELLED);
|
tracer1.streamClosed(Status.CANCELLED);
|
||||||
|
|
@ -415,7 +418,11 @@ public class GrpclbLoadBalancerTest {
|
||||||
.setNumCallsStarted(1) // pick4
|
.setNumCallsStarted(1) // pick4
|
||||||
.setNumCallsFinished(2)
|
.setNumCallsFinished(2)
|
||||||
.setNumCallsFinishedWithClientFailedToSend(1) // pick1
|
.setNumCallsFinishedWithClientFailedToSend(1) // pick1
|
||||||
.setNumCallsFinishedWithDropForLoadBalancing(1) // pick4
|
.addCallsFinishedWithDrop(
|
||||||
|
ClientStatsPerToken.newBuilder()
|
||||||
|
.setLoadBalanceToken("token0003")
|
||||||
|
.setNumCalls(1) // pick4
|
||||||
|
.build())
|
||||||
.build());
|
.build());
|
||||||
|
|
||||||
PickResult pick5 = picker.pickSubchannel(args);
|
PickResult pick5 = picker.pickSubchannel(args);
|
||||||
|
|
@ -478,7 +485,7 @@ public class GrpclbLoadBalancerTest {
|
||||||
// that picker is associated with the previous stream.
|
// that picker is associated with the previous stream.
|
||||||
PickResult pick6 = picker.pickSubchannel(args);
|
PickResult pick6 = picker.pickSubchannel(args);
|
||||||
assertNull(pick6.getSubchannel());
|
assertNull(pick6.getSubchannel());
|
||||||
assertSame(GrpclbLoadBalancer.DROP_PICK_RESULTS.get(DropType.RATE_LIMITING), pick6);
|
assertSame(GrpclbLoadBalancer.DROP_PICK_RESULT, pick6);
|
||||||
assertNextReport(
|
assertNextReport(
|
||||||
inOrder, lbRequestObserver, loadReportIntervalMillis,
|
inOrder, lbRequestObserver, loadReportIntervalMillis,
|
||||||
ClientStats.newBuilder().build());
|
ClientStats.newBuilder().build());
|
||||||
|
|
@ -930,14 +937,14 @@ public class GrpclbLoadBalancerTest {
|
||||||
RoundRobinPicker picker1 = (RoundRobinPicker) pickerCaptor.getValue();
|
RoundRobinPicker picker1 = (RoundRobinPicker) pickerCaptor.getValue();
|
||||||
|
|
||||||
assertThat(picker1.list).containsExactly(
|
assertThat(picker1.list).containsExactly(
|
||||||
new RoundRobinEntry(subchannel2, balancer.getLoadRecorder(), "token0002"));
|
RoundRobinEntry.newEntry(subchannel2, balancer.getLoadRecorder(), "token0002"));
|
||||||
|
|
||||||
deliverSubchannelState(subchannel1, ConnectivityStateInfo.forNonError(READY));
|
deliverSubchannelState(subchannel1, ConnectivityStateInfo.forNonError(READY));
|
||||||
inOrder.verify(helper).updateBalancingState(eq(READY), pickerCaptor.capture());
|
inOrder.verify(helper).updateBalancingState(eq(READY), pickerCaptor.capture());
|
||||||
RoundRobinPicker picker2 = (RoundRobinPicker) pickerCaptor.getValue();
|
RoundRobinPicker picker2 = (RoundRobinPicker) pickerCaptor.getValue();
|
||||||
assertThat(picker2.list).containsExactly(
|
assertThat(picker2.list).containsExactly(
|
||||||
new RoundRobinEntry(subchannel1, balancer.getLoadRecorder(), "token0001"),
|
RoundRobinEntry.newEntry(subchannel1, balancer.getLoadRecorder(), "token0001"),
|
||||||
new RoundRobinEntry(subchannel2, balancer.getLoadRecorder(), "token0002"))
|
RoundRobinEntry.newEntry(subchannel2, balancer.getLoadRecorder(), "token0002"))
|
||||||
.inOrder();
|
.inOrder();
|
||||||
|
|
||||||
// Disconnected subchannels
|
// Disconnected subchannels
|
||||||
|
|
@ -947,7 +954,7 @@ public class GrpclbLoadBalancerTest {
|
||||||
inOrder.verify(helper).updateBalancingState(eq(READY), pickerCaptor.capture());
|
inOrder.verify(helper).updateBalancingState(eq(READY), pickerCaptor.capture());
|
||||||
RoundRobinPicker picker3 = (RoundRobinPicker) pickerCaptor.getValue();
|
RoundRobinPicker picker3 = (RoundRobinPicker) pickerCaptor.getValue();
|
||||||
assertThat(picker3.list).containsExactly(
|
assertThat(picker3.list).containsExactly(
|
||||||
new RoundRobinEntry(subchannel2, balancer.getLoadRecorder(), "token0002"));
|
RoundRobinEntry.newEntry(subchannel2, balancer.getLoadRecorder(), "token0002"));
|
||||||
|
|
||||||
deliverSubchannelState(subchannel1, ConnectivityStateInfo.forNonError(CONNECTING));
|
deliverSubchannelState(subchannel1, ConnectivityStateInfo.forNonError(CONNECTING));
|
||||||
inOrder.verifyNoMoreInteractions();
|
inOrder.verifyNoMoreInteractions();
|
||||||
|
|
@ -967,10 +974,10 @@ public class GrpclbLoadBalancerTest {
|
||||||
List<ServerEntry> backends2 =
|
List<ServerEntry> backends2 =
|
||||||
Arrays.asList(
|
Arrays.asList(
|
||||||
new ServerEntry("127.0.0.1", 2030, "token0003"), // New address
|
new ServerEntry("127.0.0.1", 2030, "token0003"), // New address
|
||||||
new ServerEntry(DropType.RATE_LIMITING),
|
new ServerEntry("token0003"),
|
||||||
new ServerEntry("127.0.0.1", 2010, "token0004"), // Existing address with token changed
|
new ServerEntry("127.0.0.1", 2010, "token0004"), // Existing address with token changed
|
||||||
new ServerEntry("127.0.0.1", 2030, "token0005"), // New address appearing second time
|
new ServerEntry("127.0.0.1", 2030, "token0005"), // New address appearing second time
|
||||||
new ServerEntry(DropType.LOAD_BALANCING));
|
new ServerEntry("token0006"));
|
||||||
verify(subchannel1, never()).shutdown();
|
verify(subchannel1, never()).shutdown();
|
||||||
|
|
||||||
lbResponseObserver.onNext(buildLbResponse(backends2));
|
lbResponseObserver.onNext(buildLbResponse(backends2));
|
||||||
|
|
@ -988,8 +995,8 @@ public class GrpclbLoadBalancerTest {
|
||||||
inOrder.verify(helper).updateBalancingState(eq(READY), pickerCaptor.capture());
|
inOrder.verify(helper).updateBalancingState(eq(READY), pickerCaptor.capture());
|
||||||
RoundRobinPicker picker7 = (RoundRobinPicker) pickerCaptor.getValue();
|
RoundRobinPicker picker7 = (RoundRobinPicker) pickerCaptor.getValue();
|
||||||
assertThat(picker7.list).containsExactly(
|
assertThat(picker7.list).containsExactly(
|
||||||
new RoundRobinEntry(DropType.RATE_LIMITING, balancer.getLoadRecorder()),
|
RoundRobinEntry.newDropEntry(balancer.getLoadRecorder(), "token0003"),
|
||||||
new RoundRobinEntry(DropType.LOAD_BALANCING, balancer.getLoadRecorder())).inOrder();
|
RoundRobinEntry.newDropEntry(balancer.getLoadRecorder(), "token0006")).inOrder();
|
||||||
|
|
||||||
// State updates on obsolete subchannel1 will have no effect
|
// State updates on obsolete subchannel1 will have no effect
|
||||||
deliverSubchannelState(subchannel1, ConnectivityStateInfo.forNonError(READY));
|
deliverSubchannelState(subchannel1, ConnectivityStateInfo.forNonError(READY));
|
||||||
|
|
@ -1003,20 +1010,20 @@ public class GrpclbLoadBalancerTest {
|
||||||
RoundRobinPicker picker8 = (RoundRobinPicker) pickerCaptor.getValue();
|
RoundRobinPicker picker8 = (RoundRobinPicker) pickerCaptor.getValue();
|
||||||
// subchannel2 is still IDLE, thus not in the active list
|
// subchannel2 is still IDLE, thus not in the active list
|
||||||
assertThat(picker8.list).containsExactly(
|
assertThat(picker8.list).containsExactly(
|
||||||
new RoundRobinEntry(subchannel3, balancer.getLoadRecorder(), "token0003"),
|
RoundRobinEntry.newEntry(subchannel3, balancer.getLoadRecorder(), "token0003"),
|
||||||
new RoundRobinEntry(DropType.RATE_LIMITING, balancer.getLoadRecorder()),
|
RoundRobinEntry.newDropEntry(balancer.getLoadRecorder(), "token0003"),
|
||||||
new RoundRobinEntry(subchannel3, balancer.getLoadRecorder(), "token0005"),
|
RoundRobinEntry.newEntry(subchannel3, balancer.getLoadRecorder(), "token0005"),
|
||||||
new RoundRobinEntry(DropType.LOAD_BALANCING, balancer.getLoadRecorder())).inOrder();
|
RoundRobinEntry.newDropEntry(balancer.getLoadRecorder(), "token0006")).inOrder();
|
||||||
// subchannel2 becomes READY and makes it into the list
|
// subchannel2 becomes READY and makes it into the list
|
||||||
deliverSubchannelState(subchannel2, ConnectivityStateInfo.forNonError(READY));
|
deliverSubchannelState(subchannel2, ConnectivityStateInfo.forNonError(READY));
|
||||||
inOrder.verify(helper).updateBalancingState(eq(READY), pickerCaptor.capture());
|
inOrder.verify(helper).updateBalancingState(eq(READY), pickerCaptor.capture());
|
||||||
RoundRobinPicker picker9 = (RoundRobinPicker) pickerCaptor.getValue();
|
RoundRobinPicker picker9 = (RoundRobinPicker) pickerCaptor.getValue();
|
||||||
assertThat(picker9.list).containsExactly(
|
assertThat(picker9.list).containsExactly(
|
||||||
new RoundRobinEntry(subchannel3, balancer.getLoadRecorder(), "token0003"),
|
RoundRobinEntry.newEntry(subchannel3, balancer.getLoadRecorder(), "token0003"),
|
||||||
new RoundRobinEntry(DropType.RATE_LIMITING, balancer.getLoadRecorder()),
|
RoundRobinEntry.newDropEntry(balancer.getLoadRecorder(), "token0003"),
|
||||||
new RoundRobinEntry(subchannel2, balancer.getLoadRecorder(), "token0004"),
|
RoundRobinEntry.newEntry(subchannel2, balancer.getLoadRecorder(), "token0004"),
|
||||||
new RoundRobinEntry(subchannel3, balancer.getLoadRecorder(), "token0005"),
|
RoundRobinEntry.newEntry(subchannel3, balancer.getLoadRecorder(), "token0005"),
|
||||||
new RoundRobinEntry(DropType.LOAD_BALANCING, balancer.getLoadRecorder())).inOrder();
|
RoundRobinEntry.newDropEntry(balancer.getLoadRecorder(), "token0006")).inOrder();
|
||||||
verify(subchannel3, never()).shutdown();
|
verify(subchannel3, never()).shutdown();
|
||||||
|
|
||||||
// Update backends, with no entry
|
// Update backends, with no entry
|
||||||
|
|
@ -1134,23 +1141,17 @@ public class GrpclbLoadBalancerTest {
|
||||||
private static LoadBalanceResponse buildLbResponse(List<ServerEntry> servers) {
|
private static LoadBalanceResponse buildLbResponse(List<ServerEntry> servers) {
|
||||||
ServerList.Builder serverListBuilder = ServerList.newBuilder();
|
ServerList.Builder serverListBuilder = ServerList.newBuilder();
|
||||||
for (ServerEntry server : servers) {
|
for (ServerEntry server : servers) {
|
||||||
if (server.dropType == null) {
|
if (server.addr != null) {
|
||||||
serverListBuilder.addServers(Server.newBuilder()
|
serverListBuilder.addServers(Server.newBuilder()
|
||||||
.setIpAddress(ByteString.copyFrom(server.addr.getAddress().getAddress()))
|
.setIpAddress(ByteString.copyFrom(server.addr.getAddress().getAddress()))
|
||||||
.setPort(server.addr.getPort())
|
.setPort(server.addr.getPort())
|
||||||
.setLoadBalanceToken(server.token)
|
.setLoadBalanceToken(server.token)
|
||||||
.build());
|
.build());
|
||||||
} else {
|
} else {
|
||||||
switch (server.dropType) {
|
serverListBuilder.addServers(Server.newBuilder()
|
||||||
case RATE_LIMITING:
|
.setDrop(true)
|
||||||
serverListBuilder.addServers(Server.newBuilder().setDropForRateLimiting(true).build());
|
.setLoadBalanceToken(server.token)
|
||||||
break;
|
.build());
|
||||||
case LOAD_BALANCING:
|
|
||||||
serverListBuilder.addServers(Server.newBuilder().setDropForLoadBalancing(true).build());
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
fail("Unhandled " + server.dropType);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return LoadBalanceResponse.newBuilder()
|
return LoadBalanceResponse.newBuilder()
|
||||||
|
|
@ -1161,18 +1162,16 @@ public class GrpclbLoadBalancerTest {
|
||||||
private static class ServerEntry {
|
private static class ServerEntry {
|
||||||
final InetSocketAddress addr;
|
final InetSocketAddress addr;
|
||||||
final String token;
|
final String token;
|
||||||
final DropType dropType;
|
|
||||||
|
|
||||||
ServerEntry(String host, int port, String token) {
|
ServerEntry(String host, int port, String token) {
|
||||||
this.addr = new InetSocketAddress(host, port);
|
this.addr = new InetSocketAddress(host, port);
|
||||||
this.token = token;
|
this.token = token;
|
||||||
this.dropType = null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ServerEntry(DropType dropType) {
|
// Drop entry
|
||||||
this.dropType = dropType;
|
ServerEntry(String token) {
|
||||||
this.addr = null;
|
this.addr = null;
|
||||||
this.token = null;
|
this.token = token;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue