diff --git a/akka-cluster-sharding/src/main/java/akka/cluster/sharding/protobuf/msg/ClusterShardingMessages.java b/akka-cluster-sharding/src/main/java/akka/cluster/sharding/protobuf/msg/ClusterShardingMessages.java
index 3b190bec19..68fbe500df 100644
--- a/akka-cluster-sharding/src/main/java/akka/cluster/sharding/protobuf/msg/ClusterShardingMessages.java
+++ b/akka-cluster-sharding/src/main/java/akka/cluster/sharding/protobuf/msg/ClusterShardingMessages.java
@@ -6163,6 +6163,1232 @@ public final class ClusterShardingMessages {
// @@protoc_insertion_point(class_scope:ShardStats)
}
+ public interface ShardRegionStatsOrBuilder
+ extends akka.protobuf.MessageOrBuilder {
+
+ // repeated .MapFieldEntry stats = 1;
+ /**
+ * repeated .MapFieldEntry stats = 1;
+ */
+ java.util.List
+ getStatsList();
+ /**
+ * repeated .MapFieldEntry stats = 1;
+ */
+ akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry getStats(int index);
+ /**
+ * repeated .MapFieldEntry stats = 1;
+ */
+ int getStatsCount();
+ /**
+ * repeated .MapFieldEntry stats = 1;
+ */
+ java.util.List extends akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntryOrBuilder>
+ getStatsOrBuilderList();
+ /**
+ * repeated .MapFieldEntry stats = 1;
+ */
+ akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntryOrBuilder getStatsOrBuilder(
+ int index);
+ }
+ /**
+ * Protobuf type {@code ShardRegionStats}
+ */
+ public static final class ShardRegionStats extends
+ akka.protobuf.GeneratedMessage
+ implements ShardRegionStatsOrBuilder {
+ // Use ShardRegionStats.newBuilder() to construct.
+ private ShardRegionStats(akka.protobuf.GeneratedMessage.Builder> builder) {
+ super(builder);
+ this.unknownFields = builder.getUnknownFields();
+ }
+ private ShardRegionStats(boolean noInit) { this.unknownFields = akka.protobuf.UnknownFieldSet.getDefaultInstance(); }
+
+ private static final ShardRegionStats defaultInstance;
+ public static ShardRegionStats getDefaultInstance() {
+ return defaultInstance;
+ }
+
+ public ShardRegionStats getDefaultInstanceForType() {
+ return defaultInstance;
+ }
+
+ private final akka.protobuf.UnknownFieldSet unknownFields;
+ @java.lang.Override
+ public final akka.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private ShardRegionStats(
+ akka.protobuf.CodedInputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ initFields();
+ int mutable_bitField0_ = 0;
+ akka.protobuf.UnknownFieldSet.Builder unknownFields =
+ akka.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
+ stats_ = new java.util.ArrayList();
+ mutable_bitField0_ |= 0x00000001;
+ }
+ stats_.add(input.readMessage(akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.PARSER, extensionRegistry));
+ break;
+ }
+ }
+ }
+ } catch (akka.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new akka.protobuf.InvalidProtocolBufferException(
+ e.getMessage()).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
+ stats_ = java.util.Collections.unmodifiableList(stats_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final akka.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardRegionStats_descriptor;
+ }
+
+ protected akka.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardRegionStats_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats.class, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats.Builder.class);
+ }
+
+ public static akka.protobuf.Parser PARSER =
+ new akka.protobuf.AbstractParser() {
+ public ShardRegionStats parsePartialFrom(
+ akka.protobuf.CodedInputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return new ShardRegionStats(input, extensionRegistry);
+ }
+ };
+
+ @java.lang.Override
+ public akka.protobuf.Parser getParserForType() {
+ return PARSER;
+ }
+
+ // repeated .MapFieldEntry stats = 1;
+ public static final int STATS_FIELD_NUMBER = 1;
+ private java.util.List stats_;
+ /**
+ * repeated .MapFieldEntry stats = 1;
+ */
+ public java.util.List getStatsList() {
+ return stats_;
+ }
+ /**
+ * repeated .MapFieldEntry stats = 1;
+ */
+ public java.util.List extends akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntryOrBuilder>
+ getStatsOrBuilderList() {
+ return stats_;
+ }
+ /**
+ * repeated .MapFieldEntry stats = 1;
+ */
+ public int getStatsCount() {
+ return stats_.size();
+ }
+ /**
+ * repeated .MapFieldEntry stats = 1;
+ */
+ public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry getStats(int index) {
+ return stats_.get(index);
+ }
+ /**
+ * repeated .MapFieldEntry stats = 1;
+ */
+ public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntryOrBuilder getStatsOrBuilder(
+ int index) {
+ return stats_.get(index);
+ }
+
+ private void initFields() {
+ stats_ = java.util.Collections.emptyList();
+ }
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized != -1) return isInitialized == 1;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(akka.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ getSerializedSize();
+ for (int i = 0; i < stats_.size(); i++) {
+ output.writeMessage(1, stats_.get(i));
+ }
+ getUnknownFields().writeTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public int getSerializedSize() {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ for (int i = 0; i < stats_.size(); i++) {
+ size += akka.protobuf.CodedOutputStream
+ .computeMessageSize(1, stats_.get(i));
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSerializedSize = size;
+ return size;
+ }
+
+ private static final long serialVersionUID = 0L;
+ @java.lang.Override
+ protected java.lang.Object writeReplace()
+ throws java.io.ObjectStreamException {
+ return super.writeReplace();
+ }
+
+ public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats parseFrom(
+ akka.protobuf.ByteString data)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats parseFrom(
+ akka.protobuf.ByteString data,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats parseFrom(byte[] data)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats parseFrom(
+ byte[] data,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return PARSER.parseFrom(input);
+ }
+ public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats parseFrom(
+ java.io.InputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return PARSER.parseFrom(input, extensionRegistry);
+ }
+ public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return PARSER.parseDelimitedFrom(input);
+ }
+ public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats parseDelimitedFrom(
+ java.io.InputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return PARSER.parseDelimitedFrom(input, extensionRegistry);
+ }
+ public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats parseFrom(
+ akka.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return PARSER.parseFrom(input);
+ }
+ public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats parseFrom(
+ akka.protobuf.CodedInputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return PARSER.parseFrom(input, extensionRegistry);
+ }
+
+ public static Builder newBuilder() { return Builder.create(); }
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder(akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats prototype) {
+ return newBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ akka.protobuf.GeneratedMessage.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code ShardRegionStats}
+ */
+ public static final class Builder extends
+ akka.protobuf.GeneratedMessage.Builder
+ implements akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStatsOrBuilder {
+ public static final akka.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardRegionStats_descriptor;
+ }
+
+ protected akka.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardRegionStats_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats.class, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats.Builder.class);
+ }
+
+ // Construct using akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ akka.protobuf.GeneratedMessage.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (akka.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+ getStatsFieldBuilder();
+ }
+ }
+ private static Builder create() {
+ return new Builder();
+ }
+
+ public Builder clear() {
+ super.clear();
+ if (statsBuilder_ == null) {
+ stats_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000001);
+ } else {
+ statsBuilder_.clear();
+ }
+ return this;
+ }
+
+ public Builder clone() {
+ return create().mergeFrom(buildPartial());
+ }
+
+ public akka.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardRegionStats_descriptor;
+ }
+
+ public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats getDefaultInstanceForType() {
+ return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats.getDefaultInstance();
+ }
+
+ public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats build() {
+ akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats buildPartial() {
+ akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats result = new akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats(this);
+ int from_bitField0_ = bitField0_;
+ if (statsBuilder_ == null) {
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ stats_ = java.util.Collections.unmodifiableList(stats_);
+ bitField0_ = (bitField0_ & ~0x00000001);
+ }
+ result.stats_ = stats_;
+ } else {
+ result.stats_ = statsBuilder_.build();
+ }
+ onBuilt();
+ return result;
+ }
+
+ public Builder mergeFrom(akka.protobuf.Message other) {
+ if (other instanceof akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats) {
+ return mergeFrom((akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats other) {
+ if (other == akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats.getDefaultInstance()) return this;
+ if (statsBuilder_ == null) {
+ if (!other.stats_.isEmpty()) {
+ if (stats_.isEmpty()) {
+ stats_ = other.stats_;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ } else {
+ ensureStatsIsMutable();
+ stats_.addAll(other.stats_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.stats_.isEmpty()) {
+ if (statsBuilder_.isEmpty()) {
+ statsBuilder_.dispose();
+ statsBuilder_ = null;
+ stats_ = other.stats_;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ statsBuilder_ =
+ akka.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
+ getStatsFieldBuilder() : null;
+ } else {
+ statsBuilder_.addAllMessages(other.stats_);
+ }
+ }
+ }
+ this.mergeUnknownFields(other.getUnknownFields());
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ akka.protobuf.CodedInputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (akka.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats) e.getUnfinishedMessage();
+ throw e;
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ // repeated .MapFieldEntry stats = 1;
+ private java.util.List stats_ =
+ java.util.Collections.emptyList();
+ private void ensureStatsIsMutable() {
+ if (!((bitField0_ & 0x00000001) == 0x00000001)) {
+ stats_ = new java.util.ArrayList(stats_);
+ bitField0_ |= 0x00000001;
+ }
+ }
+
+ private akka.protobuf.RepeatedFieldBuilder<
+ akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.Builder, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntryOrBuilder> statsBuilder_;
+
+ /**
+ * repeated .MapFieldEntry stats = 1;
+ */
+ public java.util.List getStatsList() {
+ if (statsBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(stats_);
+ } else {
+ return statsBuilder_.getMessageList();
+ }
+ }
+ /**
+ * repeated .MapFieldEntry stats = 1;
+ */
+ public int getStatsCount() {
+ if (statsBuilder_ == null) {
+ return stats_.size();
+ } else {
+ return statsBuilder_.getCount();
+ }
+ }
+ /**
+ * repeated .MapFieldEntry stats = 1;
+ */
+ public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry getStats(int index) {
+ if (statsBuilder_ == null) {
+ return stats_.get(index);
+ } else {
+ return statsBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * repeated .MapFieldEntry stats = 1;
+ */
+ public Builder setStats(
+ int index, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry value) {
+ if (statsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureStatsIsMutable();
+ stats_.set(index, value);
+ onChanged();
+ } else {
+ statsBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * repeated .MapFieldEntry stats = 1;
+ */
+ public Builder setStats(
+ int index, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.Builder builderForValue) {
+ if (statsBuilder_ == null) {
+ ensureStatsIsMutable();
+ stats_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ statsBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * repeated .MapFieldEntry stats = 1;
+ */
+ public Builder addStats(akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry value) {
+ if (statsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureStatsIsMutable();
+ stats_.add(value);
+ onChanged();
+ } else {
+ statsBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * repeated .MapFieldEntry stats = 1;
+ */
+ public Builder addStats(
+ int index, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry value) {
+ if (statsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureStatsIsMutable();
+ stats_.add(index, value);
+ onChanged();
+ } else {
+ statsBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * repeated .MapFieldEntry stats = 1;
+ */
+ public Builder addStats(
+ akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.Builder builderForValue) {
+ if (statsBuilder_ == null) {
+ ensureStatsIsMutable();
+ stats_.add(builderForValue.build());
+ onChanged();
+ } else {
+ statsBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * repeated .MapFieldEntry stats = 1;
+ */
+ public Builder addStats(
+ int index, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.Builder builderForValue) {
+ if (statsBuilder_ == null) {
+ ensureStatsIsMutable();
+ stats_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ statsBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * repeated .MapFieldEntry stats = 1;
+ */
+ public Builder addAllStats(
+ java.lang.Iterable extends akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry> values) {
+ if (statsBuilder_ == null) {
+ ensureStatsIsMutable();
+ super.addAll(values, stats_);
+ onChanged();
+ } else {
+ statsBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * repeated .MapFieldEntry stats = 1;
+ */
+ public Builder clearStats() {
+ if (statsBuilder_ == null) {
+ stats_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000001);
+ onChanged();
+ } else {
+ statsBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * repeated .MapFieldEntry stats = 1;
+ */
+ public Builder removeStats(int index) {
+ if (statsBuilder_ == null) {
+ ensureStatsIsMutable();
+ stats_.remove(index);
+ onChanged();
+ } else {
+ statsBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * repeated .MapFieldEntry stats = 1;
+ */
+ public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.Builder getStatsBuilder(
+ int index) {
+ return getStatsFieldBuilder().getBuilder(index);
+ }
+ /**
+ * repeated .MapFieldEntry stats = 1;
+ */
+ public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntryOrBuilder getStatsOrBuilder(
+ int index) {
+ if (statsBuilder_ == null) {
+ return stats_.get(index); } else {
+ return statsBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * repeated .MapFieldEntry stats = 1;
+ */
+ public java.util.List extends akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntryOrBuilder>
+ getStatsOrBuilderList() {
+ if (statsBuilder_ != null) {
+ return statsBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(stats_);
+ }
+ }
+ /**
+ * repeated .MapFieldEntry stats = 1;
+ */
+ public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.Builder addStatsBuilder() {
+ return getStatsFieldBuilder().addBuilder(
+ akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.getDefaultInstance());
+ }
+ /**
+ * repeated .MapFieldEntry stats = 1;
+ */
+ public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.Builder addStatsBuilder(
+ int index) {
+ return getStatsFieldBuilder().addBuilder(
+ index, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.getDefaultInstance());
+ }
+ /**
+ * repeated .MapFieldEntry stats = 1;
+ */
+ public java.util.List
+ getStatsBuilderList() {
+ return getStatsFieldBuilder().getBuilderList();
+ }
+ private akka.protobuf.RepeatedFieldBuilder<
+ akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.Builder, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntryOrBuilder>
+ getStatsFieldBuilder() {
+ if (statsBuilder_ == null) {
+ statsBuilder_ = new akka.protobuf.RepeatedFieldBuilder<
+ akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.Builder, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntryOrBuilder>(
+ stats_,
+ ((bitField0_ & 0x00000001) == 0x00000001),
+ getParentForChildren(),
+ isClean());
+ stats_ = null;
+ }
+ return statsBuilder_;
+ }
+
+ // @@protoc_insertion_point(builder_scope:ShardRegionStats)
+ }
+
+ static {
+ defaultInstance = new ShardRegionStats(true);
+ defaultInstance.initFields();
+ }
+
+ // @@protoc_insertion_point(class_scope:ShardRegionStats)
+ }
+
+ public interface MapFieldEntryOrBuilder
+ extends akka.protobuf.MessageOrBuilder {
+
+ // optional string key = 1;
+ /**
+ * optional string key = 1;
+ */
+ boolean hasKey();
+ /**
+ * optional string key = 1;
+ */
+ java.lang.String getKey();
+ /**
+ * optional string key = 1;
+ */
+ akka.protobuf.ByteString
+ getKeyBytes();
+
+ // optional int32 value = 2;
+ /**
+ * optional int32 value = 2;
+ */
+ boolean hasValue();
+ /**
+ * optional int32 value = 2;
+ */
+ int getValue();
+ }
+ /**
+ * Protobuf type {@code MapFieldEntry}
+ */
+ public static final class MapFieldEntry extends
+ akka.protobuf.GeneratedMessage
+ implements MapFieldEntryOrBuilder {
+ // Use MapFieldEntry.newBuilder() to construct.
+ private MapFieldEntry(akka.protobuf.GeneratedMessage.Builder> builder) {
+ super(builder);
+ this.unknownFields = builder.getUnknownFields();
+ }
+ private MapFieldEntry(boolean noInit) { this.unknownFields = akka.protobuf.UnknownFieldSet.getDefaultInstance(); }
+
+ private static final MapFieldEntry defaultInstance;
+ public static MapFieldEntry getDefaultInstance() {
+ return defaultInstance;
+ }
+
+ public MapFieldEntry getDefaultInstanceForType() {
+ return defaultInstance;
+ }
+
+ private final akka.protobuf.UnknownFieldSet unknownFields;
+ @java.lang.Override
+ public final akka.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private MapFieldEntry(
+ akka.protobuf.CodedInputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ initFields();
+ int mutable_bitField0_ = 0;
+ akka.protobuf.UnknownFieldSet.Builder unknownFields =
+ akka.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ bitField0_ |= 0x00000001;
+ key_ = input.readBytes();
+ break;
+ }
+ case 16: {
+ bitField0_ |= 0x00000002;
+ value_ = input.readInt32();
+ break;
+ }
+ }
+ }
+ } catch (akka.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new akka.protobuf.InvalidProtocolBufferException(
+ e.getMessage()).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final akka.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_MapFieldEntry_descriptor;
+ }
+
+ protected akka.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_MapFieldEntry_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.class, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.Builder.class);
+ }
+
+ public static akka.protobuf.Parser PARSER =
+ new akka.protobuf.AbstractParser() {
+ public MapFieldEntry parsePartialFrom(
+ akka.protobuf.CodedInputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return new MapFieldEntry(input, extensionRegistry);
+ }
+ };
+
+ @java.lang.Override
+ public akka.protobuf.Parser getParserForType() {
+ return PARSER;
+ }
+
+ private int bitField0_;
+ // optional string key = 1;
+ public static final int KEY_FIELD_NUMBER = 1;
+ private java.lang.Object key_;
+ /**
+ * optional string key = 1;
+ */
+ public boolean hasKey() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * optional string key = 1;
+ */
+ public java.lang.String getKey() {
+ java.lang.Object ref = key_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ akka.protobuf.ByteString bs =
+ (akka.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ key_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * optional string key = 1;
+ */
+ public akka.protobuf.ByteString
+ getKeyBytes() {
+ java.lang.Object ref = key_;
+ if (ref instanceof java.lang.String) {
+ akka.protobuf.ByteString b =
+ akka.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ key_ = b;
+ return b;
+ } else {
+ return (akka.protobuf.ByteString) ref;
+ }
+ }
+
+ // optional int32 value = 2;
+ public static final int VALUE_FIELD_NUMBER = 2;
+ private int value_;
+ /**
+ * optional int32 value = 2;
+ */
+ public boolean hasValue() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * optional int32 value = 2;
+ */
+ public int getValue() {
+ return value_;
+ }
+
+ private void initFields() {
+ key_ = "";
+ value_ = 0;
+ }
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized != -1) return isInitialized == 1;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(akka.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ getSerializedSize();
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ output.writeBytes(1, getKeyBytes());
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ output.writeInt32(2, value_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public int getSerializedSize() {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ size += akka.protobuf.CodedOutputStream
+ .computeBytesSize(1, getKeyBytes());
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ size += akka.protobuf.CodedOutputStream
+ .computeInt32Size(2, value_);
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSerializedSize = size;
+ return size;
+ }
+
+ private static final long serialVersionUID = 0L;
+ @java.lang.Override
+ protected java.lang.Object writeReplace()
+ throws java.io.ObjectStreamException {
+ return super.writeReplace();
+ }
+
+ public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry parseFrom(
+ akka.protobuf.ByteString data)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry parseFrom(
+ akka.protobuf.ByteString data,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry parseFrom(byte[] data)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry parseFrom(
+ byte[] data,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return PARSER.parseFrom(input);
+ }
+ public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry parseFrom(
+ java.io.InputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return PARSER.parseFrom(input, extensionRegistry);
+ }
+ public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return PARSER.parseDelimitedFrom(input);
+ }
+ public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry parseDelimitedFrom(
+ java.io.InputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return PARSER.parseDelimitedFrom(input, extensionRegistry);
+ }
+ public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry parseFrom(
+ akka.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return PARSER.parseFrom(input);
+ }
+ public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry parseFrom(
+ akka.protobuf.CodedInputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return PARSER.parseFrom(input, extensionRegistry);
+ }
+
+ public static Builder newBuilder() { return Builder.create(); }
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder(akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry prototype) {
+ return newBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ akka.protobuf.GeneratedMessage.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code MapFieldEntry}
+ */
+ public static final class Builder extends
+ akka.protobuf.GeneratedMessage.Builder
+ implements akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntryOrBuilder {
+ public static final akka.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_MapFieldEntry_descriptor;
+ }
+
+ protected akka.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_MapFieldEntry_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.class, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.Builder.class);
+ }
+
+ // Construct using akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ akka.protobuf.GeneratedMessage.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (akka.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+ }
+ }
+ private static Builder create() {
+ return new Builder();
+ }
+
+ public Builder clear() {
+ super.clear();
+ key_ = "";
+ bitField0_ = (bitField0_ & ~0x00000001);
+ value_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ return this;
+ }
+
+ public Builder clone() {
+ return create().mergeFrom(buildPartial());
+ }
+
+ public akka.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_MapFieldEntry_descriptor;
+ }
+
+ public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry getDefaultInstanceForType() {
+ return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.getDefaultInstance();
+ }
+
+ public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry build() {
+ akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry buildPartial() {
+ akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry result = new akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ result.key_ = key_;
+ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+ to_bitField0_ |= 0x00000002;
+ }
+ result.value_ = value_;
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder mergeFrom(akka.protobuf.Message other) {
+ if (other instanceof akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry) {
+ return mergeFrom((akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry other) {
+ if (other == akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.getDefaultInstance()) return this;
+ if (other.hasKey()) {
+ bitField0_ |= 0x00000001;
+ key_ = other.key_;
+ onChanged();
+ }
+ if (other.hasValue()) {
+ setValue(other.getValue());
+ }
+ this.mergeUnknownFields(other.getUnknownFields());
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ akka.protobuf.CodedInputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (akka.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry) e.getUnfinishedMessage();
+ throw e;
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ // optional string key = 1;
+ private java.lang.Object key_ = "";
+ /**
+ * optional string key = 1;
+ */
+ public boolean hasKey() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * optional string key = 1;
+ */
+ public java.lang.String getKey() {
+ java.lang.Object ref = key_;
+ if (!(ref instanceof java.lang.String)) {
+ java.lang.String s = ((akka.protobuf.ByteString) ref)
+ .toStringUtf8();
+ key_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * optional string key = 1;
+ */
+ public akka.protobuf.ByteString
+ getKeyBytes() {
+ java.lang.Object ref = key_;
+ if (ref instanceof String) {
+ akka.protobuf.ByteString b =
+ akka.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ key_ = b;
+ return b;
+ } else {
+ return (akka.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * optional string key = 1;
+ */
+ public Builder setKey(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000001;
+ key_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * optional string key = 1;
+ */
+ public Builder clearKey() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ key_ = getDefaultInstance().getKey();
+ onChanged();
+ return this;
+ }
+ /**
+ * optional string key = 1;
+ */
+ public Builder setKeyBytes(
+ akka.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000001;
+ key_ = value;
+ onChanged();
+ return this;
+ }
+
+ // optional int32 value = 2;
+ private int value_ ;
+ /**
+ * optional int32 value = 2;
+ */
+ public boolean hasValue() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * optional int32 value = 2;
+ */
+ public int getValue() {
+ return value_;
+ }
+ /**
+ * optional int32 value = 2;
+ */
+ public Builder setValue(int value) {
+ bitField0_ |= 0x00000002;
+ value_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * optional int32 value = 2;
+ */
+ public Builder clearValue() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ value_ = 0;
+ onChanged();
+ return this;
+ }
+
+ // @@protoc_insertion_point(builder_scope:MapFieldEntry)
+ }
+
+ static {
+ defaultInstance = new MapFieldEntry(true);
+ defaultInstance.initFields();
+ }
+
+ // @@protoc_insertion_point(class_scope:MapFieldEntry)
+ }
+
public interface StartEntityOrBuilder
extends akka.protobuf.MessageOrBuilder {
@@ -7335,6 +8561,16 @@ public final class ClusterShardingMessages {
private static
akka.protobuf.GeneratedMessage.FieldAccessorTable
internal_static_ShardStats_fieldAccessorTable;
+ private static akka.protobuf.Descriptors.Descriptor
+ internal_static_ShardRegionStats_descriptor;
+ private static
+ akka.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_ShardRegionStats_fieldAccessorTable;
+ private static akka.protobuf.Descriptors.Descriptor
+ internal_static_MapFieldEntry_descriptor;
+ private static
+ akka.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_MapFieldEntry_fieldAccessorTable;
private static akka.protobuf.Descriptors.Descriptor
internal_static_StartEntity_descriptor;
private static
@@ -7367,10 +8603,12 @@ public final class ClusterShardingMessages {
"ties\030\001 \003(\t\"!\n\rEntityStarted\022\020\n\010entityId\030" +
"\001 \002(\t\"!\n\rEntityStopped\022\020\n\010entityId\030\001 \002(\t" +
"\"0\n\nShardStats\022\r\n\005shard\030\001 \002(\t\022\023\n\013entityC" +
- "ount\030\002 \002(\005\"\037\n\013StartEntity\022\020\n\010entityId\030\001 " +
- "\002(\t\"3\n\016StartEntityAck\022\020\n\010entityId\030\001 \002(\t\022" +
- "\017\n\007shardId\030\002 \002(\tB&\n\"akka.cluster.shardin" +
- "g.protobuf.msgH\001"
+ "ount\030\002 \002(\005\"1\n\020ShardRegionStats\022\035\n\005stats\030" +
+ "\001 \003(\0132\016.MapFieldEntry\"+\n\rMapFieldEntry\022\013" +
+ "\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\005\"\037\n\013StartEntit" +
+ "y\022\020\n\010entityId\030\001 \002(\t\"3\n\016StartEntityAck\022\020\n" +
+ "\010entityId\030\001 \002(\t\022\017\n\007shardId\030\002 \002(\tB&\n\"akka" +
+ ".cluster.sharding.protobuf.msgH\001"
};
akka.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
new akka.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
@@ -7437,14 +8675,26 @@ public final class ClusterShardingMessages {
akka.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_ShardStats_descriptor,
new java.lang.String[] { "Shard", "EntityCount", });
- internal_static_StartEntity_descriptor =
+ internal_static_ShardRegionStats_descriptor =
getDescriptor().getMessageTypes().get(9);
+ internal_static_ShardRegionStats_fieldAccessorTable = new
+ akka.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_ShardRegionStats_descriptor,
+ new java.lang.String[] { "Stats", });
+ internal_static_MapFieldEntry_descriptor =
+ getDescriptor().getMessageTypes().get(10);
+ internal_static_MapFieldEntry_fieldAccessorTable = new
+ akka.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_MapFieldEntry_descriptor,
+ new java.lang.String[] { "Key", "Value", });
+ internal_static_StartEntity_descriptor =
+ getDescriptor().getMessageTypes().get(11);
internal_static_StartEntity_fieldAccessorTable = new
akka.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_StartEntity_descriptor,
new java.lang.String[] { "EntityId", });
internal_static_StartEntityAck_descriptor =
- getDescriptor().getMessageTypes().get(10);
+ getDescriptor().getMessageTypes().get(12);
internal_static_StartEntityAck_fieldAccessorTable = new
akka.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_StartEntityAck_descriptor,
diff --git a/akka-cluster-sharding/src/main/protobuf/ClusterShardingMessages.proto b/akka-cluster-sharding/src/main/protobuf/ClusterShardingMessages.proto
index 7663a092d6..949bcc4f83 100644
--- a/akka-cluster-sharding/src/main/protobuf/ClusterShardingMessages.proto
+++ b/akka-cluster-sharding/src/main/protobuf/ClusterShardingMessages.proto
@@ -53,6 +53,15 @@ message ShardStats {
required int32 entityCount = 2;
}
+message ShardRegionStats {
+ repeated MapFieldEntry stats = 1;
+}
+
+message MapFieldEntry {
+ optional string key = 1;
+ optional int32 value = 2;
+}
+
message StartEntity {
required string entityId = 1;
}
diff --git a/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/protobuf/ClusterShardingMessageSerializer.scala b/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/protobuf/ClusterShardingMessageSerializer.scala
index c497961c96..57c982d4b4 100644
--- a/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/protobuf/ClusterShardingMessageSerializer.scala
+++ b/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/protobuf/ClusterShardingMessageSerializer.scala
@@ -22,7 +22,7 @@ import akka.serialization.SerializerWithStringManifest
import akka.protobuf.MessageLite
import java.io.NotSerializableException
-import akka.cluster.sharding.ShardRegion.{ StartEntity, StartEntityAck }
+import akka.cluster.sharding.ShardRegion._
/**
* INTERNAL API: Protobuf serializer of ClusterSharding messages.
@@ -65,6 +65,8 @@ private[akka] class ClusterShardingMessageSerializer(val system: ExtendedActorSy
private val GetShardStatsManifest = "DA"
private val ShardStatsManifest = "DB"
+ private val GetShardRegionStatsManifest = "DC"
+ private val ShardRegionStatsManifest = "DD"
private val fromBinaryMap = collection.immutable.HashMap[String, Array[Byte] ⇒ AnyRef](
EntityStateManifest → entityStateFromBinary,
@@ -94,6 +96,8 @@ private[akka] class ClusterShardingMessageSerializer(val system: ExtendedActorSy
GetShardStatsManifest → { bytes ⇒ GetShardStats },
ShardStatsManifest → { bytes ⇒ shardStatsFromBinary(bytes) },
+ GetShardRegionStatsManifest → { bytes ⇒ GetShardRegionStats },
+ ShardRegionStatsManifest → { bytes ⇒ shardRegionStatsFromBinary(bytes) },
StartEntityManifest → { startEntityFromBinary(_) },
StartEntityAckManifest → { startEntityAckFromBinary(_) }
@@ -130,6 +134,8 @@ private[akka] class ClusterShardingMessageSerializer(val system: ExtendedActorSy
case GetShardStats ⇒ GetShardStatsManifest
case _: ShardStats ⇒ ShardStatsManifest
+ case GetShardRegionStats ⇒ GetShardRegionStatsManifest
+ case _: ShardRegionStats ⇒ ShardRegionStatsManifest
case _ ⇒
throw new IllegalArgumentException(s"Can't serialize object of type ${obj.getClass} in [${getClass.getName}]")
}
@@ -157,15 +163,17 @@ private[akka] class ClusterShardingMessageSerializer(val system: ExtendedActorSy
case GracefulShutdownReq(ref) ⇒
actorRefMessageToProto(ref).toByteArray
- case m: EntityState ⇒ entityStateToProto(m).toByteArray
- case m: EntityStarted ⇒ entityStartedToProto(m).toByteArray
- case m: EntityStopped ⇒ entityStoppedToProto(m).toByteArray
+ case m: EntityState ⇒ entityStateToProto(m).toByteArray
+ case m: EntityStarted ⇒ entityStartedToProto(m).toByteArray
+ case m: EntityStopped ⇒ entityStoppedToProto(m).toByteArray
- case s: StartEntity ⇒ startEntityToByteArray(s)
- case s: StartEntityAck ⇒ startEntityAckToByteArray(s)
+ case s: StartEntity ⇒ startEntityToByteArray(s)
+ case s: StartEntityAck ⇒ startEntityAckToByteArray(s)
- case GetShardStats ⇒ Array.emptyByteArray
- case m: ShardStats ⇒ shardStatsToProto(m).toByteArray
+ case GetShardStats ⇒ Array.emptyByteArray
+ case m: ShardStats ⇒ shardStatsToProto(m).toByteArray
+ case GetShardRegionStats ⇒ Array.emptyByteArray
+ case m: ShardRegionStats ⇒ shardRegionStatsToProto(m).toByteArray
case _ ⇒
throw new IllegalArgumentException(s"Can't serialize object of type ${obj.getClass} in [${getClass.getName}]")
@@ -280,6 +288,21 @@ private[akka] class ClusterShardingMessageSerializer(val system: ExtendedActorSy
ShardStats(parsed.getShard, parsed.getEntityCount)
}
+ private def shardRegionStatsToProto(evt: ShardRegionStats): sm.ShardRegionStats = {
+ val b = sm.ShardRegionStats.newBuilder()
+ evt.stats.foreach {
+ case (sid, no) ⇒
+ b.addStats(sm.MapFieldEntry.newBuilder().setKey(sid).setValue(no).build())
+ }
+ b.build()
+ }
+
+ private def shardRegionStatsFromBinary(bytes: Array[Byte]): ShardRegionStats = {
+ val parsed = sm.ShardRegionStats.parseFrom(bytes)
+ val stats: Map[String, Int] = parsed.getStatsList.asScala.map(e ⇒ e.getKey -> e.getValue)(breakOut)
+ ShardRegionStats(stats)
+ }
+
private def startEntityToByteArray(s: StartEntity): Array[Byte] = {
val builder = sm.StartEntity.newBuilder()
builder.setEntityId(s.entityId)
diff --git a/akka-cluster-sharding/src/test/scala/akka/cluster/sharding/protobuf/ClusterShardingMessageSerializerSpec.scala b/akka-cluster-sharding/src/test/scala/akka/cluster/sharding/protobuf/ClusterShardingMessageSerializerSpec.scala
index daf5e468fe..015e1b9bcd 100644
--- a/akka-cluster-sharding/src/test/scala/akka/cluster/sharding/protobuf/ClusterShardingMessageSerializerSpec.scala
+++ b/akka-cluster-sharding/src/test/scala/akka/cluster/sharding/protobuf/ClusterShardingMessageSerializerSpec.scala
@@ -7,6 +7,7 @@ package akka.cluster.sharding.protobuf
import akka.actor.ExtendedActorSystem
import akka.testkit.AkkaSpec
import akka.actor.Props
+import akka.cluster.sharding.ShardRegion.ShardId
import akka.cluster.sharding.{ Shard, ShardCoordinator, ShardRegion }
class ClusterShardingMessageSerializerSpec extends AkkaSpec {
@@ -78,6 +79,15 @@ class ClusterShardingMessageSerializerSpec extends AkkaSpec {
checkSerialization(Shard.ShardStats("a", 23))
}
+ "be able to serialize GetShardRegionStats" in {
+ checkSerialization(ShardRegion.GetShardRegionStats)
+ }
+
+ "be able to serialize ShardRegionStats" in {
+ checkSerialization(ShardRegion.ShardRegionStats(Map.empty[ShardId, Int]))
+ checkSerialization(ShardRegion.ShardRegionStats(Map[ShardId, Int]("a" -> 23)))
+ }
+
"be able to serialize StartEntity" in {
checkSerialization(ShardRegion.StartEntity("42"))
checkSerialization(ShardRegion.StartEntityAck("13", "37"))