From 46811ca1ce12ae73b0d849828206908cf64e405e Mon Sep 17 00:00:00 2001 From: Patrik Nordwall Date: Mon, 17 Aug 2015 16:11:52 +0200 Subject: [PATCH] =cls #17908 Protobuf serializer for cluster sharding --- .../protobuf/msg/ClusterShardingMessages.java | 5731 +++++++++++++++++ .../protobuf/ClusterShardingMessages.proto | 50 + .../src/main/resources/reference.conf | 14 + .../ClusterShardingSerializable.scala | 9 + .../scala/akka/cluster/sharding/Shard.scala | 8 +- .../cluster/sharding/ShardCoordinator.scala | 32 +- .../ClusterShardingMessageSerializer.scala | 276 + ...ClusterShardingMessageSerializerSpec.scala | 73 + .../DistributedPubSubMessageSerializer.scala | 8 +- 9 files changed, 6178 insertions(+), 23 deletions(-) create mode 100644 akka-cluster-sharding/src/main/java/akka/cluster/sharding/protobuf/msg/ClusterShardingMessages.java create mode 100644 akka-cluster-sharding/src/main/protobuf/ClusterShardingMessages.proto create mode 100644 akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ClusterShardingSerializable.scala create mode 100644 akka-cluster-sharding/src/main/scala/akka/cluster/sharding/protobuf/ClusterShardingMessageSerializer.scala create mode 100644 akka-cluster-sharding/src/test/scala/akka/cluster/sharding/protobuf/ClusterShardingMessageSerializerSpec.scala 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 new file mode 100644 index 0000000000..172dbaac7d --- /dev/null +++ b/akka-cluster-sharding/src/main/java/akka/cluster/sharding/protobuf/msg/ClusterShardingMessages.java @@ -0,0 +1,5731 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: ClusterShardingMessages.proto + +package akka.cluster.sharding.protobuf.msg; + +public final class ClusterShardingMessages { + private ClusterShardingMessages() {} + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistry registry) { + } + public interface CoordinatorStateOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // repeated .CoordinatorState.ShardEntry shards = 1; + /** + * repeated .CoordinatorState.ShardEntry shards = 1; + */ + java.util.List + getShardsList(); + /** + * repeated .CoordinatorState.ShardEntry shards = 1; + */ + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry getShards(int index); + /** + * repeated .CoordinatorState.ShardEntry shards = 1; + */ + int getShardsCount(); + /** + * repeated .CoordinatorState.ShardEntry shards = 1; + */ + java.util.List + getShardsOrBuilderList(); + /** + * repeated .CoordinatorState.ShardEntry shards = 1; + */ + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntryOrBuilder getShardsOrBuilder( + int index); + + // repeated string regions = 2; + /** + * repeated string regions = 2; + */ + java.util.List + getRegionsList(); + /** + * repeated string regions = 2; + */ + int getRegionsCount(); + /** + * repeated string regions = 2; + */ + java.lang.String getRegions(int index); + /** + * repeated string regions = 2; + */ + com.google.protobuf.ByteString + getRegionsBytes(int index); + + // repeated string regionProxies = 3; + /** + * repeated string regionProxies = 3; + */ + java.util.List + getRegionProxiesList(); + /** + * repeated string regionProxies = 3; + */ + int getRegionProxiesCount(); + /** + * repeated string regionProxies = 3; + */ + java.lang.String getRegionProxies(int index); + /** + * repeated string regionProxies = 3; + */ + com.google.protobuf.ByteString + getRegionProxiesBytes(int index); + + // repeated string unallocatedShards = 4; + /** + * repeated string unallocatedShards = 4; + */ + java.util.List + getUnallocatedShardsList(); + /** + * repeated string unallocatedShards = 4; + */ + int getUnallocatedShardsCount(); + /** + * repeated string unallocatedShards = 4; + */ + java.lang.String getUnallocatedShards(int index); + /** + * repeated string unallocatedShards = 4; + */ + com.google.protobuf.ByteString + getUnallocatedShardsBytes(int index); + } + /** + * Protobuf type {@code CoordinatorState} + */ + public static final class CoordinatorState extends + com.google.protobuf.GeneratedMessage + implements CoordinatorStateOrBuilder { + // Use CoordinatorState.newBuilder() to construct. + private CoordinatorState(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private CoordinatorState(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final CoordinatorState defaultInstance; + public static CoordinatorState getDefaultInstance() { + return defaultInstance; + } + + public CoordinatorState getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private CoordinatorState( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.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)) { + shards_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + shards_.add(input.readMessage(akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.PARSER, extensionRegistry)); + break; + } + case 18: { + if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) { + regions_ = new com.google.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000002; + } + regions_.add(input.readBytes()); + break; + } + case 26: { + if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) { + regionProxies_ = new com.google.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000004; + } + regionProxies_.add(input.readBytes()); + break; + } + case 34: { + if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) { + unallocatedShards_ = new com.google.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000008; + } + unallocatedShards_.add(input.readBytes()); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) { + shards_ = java.util.Collections.unmodifiableList(shards_); + } + if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) { + regions_ = new com.google.protobuf.UnmodifiableLazyStringList(regions_); + } + if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) { + regionProxies_ = new com.google.protobuf.UnmodifiableLazyStringList(regionProxies_); + } + if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) { + unallocatedShards_ = new com.google.protobuf.UnmodifiableLazyStringList(unallocatedShards_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CoordinatorState_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CoordinatorState_fieldAccessorTable + .ensureFieldAccessorsInitialized( + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.class, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public CoordinatorState parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new CoordinatorState(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + public interface ShardEntryOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // required string shardId = 1; + /** + * required string shardId = 1; + */ + boolean hasShardId(); + /** + * required string shardId = 1; + */ + java.lang.String getShardId(); + /** + * required string shardId = 1; + */ + com.google.protobuf.ByteString + getShardIdBytes(); + + // required string regionRef = 2; + /** + * required string regionRef = 2; + */ + boolean hasRegionRef(); + /** + * required string regionRef = 2; + */ + java.lang.String getRegionRef(); + /** + * required string regionRef = 2; + */ + com.google.protobuf.ByteString + getRegionRefBytes(); + } + /** + * Protobuf type {@code CoordinatorState.ShardEntry} + */ + public static final class ShardEntry extends + com.google.protobuf.GeneratedMessage + implements ShardEntryOrBuilder { + // Use ShardEntry.newBuilder() to construct. + private ShardEntry(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private ShardEntry(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final ShardEntry defaultInstance; + public static ShardEntry getDefaultInstance() { + return defaultInstance; + } + + public ShardEntry getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ShardEntry( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.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; + shardId_ = input.readBytes(); + break; + } + case 18: { + bitField0_ |= 0x00000002; + regionRef_ = input.readBytes(); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CoordinatorState_ShardEntry_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CoordinatorState_ShardEntry_fieldAccessorTable + .ensureFieldAccessorsInitialized( + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.class, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public ShardEntry parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ShardEntry(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // required string shardId = 1; + public static final int SHARDID_FIELD_NUMBER = 1; + private java.lang.Object shardId_; + /** + * required string shardId = 1; + */ + public boolean hasShardId() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string shardId = 1; + */ + public java.lang.String getShardId() { + java.lang.Object ref = shardId_; + 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(); + if (bs.isValidUtf8()) { + shardId_ = s; + } + return s; + } + } + /** + * required string shardId = 1; + */ + public com.google.protobuf.ByteString + getShardIdBytes() { + java.lang.Object ref = shardId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + shardId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + // required string regionRef = 2; + public static final int REGIONREF_FIELD_NUMBER = 2; + private java.lang.Object regionRef_; + /** + * required string regionRef = 2; + */ + public boolean hasRegionRef() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * required string regionRef = 2; + */ + public java.lang.String getRegionRef() { + java.lang.Object ref = regionRef_; + 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(); + if (bs.isValidUtf8()) { + regionRef_ = s; + } + return s; + } + } + /** + * required string regionRef = 2; + */ + public com.google.protobuf.ByteString + getRegionRefBytes() { + java.lang.Object ref = regionRef_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + regionRef_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private void initFields() { + shardId_ = ""; + regionRef_ = ""; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + if (!hasShardId()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasRegionRef()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, getShardIdBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeBytes(2, getRegionRefBytes()); + } + 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 += com.google.protobuf.CodedOutputStream + .computeBytesSize(1, getShardIdBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(2, getRegionRefBytes()); + } + 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.CoordinatorState.ShardEntry parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.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.CoordinatorState.ShardEntry prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CoordinatorState.ShardEntry} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntryOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CoordinatorState_ShardEntry_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CoordinatorState_ShardEntry_fieldAccessorTable + .ensureFieldAccessorsInitialized( + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.class, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.Builder.class); + } + + // Construct using akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + shardId_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + regionRef_ = ""; + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CoordinatorState_ShardEntry_descriptor; + } + + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry getDefaultInstanceForType() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.getDefaultInstance(); + } + + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry build() { + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry buildPartial() { + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry result = new akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.shardId_ = shardId_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.regionRef_ = regionRef_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry) { + return mergeFrom((akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry other) { + if (other == akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.getDefaultInstance()) return this; + if (other.hasShardId()) { + bitField0_ |= 0x00000001; + shardId_ = other.shardId_; + onChanged(); + } + if (other.hasRegionRef()) { + bitField0_ |= 0x00000002; + regionRef_ = other.regionRef_; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + if (!hasShardId()) { + + return false; + } + if (!hasRegionRef()) { + + return false; + } + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // required string shardId = 1; + private java.lang.Object shardId_ = ""; + /** + * required string shardId = 1; + */ + public boolean hasShardId() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string shardId = 1; + */ + public java.lang.String getShardId() { + java.lang.Object ref = shardId_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + shardId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * required string shardId = 1; + */ + public com.google.protobuf.ByteString + getShardIdBytes() { + java.lang.Object ref = shardId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + shardId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * required string shardId = 1; + */ + public Builder setShardId( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + shardId_ = value; + onChanged(); + return this; + } + /** + * required string shardId = 1; + */ + public Builder clearShardId() { + bitField0_ = (bitField0_ & ~0x00000001); + shardId_ = getDefaultInstance().getShardId(); + onChanged(); + return this; + } + /** + * required string shardId = 1; + */ + public Builder setShardIdBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + shardId_ = value; + onChanged(); + return this; + } + + // required string regionRef = 2; + private java.lang.Object regionRef_ = ""; + /** + * required string regionRef = 2; + */ + public boolean hasRegionRef() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * required string regionRef = 2; + */ + public java.lang.String getRegionRef() { + java.lang.Object ref = regionRef_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + regionRef_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * required string regionRef = 2; + */ + public com.google.protobuf.ByteString + getRegionRefBytes() { + java.lang.Object ref = regionRef_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + regionRef_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * required string regionRef = 2; + */ + public Builder setRegionRef( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + regionRef_ = value; + onChanged(); + return this; + } + /** + * required string regionRef = 2; + */ + public Builder clearRegionRef() { + bitField0_ = (bitField0_ & ~0x00000002); + regionRef_ = getDefaultInstance().getRegionRef(); + onChanged(); + return this; + } + /** + * required string regionRef = 2; + */ + public Builder setRegionRefBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + regionRef_ = value; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:CoordinatorState.ShardEntry) + } + + static { + defaultInstance = new ShardEntry(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:CoordinatorState.ShardEntry) + } + + // repeated .CoordinatorState.ShardEntry shards = 1; + public static final int SHARDS_FIELD_NUMBER = 1; + private java.util.List shards_; + /** + * repeated .CoordinatorState.ShardEntry shards = 1; + */ + public java.util.List getShardsList() { + return shards_; + } + /** + * repeated .CoordinatorState.ShardEntry shards = 1; + */ + public java.util.List + getShardsOrBuilderList() { + return shards_; + } + /** + * repeated .CoordinatorState.ShardEntry shards = 1; + */ + public int getShardsCount() { + return shards_.size(); + } + /** + * repeated .CoordinatorState.ShardEntry shards = 1; + */ + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry getShards(int index) { + return shards_.get(index); + } + /** + * repeated .CoordinatorState.ShardEntry shards = 1; + */ + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntryOrBuilder getShardsOrBuilder( + int index) { + return shards_.get(index); + } + + // repeated string regions = 2; + public static final int REGIONS_FIELD_NUMBER = 2; + private com.google.protobuf.LazyStringList regions_; + /** + * repeated string regions = 2; + */ + public java.util.List + getRegionsList() { + return regions_; + } + /** + * repeated string regions = 2; + */ + public int getRegionsCount() { + return regions_.size(); + } + /** + * repeated string regions = 2; + */ + public java.lang.String getRegions(int index) { + return regions_.get(index); + } + /** + * repeated string regions = 2; + */ + public com.google.protobuf.ByteString + getRegionsBytes(int index) { + return regions_.getByteString(index); + } + + // repeated string regionProxies = 3; + public static final int REGIONPROXIES_FIELD_NUMBER = 3; + private com.google.protobuf.LazyStringList regionProxies_; + /** + * repeated string regionProxies = 3; + */ + public java.util.List + getRegionProxiesList() { + return regionProxies_; + } + /** + * repeated string regionProxies = 3; + */ + public int getRegionProxiesCount() { + return regionProxies_.size(); + } + /** + * repeated string regionProxies = 3; + */ + public java.lang.String getRegionProxies(int index) { + return regionProxies_.get(index); + } + /** + * repeated string regionProxies = 3; + */ + public com.google.protobuf.ByteString + getRegionProxiesBytes(int index) { + return regionProxies_.getByteString(index); + } + + // repeated string unallocatedShards = 4; + public static final int UNALLOCATEDSHARDS_FIELD_NUMBER = 4; + private com.google.protobuf.LazyStringList unallocatedShards_; + /** + * repeated string unallocatedShards = 4; + */ + public java.util.List + getUnallocatedShardsList() { + return unallocatedShards_; + } + /** + * repeated string unallocatedShards = 4; + */ + public int getUnallocatedShardsCount() { + return unallocatedShards_.size(); + } + /** + * repeated string unallocatedShards = 4; + */ + public java.lang.String getUnallocatedShards(int index) { + return unallocatedShards_.get(index); + } + /** + * repeated string unallocatedShards = 4; + */ + public com.google.protobuf.ByteString + getUnallocatedShardsBytes(int index) { + return unallocatedShards_.getByteString(index); + } + + private void initFields() { + shards_ = java.util.Collections.emptyList(); + regions_ = com.google.protobuf.LazyStringArrayList.EMPTY; + regionProxies_ = com.google.protobuf.LazyStringArrayList.EMPTY; + unallocatedShards_ = com.google.protobuf.LazyStringArrayList.EMPTY; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + for (int i = 0; i < getShardsCount(); i++) { + if (!getShards(i).isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + for (int i = 0; i < shards_.size(); i++) { + output.writeMessage(1, shards_.get(i)); + } + for (int i = 0; i < regions_.size(); i++) { + output.writeBytes(2, regions_.getByteString(i)); + } + for (int i = 0; i < regionProxies_.size(); i++) { + output.writeBytes(3, regionProxies_.getByteString(i)); + } + for (int i = 0; i < unallocatedShards_.size(); i++) { + output.writeBytes(4, unallocatedShards_.getByteString(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 < shards_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, shards_.get(i)); + } + { + int dataSize = 0; + for (int i = 0; i < regions_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeBytesSizeNoTag(regions_.getByteString(i)); + } + size += dataSize; + size += 1 * getRegionsList().size(); + } + { + int dataSize = 0; + for (int i = 0; i < regionProxies_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeBytesSizeNoTag(regionProxies_.getByteString(i)); + } + size += dataSize; + size += 1 * getRegionProxiesList().size(); + } + { + int dataSize = 0; + for (int i = 0; i < unallocatedShards_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeBytesSizeNoTag(unallocatedShards_.getByteString(i)); + } + size += dataSize; + size += 1 * getUnallocatedShardsList().size(); + } + 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.CoordinatorState parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.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.CoordinatorState prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CoordinatorState} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorStateOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CoordinatorState_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CoordinatorState_fieldAccessorTable + .ensureFieldAccessorsInitialized( + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.class, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.Builder.class); + } + + // Construct using akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + getShardsFieldBuilder(); + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + if (shardsBuilder_ == null) { + shards_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + shardsBuilder_.clear(); + } + regions_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000002); + regionProxies_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000004); + unallocatedShards_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000008); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CoordinatorState_descriptor; + } + + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState getDefaultInstanceForType() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.getDefaultInstance(); + } + + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState build() { + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState buildPartial() { + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState result = new akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState(this); + int from_bitField0_ = bitField0_; + if (shardsBuilder_ == null) { + if (((bitField0_ & 0x00000001) == 0x00000001)) { + shards_ = java.util.Collections.unmodifiableList(shards_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.shards_ = shards_; + } else { + result.shards_ = shardsBuilder_.build(); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + regions_ = new com.google.protobuf.UnmodifiableLazyStringList( + regions_); + bitField0_ = (bitField0_ & ~0x00000002); + } + result.regions_ = regions_; + if (((bitField0_ & 0x00000004) == 0x00000004)) { + regionProxies_ = new com.google.protobuf.UnmodifiableLazyStringList( + regionProxies_); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.regionProxies_ = regionProxies_; + if (((bitField0_ & 0x00000008) == 0x00000008)) { + unallocatedShards_ = new com.google.protobuf.UnmodifiableLazyStringList( + unallocatedShards_); + bitField0_ = (bitField0_ & ~0x00000008); + } + result.unallocatedShards_ = unallocatedShards_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState) { + return mergeFrom((akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState other) { + if (other == akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.getDefaultInstance()) return this; + if (shardsBuilder_ == null) { + if (!other.shards_.isEmpty()) { + if (shards_.isEmpty()) { + shards_ = other.shards_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureShardsIsMutable(); + shards_.addAll(other.shards_); + } + onChanged(); + } + } else { + if (!other.shards_.isEmpty()) { + if (shardsBuilder_.isEmpty()) { + shardsBuilder_.dispose(); + shardsBuilder_ = null; + shards_ = other.shards_; + bitField0_ = (bitField0_ & ~0x00000001); + shardsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + getShardsFieldBuilder() : null; + } else { + shardsBuilder_.addAllMessages(other.shards_); + } + } + } + if (!other.regions_.isEmpty()) { + if (regions_.isEmpty()) { + regions_ = other.regions_; + bitField0_ = (bitField0_ & ~0x00000002); + } else { + ensureRegionsIsMutable(); + regions_.addAll(other.regions_); + } + onChanged(); + } + if (!other.regionProxies_.isEmpty()) { + if (regionProxies_.isEmpty()) { + regionProxies_ = other.regionProxies_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureRegionProxiesIsMutable(); + regionProxies_.addAll(other.regionProxies_); + } + onChanged(); + } + if (!other.unallocatedShards_.isEmpty()) { + if (unallocatedShards_.isEmpty()) { + unallocatedShards_ = other.unallocatedShards_; + bitField0_ = (bitField0_ & ~0x00000008); + } else { + ensureUnallocatedShardsIsMutable(); + unallocatedShards_.addAll(other.unallocatedShards_); + } + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + for (int i = 0; i < getShardsCount(); i++) { + if (!getShards(i).isInitialized()) { + + return false; + } + } + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // repeated .CoordinatorState.ShardEntry shards = 1; + private java.util.List shards_ = + java.util.Collections.emptyList(); + private void ensureShardsIsMutable() { + if (!((bitField0_ & 0x00000001) == 0x00000001)) { + shards_ = new java.util.ArrayList(shards_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.Builder, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntryOrBuilder> shardsBuilder_; + + /** + * repeated .CoordinatorState.ShardEntry shards = 1; + */ + public java.util.List getShardsList() { + if (shardsBuilder_ == null) { + return java.util.Collections.unmodifiableList(shards_); + } else { + return shardsBuilder_.getMessageList(); + } + } + /** + * repeated .CoordinatorState.ShardEntry shards = 1; + */ + public int getShardsCount() { + if (shardsBuilder_ == null) { + return shards_.size(); + } else { + return shardsBuilder_.getCount(); + } + } + /** + * repeated .CoordinatorState.ShardEntry shards = 1; + */ + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry getShards(int index) { + if (shardsBuilder_ == null) { + return shards_.get(index); + } else { + return shardsBuilder_.getMessage(index); + } + } + /** + * repeated .CoordinatorState.ShardEntry shards = 1; + */ + public Builder setShards( + int index, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry value) { + if (shardsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureShardsIsMutable(); + shards_.set(index, value); + onChanged(); + } else { + shardsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .CoordinatorState.ShardEntry shards = 1; + */ + public Builder setShards( + int index, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.Builder builderForValue) { + if (shardsBuilder_ == null) { + ensureShardsIsMutable(); + shards_.set(index, builderForValue.build()); + onChanged(); + } else { + shardsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .CoordinatorState.ShardEntry shards = 1; + */ + public Builder addShards(akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry value) { + if (shardsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureShardsIsMutable(); + shards_.add(value); + onChanged(); + } else { + shardsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .CoordinatorState.ShardEntry shards = 1; + */ + public Builder addShards( + int index, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry value) { + if (shardsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureShardsIsMutable(); + shards_.add(index, value); + onChanged(); + } else { + shardsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .CoordinatorState.ShardEntry shards = 1; + */ + public Builder addShards( + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.Builder builderForValue) { + if (shardsBuilder_ == null) { + ensureShardsIsMutable(); + shards_.add(builderForValue.build()); + onChanged(); + } else { + shardsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .CoordinatorState.ShardEntry shards = 1; + */ + public Builder addShards( + int index, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.Builder builderForValue) { + if (shardsBuilder_ == null) { + ensureShardsIsMutable(); + shards_.add(index, builderForValue.build()); + onChanged(); + } else { + shardsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .CoordinatorState.ShardEntry shards = 1; + */ + public Builder addAllShards( + java.lang.Iterable values) { + if (shardsBuilder_ == null) { + ensureShardsIsMutable(); + super.addAll(values, shards_); + onChanged(); + } else { + shardsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .CoordinatorState.ShardEntry shards = 1; + */ + public Builder clearShards() { + if (shardsBuilder_ == null) { + shards_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + shardsBuilder_.clear(); + } + return this; + } + /** + * repeated .CoordinatorState.ShardEntry shards = 1; + */ + public Builder removeShards(int index) { + if (shardsBuilder_ == null) { + ensureShardsIsMutable(); + shards_.remove(index); + onChanged(); + } else { + shardsBuilder_.remove(index); + } + return this; + } + /** + * repeated .CoordinatorState.ShardEntry shards = 1; + */ + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.Builder getShardsBuilder( + int index) { + return getShardsFieldBuilder().getBuilder(index); + } + /** + * repeated .CoordinatorState.ShardEntry shards = 1; + */ + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntryOrBuilder getShardsOrBuilder( + int index) { + if (shardsBuilder_ == null) { + return shards_.get(index); } else { + return shardsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .CoordinatorState.ShardEntry shards = 1; + */ + public java.util.List + getShardsOrBuilderList() { + if (shardsBuilder_ != null) { + return shardsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(shards_); + } + } + /** + * repeated .CoordinatorState.ShardEntry shards = 1; + */ + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.Builder addShardsBuilder() { + return getShardsFieldBuilder().addBuilder( + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.getDefaultInstance()); + } + /** + * repeated .CoordinatorState.ShardEntry shards = 1; + */ + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.Builder addShardsBuilder( + int index) { + return getShardsFieldBuilder().addBuilder( + index, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.getDefaultInstance()); + } + /** + * repeated .CoordinatorState.ShardEntry shards = 1; + */ + public java.util.List + getShardsBuilderList() { + return getShardsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.Builder, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntryOrBuilder> + getShardsFieldBuilder() { + if (shardsBuilder_ == null) { + shardsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.Builder, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntryOrBuilder>( + shards_, + ((bitField0_ & 0x00000001) == 0x00000001), + getParentForChildren(), + isClean()); + shards_ = null; + } + return shardsBuilder_; + } + + // repeated string regions = 2; + private com.google.protobuf.LazyStringList regions_ = com.google.protobuf.LazyStringArrayList.EMPTY; + private void ensureRegionsIsMutable() { + if (!((bitField0_ & 0x00000002) == 0x00000002)) { + regions_ = new com.google.protobuf.LazyStringArrayList(regions_); + bitField0_ |= 0x00000002; + } + } + /** + * repeated string regions = 2; + */ + public java.util.List + getRegionsList() { + return java.util.Collections.unmodifiableList(regions_); + } + /** + * repeated string regions = 2; + */ + public int getRegionsCount() { + return regions_.size(); + } + /** + * repeated string regions = 2; + */ + public java.lang.String getRegions(int index) { + return regions_.get(index); + } + /** + * repeated string regions = 2; + */ + public com.google.protobuf.ByteString + getRegionsBytes(int index) { + return regions_.getByteString(index); + } + /** + * repeated string regions = 2; + */ + public Builder setRegions( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureRegionsIsMutable(); + regions_.set(index, value); + onChanged(); + return this; + } + /** + * repeated string regions = 2; + */ + public Builder addRegions( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureRegionsIsMutable(); + regions_.add(value); + onChanged(); + return this; + } + /** + * repeated string regions = 2; + */ + public Builder addAllRegions( + java.lang.Iterable values) { + ensureRegionsIsMutable(); + super.addAll(values, regions_); + onChanged(); + return this; + } + /** + * repeated string regions = 2; + */ + public Builder clearRegions() { + regions_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + * repeated string regions = 2; + */ + public Builder addRegionsBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + ensureRegionsIsMutable(); + regions_.add(value); + onChanged(); + return this; + } + + // repeated string regionProxies = 3; + private com.google.protobuf.LazyStringList regionProxies_ = com.google.protobuf.LazyStringArrayList.EMPTY; + private void ensureRegionProxiesIsMutable() { + if (!((bitField0_ & 0x00000004) == 0x00000004)) { + regionProxies_ = new com.google.protobuf.LazyStringArrayList(regionProxies_); + bitField0_ |= 0x00000004; + } + } + /** + * repeated string regionProxies = 3; + */ + public java.util.List + getRegionProxiesList() { + return java.util.Collections.unmodifiableList(regionProxies_); + } + /** + * repeated string regionProxies = 3; + */ + public int getRegionProxiesCount() { + return regionProxies_.size(); + } + /** + * repeated string regionProxies = 3; + */ + public java.lang.String getRegionProxies(int index) { + return regionProxies_.get(index); + } + /** + * repeated string regionProxies = 3; + */ + public com.google.protobuf.ByteString + getRegionProxiesBytes(int index) { + return regionProxies_.getByteString(index); + } + /** + * repeated string regionProxies = 3; + */ + public Builder setRegionProxies( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureRegionProxiesIsMutable(); + regionProxies_.set(index, value); + onChanged(); + return this; + } + /** + * repeated string regionProxies = 3; + */ + public Builder addRegionProxies( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureRegionProxiesIsMutable(); + regionProxies_.add(value); + onChanged(); + return this; + } + /** + * repeated string regionProxies = 3; + */ + public Builder addAllRegionProxies( + java.lang.Iterable values) { + ensureRegionProxiesIsMutable(); + super.addAll(values, regionProxies_); + onChanged(); + return this; + } + /** + * repeated string regionProxies = 3; + */ + public Builder clearRegionProxies() { + regionProxies_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + /** + * repeated string regionProxies = 3; + */ + public Builder addRegionProxiesBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + ensureRegionProxiesIsMutable(); + regionProxies_.add(value); + onChanged(); + return this; + } + + // repeated string unallocatedShards = 4; + private com.google.protobuf.LazyStringList unallocatedShards_ = com.google.protobuf.LazyStringArrayList.EMPTY; + private void ensureUnallocatedShardsIsMutable() { + if (!((bitField0_ & 0x00000008) == 0x00000008)) { + unallocatedShards_ = new com.google.protobuf.LazyStringArrayList(unallocatedShards_); + bitField0_ |= 0x00000008; + } + } + /** + * repeated string unallocatedShards = 4; + */ + public java.util.List + getUnallocatedShardsList() { + return java.util.Collections.unmodifiableList(unallocatedShards_); + } + /** + * repeated string unallocatedShards = 4; + */ + public int getUnallocatedShardsCount() { + return unallocatedShards_.size(); + } + /** + * repeated string unallocatedShards = 4; + */ + public java.lang.String getUnallocatedShards(int index) { + return unallocatedShards_.get(index); + } + /** + * repeated string unallocatedShards = 4; + */ + public com.google.protobuf.ByteString + getUnallocatedShardsBytes(int index) { + return unallocatedShards_.getByteString(index); + } + /** + * repeated string unallocatedShards = 4; + */ + public Builder setUnallocatedShards( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureUnallocatedShardsIsMutable(); + unallocatedShards_.set(index, value); + onChanged(); + return this; + } + /** + * repeated string unallocatedShards = 4; + */ + public Builder addUnallocatedShards( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureUnallocatedShardsIsMutable(); + unallocatedShards_.add(value); + onChanged(); + return this; + } + /** + * repeated string unallocatedShards = 4; + */ + public Builder addAllUnallocatedShards( + java.lang.Iterable values) { + ensureUnallocatedShardsIsMutable(); + super.addAll(values, unallocatedShards_); + onChanged(); + return this; + } + /** + * repeated string unallocatedShards = 4; + */ + public Builder clearUnallocatedShards() { + unallocatedShards_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + /** + * repeated string unallocatedShards = 4; + */ + public Builder addUnallocatedShardsBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + ensureUnallocatedShardsIsMutable(); + unallocatedShards_.add(value); + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:CoordinatorState) + } + + static { + defaultInstance = new CoordinatorState(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:CoordinatorState) + } + + public interface ActorRefMessageOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // required string ref = 1; + /** + * required string ref = 1; + */ + boolean hasRef(); + /** + * required string ref = 1; + */ + java.lang.String getRef(); + /** + * required string ref = 1; + */ + com.google.protobuf.ByteString + getRefBytes(); + } + /** + * Protobuf type {@code ActorRefMessage} + */ + public static final class ActorRefMessage extends + com.google.protobuf.GeneratedMessage + implements ActorRefMessageOrBuilder { + // Use ActorRefMessage.newBuilder() to construct. + private ActorRefMessage(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private ActorRefMessage(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final ActorRefMessage defaultInstance; + public static ActorRefMessage getDefaultInstance() { + return defaultInstance; + } + + public ActorRefMessage getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ActorRefMessage( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.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; + ref_ = input.readBytes(); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ActorRefMessage_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ActorRefMessage_fieldAccessorTable + .ensureFieldAccessorsInitialized( + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage.class, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public ActorRefMessage parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ActorRefMessage(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // required string ref = 1; + public static final int REF_FIELD_NUMBER = 1; + private java.lang.Object ref_; + /** + * required string ref = 1; + */ + public boolean hasRef() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string ref = 1; + */ + public java.lang.String getRef() { + java.lang.Object ref = ref_; + 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(); + if (bs.isValidUtf8()) { + ref_ = s; + } + return s; + } + } + /** + * required string ref = 1; + */ + public com.google.protobuf.ByteString + getRefBytes() { + java.lang.Object ref = ref_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + ref_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private void initFields() { + ref_ = ""; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + if (!hasRef()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, getRefBytes()); + } + 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 += com.google.protobuf.CodedOutputStream + .computeBytesSize(1, getRefBytes()); + } + 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.ActorRefMessage parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.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.ActorRefMessage prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code ActorRefMessage} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessageOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ActorRefMessage_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ActorRefMessage_fieldAccessorTable + .ensureFieldAccessorsInitialized( + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage.class, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage.Builder.class); + } + + // Construct using akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + ref_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ActorRefMessage_descriptor; + } + + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage getDefaultInstanceForType() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage.getDefaultInstance(); + } + + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage build() { + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage buildPartial() { + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage result = new akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.ref_ = ref_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage) { + return mergeFrom((akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage other) { + if (other == akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage.getDefaultInstance()) return this; + if (other.hasRef()) { + bitField0_ |= 0x00000001; + ref_ = other.ref_; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + if (!hasRef()) { + + return false; + } + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // required string ref = 1; + private java.lang.Object ref_ = ""; + /** + * required string ref = 1; + */ + public boolean hasRef() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string ref = 1; + */ + public java.lang.String getRef() { + java.lang.Object ref = ref_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + ref_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * required string ref = 1; + */ + public com.google.protobuf.ByteString + getRefBytes() { + java.lang.Object ref = ref_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + ref_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * required string ref = 1; + */ + public Builder setRef( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + ref_ = value; + onChanged(); + return this; + } + /** + * required string ref = 1; + */ + public Builder clearRef() { + bitField0_ = (bitField0_ & ~0x00000001); + ref_ = getDefaultInstance().getRef(); + onChanged(); + return this; + } + /** + * required string ref = 1; + */ + public Builder setRefBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + ref_ = value; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:ActorRefMessage) + } + + static { + defaultInstance = new ActorRefMessage(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:ActorRefMessage) + } + + public interface ShardIdMessageOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // required string shard = 1; + /** + * required string shard = 1; + */ + boolean hasShard(); + /** + * required string shard = 1; + */ + java.lang.String getShard(); + /** + * required string shard = 1; + */ + com.google.protobuf.ByteString + getShardBytes(); + } + /** + * Protobuf type {@code ShardIdMessage} + */ + public static final class ShardIdMessage extends + com.google.protobuf.GeneratedMessage + implements ShardIdMessageOrBuilder { + // Use ShardIdMessage.newBuilder() to construct. + private ShardIdMessage(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private ShardIdMessage(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final ShardIdMessage defaultInstance; + public static ShardIdMessage getDefaultInstance() { + return defaultInstance; + } + + public ShardIdMessage getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ShardIdMessage( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.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; + shard_ = input.readBytes(); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardIdMessage_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardIdMessage_fieldAccessorTable + .ensureFieldAccessorsInitialized( + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage.class, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public ShardIdMessage parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ShardIdMessage(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // required string shard = 1; + public static final int SHARD_FIELD_NUMBER = 1; + private java.lang.Object shard_; + /** + * required string shard = 1; + */ + public boolean hasShard() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string shard = 1; + */ + public java.lang.String getShard() { + java.lang.Object ref = shard_; + 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(); + if (bs.isValidUtf8()) { + shard_ = s; + } + return s; + } + } + /** + * required string shard = 1; + */ + public com.google.protobuf.ByteString + getShardBytes() { + java.lang.Object ref = shard_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + shard_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private void initFields() { + shard_ = ""; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + if (!hasShard()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, getShardBytes()); + } + 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 += com.google.protobuf.CodedOutputStream + .computeBytesSize(1, getShardBytes()); + } + 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.ShardIdMessage parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.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.ShardIdMessage prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code ShardIdMessage} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessageOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardIdMessage_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardIdMessage_fieldAccessorTable + .ensureFieldAccessorsInitialized( + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage.class, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage.Builder.class); + } + + // Construct using akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + shard_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardIdMessage_descriptor; + } + + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage getDefaultInstanceForType() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage.getDefaultInstance(); + } + + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage build() { + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage buildPartial() { + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage result = new akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.shard_ = shard_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage) { + return mergeFrom((akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage other) { + if (other == akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage.getDefaultInstance()) return this; + if (other.hasShard()) { + bitField0_ |= 0x00000001; + shard_ = other.shard_; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + if (!hasShard()) { + + return false; + } + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // required string shard = 1; + private java.lang.Object shard_ = ""; + /** + * required string shard = 1; + */ + public boolean hasShard() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string shard = 1; + */ + public java.lang.String getShard() { + java.lang.Object ref = shard_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + shard_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * required string shard = 1; + */ + public com.google.protobuf.ByteString + getShardBytes() { + java.lang.Object ref = shard_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + shard_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * required string shard = 1; + */ + public Builder setShard( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + shard_ = value; + onChanged(); + return this; + } + /** + * required string shard = 1; + */ + public Builder clearShard() { + bitField0_ = (bitField0_ & ~0x00000001); + shard_ = getDefaultInstance().getShard(); + onChanged(); + return this; + } + /** + * required string shard = 1; + */ + public Builder setShardBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + shard_ = value; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:ShardIdMessage) + } + + static { + defaultInstance = new ShardIdMessage(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:ShardIdMessage) + } + + public interface ShardHomeAllocatedOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // required string shard = 1; + /** + * required string shard = 1; + */ + boolean hasShard(); + /** + * required string shard = 1; + */ + java.lang.String getShard(); + /** + * required string shard = 1; + */ + com.google.protobuf.ByteString + getShardBytes(); + + // required string region = 2; + /** + * required string region = 2; + */ + boolean hasRegion(); + /** + * required string region = 2; + */ + java.lang.String getRegion(); + /** + * required string region = 2; + */ + com.google.protobuf.ByteString + getRegionBytes(); + } + /** + * Protobuf type {@code ShardHomeAllocated} + */ + public static final class ShardHomeAllocated extends + com.google.protobuf.GeneratedMessage + implements ShardHomeAllocatedOrBuilder { + // Use ShardHomeAllocated.newBuilder() to construct. + private ShardHomeAllocated(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private ShardHomeAllocated(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final ShardHomeAllocated defaultInstance; + public static ShardHomeAllocated getDefaultInstance() { + return defaultInstance; + } + + public ShardHomeAllocated getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ShardHomeAllocated( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.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; + shard_ = input.readBytes(); + break; + } + case 18: { + bitField0_ |= 0x00000002; + region_ = input.readBytes(); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHomeAllocated_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHomeAllocated_fieldAccessorTable + .ensureFieldAccessorsInitialized( + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated.class, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public ShardHomeAllocated parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ShardHomeAllocated(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // required string shard = 1; + public static final int SHARD_FIELD_NUMBER = 1; + private java.lang.Object shard_; + /** + * required string shard = 1; + */ + public boolean hasShard() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string shard = 1; + */ + public java.lang.String getShard() { + java.lang.Object ref = shard_; + 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(); + if (bs.isValidUtf8()) { + shard_ = s; + } + return s; + } + } + /** + * required string shard = 1; + */ + public com.google.protobuf.ByteString + getShardBytes() { + java.lang.Object ref = shard_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + shard_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + // required string region = 2; + public static final int REGION_FIELD_NUMBER = 2; + private java.lang.Object region_; + /** + * required string region = 2; + */ + public boolean hasRegion() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * required string region = 2; + */ + public java.lang.String getRegion() { + java.lang.Object ref = region_; + 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(); + if (bs.isValidUtf8()) { + region_ = s; + } + return s; + } + } + /** + * required string region = 2; + */ + public com.google.protobuf.ByteString + getRegionBytes() { + java.lang.Object ref = region_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + region_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private void initFields() { + shard_ = ""; + region_ = ""; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + if (!hasShard()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasRegion()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, getShardBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeBytes(2, getRegionBytes()); + } + 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 += com.google.protobuf.CodedOutputStream + .computeBytesSize(1, getShardBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(2, getRegionBytes()); + } + 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.ShardHomeAllocated parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.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.ShardHomeAllocated prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code ShardHomeAllocated} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocatedOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHomeAllocated_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHomeAllocated_fieldAccessorTable + .ensureFieldAccessorsInitialized( + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated.class, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated.Builder.class); + } + + // Construct using akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + shard_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + region_ = ""; + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHomeAllocated_descriptor; + } + + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated getDefaultInstanceForType() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated.getDefaultInstance(); + } + + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated build() { + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated buildPartial() { + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated result = new akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.shard_ = shard_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.region_ = region_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated) { + return mergeFrom((akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated other) { + if (other == akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated.getDefaultInstance()) return this; + if (other.hasShard()) { + bitField0_ |= 0x00000001; + shard_ = other.shard_; + onChanged(); + } + if (other.hasRegion()) { + bitField0_ |= 0x00000002; + region_ = other.region_; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + if (!hasShard()) { + + return false; + } + if (!hasRegion()) { + + return false; + } + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // required string shard = 1; + private java.lang.Object shard_ = ""; + /** + * required string shard = 1; + */ + public boolean hasShard() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string shard = 1; + */ + public java.lang.String getShard() { + java.lang.Object ref = shard_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + shard_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * required string shard = 1; + */ + public com.google.protobuf.ByteString + getShardBytes() { + java.lang.Object ref = shard_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + shard_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * required string shard = 1; + */ + public Builder setShard( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + shard_ = value; + onChanged(); + return this; + } + /** + * required string shard = 1; + */ + public Builder clearShard() { + bitField0_ = (bitField0_ & ~0x00000001); + shard_ = getDefaultInstance().getShard(); + onChanged(); + return this; + } + /** + * required string shard = 1; + */ + public Builder setShardBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + shard_ = value; + onChanged(); + return this; + } + + // required string region = 2; + private java.lang.Object region_ = ""; + /** + * required string region = 2; + */ + public boolean hasRegion() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * required string region = 2; + */ + public java.lang.String getRegion() { + java.lang.Object ref = region_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + region_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * required string region = 2; + */ + public com.google.protobuf.ByteString + getRegionBytes() { + java.lang.Object ref = region_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + region_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * required string region = 2; + */ + public Builder setRegion( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + region_ = value; + onChanged(); + return this; + } + /** + * required string region = 2; + */ + public Builder clearRegion() { + bitField0_ = (bitField0_ & ~0x00000002); + region_ = getDefaultInstance().getRegion(); + onChanged(); + return this; + } + /** + * required string region = 2; + */ + public Builder setRegionBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + region_ = value; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:ShardHomeAllocated) + } + + static { + defaultInstance = new ShardHomeAllocated(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:ShardHomeAllocated) + } + + public interface ShardHomeOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // required string shard = 1; + /** + * required string shard = 1; + */ + boolean hasShard(); + /** + * required string shard = 1; + */ + java.lang.String getShard(); + /** + * required string shard = 1; + */ + com.google.protobuf.ByteString + getShardBytes(); + + // required string region = 2; + /** + * required string region = 2; + */ + boolean hasRegion(); + /** + * required string region = 2; + */ + java.lang.String getRegion(); + /** + * required string region = 2; + */ + com.google.protobuf.ByteString + getRegionBytes(); + } + /** + * Protobuf type {@code ShardHome} + */ + public static final class ShardHome extends + com.google.protobuf.GeneratedMessage + implements ShardHomeOrBuilder { + // Use ShardHome.newBuilder() to construct. + private ShardHome(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private ShardHome(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final ShardHome defaultInstance; + public static ShardHome getDefaultInstance() { + return defaultInstance; + } + + public ShardHome getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ShardHome( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.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; + shard_ = input.readBytes(); + break; + } + case 18: { + bitField0_ |= 0x00000002; + region_ = input.readBytes(); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHome_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHome_fieldAccessorTable + .ensureFieldAccessorsInitialized( + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome.class, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public ShardHome parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ShardHome(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // required string shard = 1; + public static final int SHARD_FIELD_NUMBER = 1; + private java.lang.Object shard_; + /** + * required string shard = 1; + */ + public boolean hasShard() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string shard = 1; + */ + public java.lang.String getShard() { + java.lang.Object ref = shard_; + 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(); + if (bs.isValidUtf8()) { + shard_ = s; + } + return s; + } + } + /** + * required string shard = 1; + */ + public com.google.protobuf.ByteString + getShardBytes() { + java.lang.Object ref = shard_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + shard_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + // required string region = 2; + public static final int REGION_FIELD_NUMBER = 2; + private java.lang.Object region_; + /** + * required string region = 2; + */ + public boolean hasRegion() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * required string region = 2; + */ + public java.lang.String getRegion() { + java.lang.Object ref = region_; + 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(); + if (bs.isValidUtf8()) { + region_ = s; + } + return s; + } + } + /** + * required string region = 2; + */ + public com.google.protobuf.ByteString + getRegionBytes() { + java.lang.Object ref = region_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + region_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private void initFields() { + shard_ = ""; + region_ = ""; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + if (!hasShard()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasRegion()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, getShardBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeBytes(2, getRegionBytes()); + } + 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 += com.google.protobuf.CodedOutputStream + .computeBytesSize(1, getShardBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(2, getRegionBytes()); + } + 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.ShardHome parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.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.ShardHome prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code ShardHome} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHome_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHome_fieldAccessorTable + .ensureFieldAccessorsInitialized( + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome.class, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome.Builder.class); + } + + // Construct using akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + shard_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + region_ = ""; + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHome_descriptor; + } + + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome getDefaultInstanceForType() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome.getDefaultInstance(); + } + + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome build() { + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome buildPartial() { + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome result = new akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.shard_ = shard_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.region_ = region_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome) { + return mergeFrom((akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome other) { + if (other == akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome.getDefaultInstance()) return this; + if (other.hasShard()) { + bitField0_ |= 0x00000001; + shard_ = other.shard_; + onChanged(); + } + if (other.hasRegion()) { + bitField0_ |= 0x00000002; + region_ = other.region_; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + if (!hasShard()) { + + return false; + } + if (!hasRegion()) { + + return false; + } + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // required string shard = 1; + private java.lang.Object shard_ = ""; + /** + * required string shard = 1; + */ + public boolean hasShard() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string shard = 1; + */ + public java.lang.String getShard() { + java.lang.Object ref = shard_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + shard_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * required string shard = 1; + */ + public com.google.protobuf.ByteString + getShardBytes() { + java.lang.Object ref = shard_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + shard_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * required string shard = 1; + */ + public Builder setShard( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + shard_ = value; + onChanged(); + return this; + } + /** + * required string shard = 1; + */ + public Builder clearShard() { + bitField0_ = (bitField0_ & ~0x00000001); + shard_ = getDefaultInstance().getShard(); + onChanged(); + return this; + } + /** + * required string shard = 1; + */ + public Builder setShardBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + shard_ = value; + onChanged(); + return this; + } + + // required string region = 2; + private java.lang.Object region_ = ""; + /** + * required string region = 2; + */ + public boolean hasRegion() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * required string region = 2; + */ + public java.lang.String getRegion() { + java.lang.Object ref = region_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + region_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * required string region = 2; + */ + public com.google.protobuf.ByteString + getRegionBytes() { + java.lang.Object ref = region_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + region_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * required string region = 2; + */ + public Builder setRegion( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + region_ = value; + onChanged(); + return this; + } + /** + * required string region = 2; + */ + public Builder clearRegion() { + bitField0_ = (bitField0_ & ~0x00000002); + region_ = getDefaultInstance().getRegion(); + onChanged(); + return this; + } + /** + * required string region = 2; + */ + public Builder setRegionBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + region_ = value; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:ShardHome) + } + + static { + defaultInstance = new ShardHome(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:ShardHome) + } + + public interface EntityStateOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // repeated string entities = 1; + /** + * repeated string entities = 1; + */ + java.util.List + getEntitiesList(); + /** + * repeated string entities = 1; + */ + int getEntitiesCount(); + /** + * repeated string entities = 1; + */ + java.lang.String getEntities(int index); + /** + * repeated string entities = 1; + */ + com.google.protobuf.ByteString + getEntitiesBytes(int index); + } + /** + * Protobuf type {@code EntityState} + */ + public static final class EntityState extends + com.google.protobuf.GeneratedMessage + implements EntityStateOrBuilder { + // Use EntityState.newBuilder() to construct. + private EntityState(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private EntityState(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final EntityState defaultInstance; + public static EntityState getDefaultInstance() { + return defaultInstance; + } + + public EntityState getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private EntityState( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.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)) { + entities_ = new com.google.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000001; + } + entities_.add(input.readBytes()); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) { + entities_ = new com.google.protobuf.UnmodifiableLazyStringList(entities_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityState_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityState_fieldAccessorTable + .ensureFieldAccessorsInitialized( + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState.class, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public EntityState parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new EntityState(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + // repeated string entities = 1; + public static final int ENTITIES_FIELD_NUMBER = 1; + private com.google.protobuf.LazyStringList entities_; + /** + * repeated string entities = 1; + */ + public java.util.List + getEntitiesList() { + return entities_; + } + /** + * repeated string entities = 1; + */ + public int getEntitiesCount() { + return entities_.size(); + } + /** + * repeated string entities = 1; + */ + public java.lang.String getEntities(int index) { + return entities_.get(index); + } + /** + * repeated string entities = 1; + */ + public com.google.protobuf.ByteString + getEntitiesBytes(int index) { + return entities_.getByteString(index); + } + + private void initFields() { + entities_ = com.google.protobuf.LazyStringArrayList.EMPTY; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + for (int i = 0; i < entities_.size(); i++) { + output.writeBytes(1, entities_.getByteString(i)); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + { + int dataSize = 0; + for (int i = 0; i < entities_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeBytesSizeNoTag(entities_.getByteString(i)); + } + size += dataSize; + size += 1 * getEntitiesList().size(); + } + 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.EntityState parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.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.EntityState prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code EntityState} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStateOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityState_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityState_fieldAccessorTable + .ensureFieldAccessorsInitialized( + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState.class, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState.Builder.class); + } + + // Construct using akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + entities_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityState_descriptor; + } + + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState getDefaultInstanceForType() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState.getDefaultInstance(); + } + + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState build() { + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState buildPartial() { + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState result = new akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState(this); + int from_bitField0_ = bitField0_; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + entities_ = new com.google.protobuf.UnmodifiableLazyStringList( + entities_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.entities_ = entities_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState) { + return mergeFrom((akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState other) { + if (other == akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState.getDefaultInstance()) return this; + if (!other.entities_.isEmpty()) { + if (entities_.isEmpty()) { + entities_ = other.entities_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureEntitiesIsMutable(); + entities_.addAll(other.entities_); + } + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + 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 { + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // repeated string entities = 1; + private com.google.protobuf.LazyStringList entities_ = com.google.protobuf.LazyStringArrayList.EMPTY; + private void ensureEntitiesIsMutable() { + if (!((bitField0_ & 0x00000001) == 0x00000001)) { + entities_ = new com.google.protobuf.LazyStringArrayList(entities_); + bitField0_ |= 0x00000001; + } + } + /** + * repeated string entities = 1; + */ + public java.util.List + getEntitiesList() { + return java.util.Collections.unmodifiableList(entities_); + } + /** + * repeated string entities = 1; + */ + public int getEntitiesCount() { + return entities_.size(); + } + /** + * repeated string entities = 1; + */ + public java.lang.String getEntities(int index) { + return entities_.get(index); + } + /** + * repeated string entities = 1; + */ + public com.google.protobuf.ByteString + getEntitiesBytes(int index) { + return entities_.getByteString(index); + } + /** + * repeated string entities = 1; + */ + public Builder setEntities( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureEntitiesIsMutable(); + entities_.set(index, value); + onChanged(); + return this; + } + /** + * repeated string entities = 1; + */ + public Builder addEntities( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureEntitiesIsMutable(); + entities_.add(value); + onChanged(); + return this; + } + /** + * repeated string entities = 1; + */ + public Builder addAllEntities( + java.lang.Iterable values) { + ensureEntitiesIsMutable(); + super.addAll(values, entities_); + onChanged(); + return this; + } + /** + * repeated string entities = 1; + */ + public Builder clearEntities() { + entities_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * repeated string entities = 1; + */ + public Builder addEntitiesBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + ensureEntitiesIsMutable(); + entities_.add(value); + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:EntityState) + } + + static { + defaultInstance = new EntityState(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:EntityState) + } + + public interface EntityStartedOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // required string entityId = 1; + /** + * required string entityId = 1; + */ + boolean hasEntityId(); + /** + * required string entityId = 1; + */ + java.lang.String getEntityId(); + /** + * required string entityId = 1; + */ + com.google.protobuf.ByteString + getEntityIdBytes(); + } + /** + * Protobuf type {@code EntityStarted} + */ + public static final class EntityStarted extends + com.google.protobuf.GeneratedMessage + implements EntityStartedOrBuilder { + // Use EntityStarted.newBuilder() to construct. + private EntityStarted(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private EntityStarted(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final EntityStarted defaultInstance; + public static EntityStarted getDefaultInstance() { + return defaultInstance; + } + + public EntityStarted getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private EntityStarted( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.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; + entityId_ = input.readBytes(); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityStarted_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityStarted_fieldAccessorTable + .ensureFieldAccessorsInitialized( + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted.class, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public EntityStarted parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new EntityStarted(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // required string entityId = 1; + public static final int ENTITYID_FIELD_NUMBER = 1; + private java.lang.Object entityId_; + /** + * required string entityId = 1; + */ + public boolean hasEntityId() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string entityId = 1; + */ + public java.lang.String getEntityId() { + java.lang.Object ref = entityId_; + 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(); + if (bs.isValidUtf8()) { + entityId_ = s; + } + return s; + } + } + /** + * required string entityId = 1; + */ + public com.google.protobuf.ByteString + getEntityIdBytes() { + java.lang.Object ref = entityId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + entityId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private void initFields() { + entityId_ = ""; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + if (!hasEntityId()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, getEntityIdBytes()); + } + 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 += com.google.protobuf.CodedOutputStream + .computeBytesSize(1, getEntityIdBytes()); + } + 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.EntityStarted parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.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.EntityStarted prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code EntityStarted} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStartedOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityStarted_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityStarted_fieldAccessorTable + .ensureFieldAccessorsInitialized( + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted.class, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted.Builder.class); + } + + // Construct using akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + entityId_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityStarted_descriptor; + } + + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted getDefaultInstanceForType() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted.getDefaultInstance(); + } + + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted build() { + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted buildPartial() { + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted result = new akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.entityId_ = entityId_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted) { + return mergeFrom((akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted other) { + if (other == akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted.getDefaultInstance()) return this; + if (other.hasEntityId()) { + bitField0_ |= 0x00000001; + entityId_ = other.entityId_; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + if (!hasEntityId()) { + + return false; + } + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // required string entityId = 1; + private java.lang.Object entityId_ = ""; + /** + * required string entityId = 1; + */ + public boolean hasEntityId() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string entityId = 1; + */ + public java.lang.String getEntityId() { + java.lang.Object ref = entityId_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + entityId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * required string entityId = 1; + */ + public com.google.protobuf.ByteString + getEntityIdBytes() { + java.lang.Object ref = entityId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + entityId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * required string entityId = 1; + */ + public Builder setEntityId( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + entityId_ = value; + onChanged(); + return this; + } + /** + * required string entityId = 1; + */ + public Builder clearEntityId() { + bitField0_ = (bitField0_ & ~0x00000001); + entityId_ = getDefaultInstance().getEntityId(); + onChanged(); + return this; + } + /** + * required string entityId = 1; + */ + public Builder setEntityIdBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + entityId_ = value; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:EntityStarted) + } + + static { + defaultInstance = new EntityStarted(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:EntityStarted) + } + + public interface EntityStoppedOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // required string entityId = 1; + /** + * required string entityId = 1; + */ + boolean hasEntityId(); + /** + * required string entityId = 1; + */ + java.lang.String getEntityId(); + /** + * required string entityId = 1; + */ + com.google.protobuf.ByteString + getEntityIdBytes(); + } + /** + * Protobuf type {@code EntityStopped} + */ + public static final class EntityStopped extends + com.google.protobuf.GeneratedMessage + implements EntityStoppedOrBuilder { + // Use EntityStopped.newBuilder() to construct. + private EntityStopped(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private EntityStopped(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final EntityStopped defaultInstance; + public static EntityStopped getDefaultInstance() { + return defaultInstance; + } + + public EntityStopped getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private EntityStopped( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.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; + entityId_ = input.readBytes(); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityStopped_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityStopped_fieldAccessorTable + .ensureFieldAccessorsInitialized( + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped.class, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public EntityStopped parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new EntityStopped(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // required string entityId = 1; + public static final int ENTITYID_FIELD_NUMBER = 1; + private java.lang.Object entityId_; + /** + * required string entityId = 1; + */ + public boolean hasEntityId() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string entityId = 1; + */ + public java.lang.String getEntityId() { + java.lang.Object ref = entityId_; + 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(); + if (bs.isValidUtf8()) { + entityId_ = s; + } + return s; + } + } + /** + * required string entityId = 1; + */ + public com.google.protobuf.ByteString + getEntityIdBytes() { + java.lang.Object ref = entityId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + entityId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private void initFields() { + entityId_ = ""; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + if (!hasEntityId()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, getEntityIdBytes()); + } + 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 += com.google.protobuf.CodedOutputStream + .computeBytesSize(1, getEntityIdBytes()); + } + 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.EntityStopped parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.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.EntityStopped prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code EntityStopped} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStoppedOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityStopped_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityStopped_fieldAccessorTable + .ensureFieldAccessorsInitialized( + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped.class, akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped.Builder.class); + } + + // Construct using akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + entityId_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityStopped_descriptor; + } + + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped getDefaultInstanceForType() { + return akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped.getDefaultInstance(); + } + + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped build() { + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped buildPartial() { + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped result = new akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.entityId_ = entityId_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped) { + return mergeFrom((akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped other) { + if (other == akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped.getDefaultInstance()) return this; + if (other.hasEntityId()) { + bitField0_ |= 0x00000001; + entityId_ = other.entityId_; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + if (!hasEntityId()) { + + return false; + } + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (akka.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // required string entityId = 1; + private java.lang.Object entityId_ = ""; + /** + * required string entityId = 1; + */ + public boolean hasEntityId() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string entityId = 1; + */ + public java.lang.String getEntityId() { + java.lang.Object ref = entityId_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + entityId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * required string entityId = 1; + */ + public com.google.protobuf.ByteString + getEntityIdBytes() { + java.lang.Object ref = entityId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + entityId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * required string entityId = 1; + */ + public Builder setEntityId( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + entityId_ = value; + onChanged(); + return this; + } + /** + * required string entityId = 1; + */ + public Builder clearEntityId() { + bitField0_ = (bitField0_ & ~0x00000001); + entityId_ = getDefaultInstance().getEntityId(); + onChanged(); + return this; + } + /** + * required string entityId = 1; + */ + public Builder setEntityIdBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + entityId_ = value; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:EntityStopped) + } + + static { + defaultInstance = new EntityStopped(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:EntityStopped) + } + + private static com.google.protobuf.Descriptors.Descriptor + internal_static_CoordinatorState_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_CoordinatorState_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_CoordinatorState_ShardEntry_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_CoordinatorState_ShardEntry_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_ActorRefMessage_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_ActorRefMessage_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_ShardIdMessage_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_ShardIdMessage_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_ShardHomeAllocated_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_ShardHomeAllocated_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_ShardHome_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_ShardHome_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_EntityState_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_EntityState_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_EntityStarted_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_EntityStarted_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_EntityStopped_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_EntityStopped_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static com.google.protobuf.Descriptors.FileDescriptor + descriptor; + static { + java.lang.String[] descriptorData = { + "\n\035ClusterShardingMessages.proto\"\265\001\n\020Coor" + + "dinatorState\022,\n\006shards\030\001 \003(\0132\034.Coordinat" + + "orState.ShardEntry\022\017\n\007regions\030\002 \003(\t\022\025\n\rr" + + "egionProxies\030\003 \003(\t\022\031\n\021unallocatedShards\030" + + "\004 \003(\t\0320\n\nShardEntry\022\017\n\007shardId\030\001 \002(\t\022\021\n\t" + + "regionRef\030\002 \002(\t\"\036\n\017ActorRefMessage\022\013\n\003re" + + "f\030\001 \002(\t\"\037\n\016ShardIdMessage\022\r\n\005shard\030\001 \002(\t" + + "\"3\n\022ShardHomeAllocated\022\r\n\005shard\030\001 \002(\t\022\016\n" + + "\006region\030\002 \002(\t\"*\n\tShardHome\022\r\n\005shard\030\001 \002(" + + "\t\022\016\n\006region\030\002 \002(\t\"\037\n\013EntityState\022\020\n\010enti", + "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" + + "B&\n\"akka.cluster.sharding.protobuf.msgH\001" + }; + com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = + new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() { + public com.google.protobuf.ExtensionRegistry assignDescriptors( + com.google.protobuf.Descriptors.FileDescriptor root) { + descriptor = root; + internal_static_CoordinatorState_descriptor = + getDescriptor().getMessageTypes().get(0); + internal_static_CoordinatorState_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_CoordinatorState_descriptor, + new java.lang.String[] { "Shards", "Regions", "RegionProxies", "UnallocatedShards", }); + internal_static_CoordinatorState_ShardEntry_descriptor = + internal_static_CoordinatorState_descriptor.getNestedTypes().get(0); + internal_static_CoordinatorState_ShardEntry_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_CoordinatorState_ShardEntry_descriptor, + new java.lang.String[] { "ShardId", "RegionRef", }); + internal_static_ActorRefMessage_descriptor = + getDescriptor().getMessageTypes().get(1); + internal_static_ActorRefMessage_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_ActorRefMessage_descriptor, + new java.lang.String[] { "Ref", }); + internal_static_ShardIdMessage_descriptor = + getDescriptor().getMessageTypes().get(2); + internal_static_ShardIdMessage_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_ShardIdMessage_descriptor, + new java.lang.String[] { "Shard", }); + internal_static_ShardHomeAllocated_descriptor = + getDescriptor().getMessageTypes().get(3); + internal_static_ShardHomeAllocated_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_ShardHomeAllocated_descriptor, + new java.lang.String[] { "Shard", "Region", }); + internal_static_ShardHome_descriptor = + getDescriptor().getMessageTypes().get(4); + internal_static_ShardHome_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_ShardHome_descriptor, + new java.lang.String[] { "Shard", "Region", }); + internal_static_EntityState_descriptor = + getDescriptor().getMessageTypes().get(5); + internal_static_EntityState_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_EntityState_descriptor, + new java.lang.String[] { "Entities", }); + internal_static_EntityStarted_descriptor = + getDescriptor().getMessageTypes().get(6); + internal_static_EntityStarted_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_EntityStarted_descriptor, + new java.lang.String[] { "EntityId", }); + internal_static_EntityStopped_descriptor = + getDescriptor().getMessageTypes().get(7); + internal_static_EntityStopped_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_EntityStopped_descriptor, + new java.lang.String[] { "EntityId", }); + return null; + } + }; + com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + }, assigner); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/akka-cluster-sharding/src/main/protobuf/ClusterShardingMessages.proto b/akka-cluster-sharding/src/main/protobuf/ClusterShardingMessages.proto new file mode 100644 index 0000000000..a93b60964c --- /dev/null +++ b/akka-cluster-sharding/src/main/protobuf/ClusterShardingMessages.proto @@ -0,0 +1,50 @@ +/** + * Copyright (C) 2015 Typesafe Inc. + */ + +option java_package = "akka.cluster.sharding.protobuf.msg"; +option optimize_for = SPEED; + +message CoordinatorState { + + message ShardEntry { + required string shardId = 1; + required string regionRef = 2; + } + + repeated ShardEntry shards = 1; + repeated string regions = 2; + repeated string regionProxies = 3; + repeated string unallocatedShards = 4; +} + +message ActorRefMessage { + required string ref = 1; +} + +message ShardIdMessage { + required string shard = 1; +} + +message ShardHomeAllocated { + required string shard = 1; + required string region = 2; +} + +message ShardHome { + required string shard = 1; + required string region = 2; +} + +message EntityState { + repeated string entities = 1; +} + +message EntityStarted { + required string entityId = 1; +} + +message EntityStopped { + required string entityId = 1; +} + diff --git a/akka-cluster-sharding/src/main/resources/reference.conf b/akka-cluster-sharding/src/main/resources/reference.conf index 79a35c52ba..50dca24f8e 100644 --- a/akka-cluster-sharding/src/main/resources/reference.conf +++ b/akka-cluster-sharding/src/main/resources/reference.conf @@ -91,3 +91,17 @@ akka.cluster.sharding { use-dispatcher = "" } # //#sharding-ext-config + + +# Protobuf serializer for Cluster Sharding messages +akka.actor { + serializers { + akka-sharding = "akka.cluster.sharding.protobuf.ClusterShardingMessageSerializer" + } + serialization-bindings { + "akka.cluster.sharding.ClusterShardingSerializable" = akka-sharding + } + serialization-identifiers { + "akka.cluster.sharding.protobuf.ClusterShardingMessageSerializer" = 13 + } +} diff --git a/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ClusterShardingSerializable.scala b/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ClusterShardingSerializable.scala new file mode 100644 index 0000000000..7d5ffb8211 --- /dev/null +++ b/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ClusterShardingSerializable.scala @@ -0,0 +1,9 @@ +/** + * Copyright (C) 2015 Typesafe Inc. + */ +package akka.cluster.sharding + +/** + * Marker trait for remote messages and persistent events/snapshots with special serializer. + */ +trait ClusterShardingSerializable extends Serializable diff --git a/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/Shard.scala b/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/Shard.scala index 7df2ce0c40..d9b163340a 100644 --- a/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/Shard.scala +++ b/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/Shard.scala @@ -36,7 +36,9 @@ private[akka] object Shard { /** * A case class which represents a state change for the Shard */ - sealed trait StateChange { val entityId: EntityId } + sealed trait StateChange extends ClusterShardingSerializable { + val entityId: EntityId + } /** * `State` change for starting an entity in this `Shard` @@ -55,8 +57,8 @@ private[akka] object Shard { /** * Persistent state of the Shard. */ - @SerialVersionUID(1L) final case class State private ( - entities: Set[EntityId] = Set.empty) + @SerialVersionUID(1L) final case class State private[akka] ( + entities: Set[EntityId] = Set.empty) extends ClusterShardingSerializable /** * Factory method for the [[akka.actor.Props]] of the [[Shard]] actor. diff --git a/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ShardCoordinator.scala b/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ShardCoordinator.scala index 7867a8c621..427eb638ba 100644 --- a/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ShardCoordinator.scala +++ b/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ShardCoordinator.scala @@ -159,11 +159,11 @@ object ShardCoordinator { /** * Messages sent to the coordinator */ - sealed trait CoordinatorCommand + sealed trait CoordinatorCommand extends ClusterShardingSerializable /** * Messages sent from the coordinator */ - sealed trait CoordinatorMessage + sealed trait CoordinatorMessage extends ClusterShardingSerializable /** * `ShardRegion` registers to `ShardCoordinator`, until it receives [[RegisterAck]]. */ @@ -218,24 +218,13 @@ object ShardCoordinator { */ @SerialVersionUID(1L) final case class ShardStopped(shard: ShardId) extends CoordinatorCommand - /** - * Result of `allocateShard` is piped to self with this message. - */ - @SerialVersionUID(1L) final case class AllocateShardResult( - shard: ShardId, shardRegion: Option[ActorRef], getShardHomeSender: ActorRef) extends CoordinatorCommand - - /** - * Result of `rebalance` is piped to self with this message. - */ - @SerialVersionUID(1L) final case class RebalanceResult(shards: Set[ShardId]) extends CoordinatorCommand - /** * `ShardRegion` requests full handoff to be able to shutdown gracefully. */ @SerialVersionUID(1L) final case class GracefulShutdownReq(shardRegion: ActorRef) extends CoordinatorCommand // DomainEvents for the persistent state of the event sourced ShardCoordinator - sealed trait DomainEvent + sealed trait DomainEvent extends ClusterShardingSerializable @SerialVersionUID(1L) final case class ShardRegionRegistered(region: ActorRef) extends DomainEvent @SerialVersionUID(1L) final case class ShardRegionProxyRegistered(regionProxy: ActorRef) extends DomainEvent @SerialVersionUID(1L) final case class ShardRegionTerminated(region: ActorRef) extends DomainEvent @@ -250,13 +239,13 @@ object ShardCoordinator { /** * Persistent state of the event sourced ShardCoordinator. */ - @SerialVersionUID(1L) final case class State private ( + @SerialVersionUID(1L) final case class State private[akka] ( // region for each shard shards: Map[ShardId, ActorRef] = Map.empty, // shards for each region regions: Map[ActorRef, Vector[ShardId]] = Map.empty, regionProxies: Set[ActorRef] = Set.empty, - unallocatedShards: Set[ShardId] = Set.empty) { + unallocatedShards: Set[ShardId] = Set.empty) extends ClusterShardingSerializable { def updated(event: DomainEvent): State = event match { case ShardRegionRegistered(region) ⇒ @@ -309,6 +298,17 @@ object ShardCoordinator { private final case class DelayedShardRegionTerminated(region: ActorRef) + /** + * Result of `allocateShard` is piped to self with this message. + */ + private final case class AllocateShardResult( + shard: ShardId, shardRegion: Option[ActorRef], getShardHomeSender: ActorRef) + + /** + * Result of `rebalance` is piped to self with this message. + */ + private final case class RebalanceResult(shards: Set[ShardId]) + /** * INTERNAL API. Rebalancing process is performed by this actor. * It sends `BeginHandOff` to all `ShardRegion` actors followed by 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 new file mode 100644 index 0000000000..2601508c6c --- /dev/null +++ b/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/protobuf/ClusterShardingMessageSerializer.scala @@ -0,0 +1,276 @@ +/** + * Copyright (C) 2009-2015 Typesafe Inc. + */ +package akka.cluster.sharding.protobuf + +import java.io.{ ByteArrayInputStream, ByteArrayOutputStream } +import java.util.zip.GZIPInputStream +import java.util.zip.GZIPOutputStream + +import scala.annotation.tailrec +import scala.collection.JavaConverters._ +import scala.collection.breakOut + +import akka.actor.ActorRef +import akka.actor.ExtendedActorSystem +import akka.cluster.sharding.Shard +import akka.cluster.sharding.ShardCoordinator +import akka.cluster.sharding.protobuf.msg.{ ClusterShardingMessages => sm } +import akka.serialization.BaseSerializer +import akka.serialization.Serialization +import akka.serialization.SerializationExtension +import akka.serialization.SerializerWithStringManifest +import com.google.protobuf.MessageLite + +/** + * INTERNAL API: Protobuf serializer of ClusterSharding messages. + */ +private[akka] class ClusterShardingMessageSerializer(val system: ExtendedActorSystem) + extends SerializerWithStringManifest with BaseSerializer { + import ShardCoordinator.Internal._ + import Shard.{ State ⇒ EntityState, EntityStarted, EntityStopped } + + private lazy val serialization = SerializationExtension(system) + + private final val BufferSize = 1024 * 4 + + private val CoordinatorStateManifest = "AA" + private val ShardRegionRegisteredManifest = "AB" + private val ShardRegionProxyRegisteredManifest = "AC" + private val ShardRegionTerminatedManifest = "AD" + private val ShardRegionProxyTerminatedManifest = "AE" + private val ShardHomeAllocatedManifest = "AF" + private val ShardHomeDeallocatedManifest = "AG" + + private val RegisterManifest = "BA" + private val RegisterProxyManifest = "BB" + private val RegisterAckManifest = "BC" + private val GetShardHomeManifest = "BD" + private val ShardHomeManifest = "BE" + private val HostShardManifest = "BF" + private val ShardStartedManifest = "BG" + private val BeginHandOffManifest = "BH" + private val BeginHandOffAckManifest = "BI" + private val HandOffManifest = "BJ" + private val ShardStoppedManifest = "BK" + private val GracefulShutdownReqManifest = "BL" + + private val EntityStateManifest = "CA" + private val EntityStartedManifest = "CB" + private val EntityStoppedManifest = "CD" + + private val fromBinaryMap = collection.immutable.HashMap[String, Array[Byte] ⇒ AnyRef]( + EntityStateManifest -> entityStateFromBinary, + EntityStartedManifest -> entityStartedFromBinary, + EntityStoppedManifest -> entityStoppedFromBinary, + + CoordinatorStateManifest -> coordinatorStateFromBinary, + ShardRegionRegisteredManifest -> { bytes ⇒ ShardRegionRegistered(actorRefMessageFromBinary(bytes)) }, + ShardRegionProxyRegisteredManifest -> { bytes ⇒ ShardRegionProxyRegistered(actorRefMessageFromBinary(bytes)) }, + ShardRegionTerminatedManifest -> { bytes ⇒ ShardRegionTerminated(actorRefMessageFromBinary(bytes)) }, + ShardRegionProxyTerminatedManifest -> { bytes ⇒ ShardRegionProxyTerminated(actorRefMessageFromBinary(bytes)) }, + ShardHomeAllocatedManifest -> shardHomeAllocatedFromBinary, + ShardHomeDeallocatedManifest -> { bytes ⇒ ShardHomeDeallocated(shardIdMessageFromBinary(bytes)) }, + + RegisterManifest -> { bytes ⇒ Register(actorRefMessageFromBinary(bytes)) }, + RegisterProxyManifest -> { bytes ⇒ RegisterProxy(actorRefMessageFromBinary(bytes)) }, + RegisterAckManifest -> { bytes ⇒ RegisterAck(actorRefMessageFromBinary(bytes)) }, + GetShardHomeManifest -> { bytes ⇒ GetShardHome(shardIdMessageFromBinary(bytes)) }, + ShardHomeManifest -> shardHomeFromBinary, + HostShardManifest -> { bytes ⇒ HostShard(shardIdMessageFromBinary(bytes)) }, + ShardStartedManifest -> { bytes ⇒ ShardStarted(shardIdMessageFromBinary(bytes)) }, + BeginHandOffManifest -> { bytes ⇒ BeginHandOff(shardIdMessageFromBinary(bytes)) }, + BeginHandOffAckManifest -> { bytes ⇒ BeginHandOffAck(shardIdMessageFromBinary(bytes)) }, + HandOffManifest -> { bytes ⇒ HandOff(shardIdMessageFromBinary(bytes)) }, + ShardStoppedManifest -> { bytes ⇒ ShardStopped(shardIdMessageFromBinary(bytes)) }, + GracefulShutdownReqManifest -> { bytes ⇒ GracefulShutdownReq(actorRefMessageFromBinary(bytes)) }) + + override def manifest(obj: AnyRef): String = obj match { + case _: EntityState ⇒ EntityStateManifest + case _: EntityStarted ⇒ EntityStartedManifest + case _: EntityStopped ⇒ EntityStoppedManifest + + case _: State ⇒ CoordinatorStateManifest + case _: ShardRegionRegistered ⇒ ShardRegionRegisteredManifest + case _: ShardRegionProxyRegistered ⇒ ShardRegionProxyRegisteredManifest + case _: ShardRegionTerminated ⇒ ShardRegionTerminatedManifest + case _: ShardRegionProxyTerminated ⇒ ShardRegionProxyTerminatedManifest + case _: ShardHomeAllocated ⇒ ShardHomeAllocatedManifest + case _: ShardHomeDeallocated ⇒ ShardHomeDeallocatedManifest + + case _: Register ⇒ RegisterManifest + case _: RegisterProxy ⇒ RegisterProxyManifest + case _: RegisterAck ⇒ RegisterAckManifest + case _: GetShardHome ⇒ GetShardHomeManifest + case _: ShardHome ⇒ ShardHomeManifest + case _: HostShard ⇒ HostShardManifest + case _: ShardStarted ⇒ ShardStartedManifest + case _: BeginHandOff ⇒ BeginHandOffManifest + case _: BeginHandOffAck ⇒ BeginHandOffAckManifest + case _: HandOff ⇒ HandOffManifest + case _: ShardStopped ⇒ ShardStoppedManifest + case _: GracefulShutdownReq ⇒ GracefulShutdownReqManifest + case _ ⇒ + throw new IllegalArgumentException(s"Can't serialize object of type ${obj.getClass} in [${getClass.getName}]") + } + + override def toBinary(obj: AnyRef): Array[Byte] = obj match { + case m: State ⇒ compress(coordinatorStateToProto(m)) + case ShardRegionRegistered(ref) ⇒ actorRefMessageToProto(ref).toByteArray + case ShardRegionProxyRegistered(ref) ⇒ actorRefMessageToProto(ref).toByteArray + case ShardRegionTerminated(ref) ⇒ actorRefMessageToProto(ref).toByteArray + case ShardRegionProxyTerminated(ref) ⇒ actorRefMessageToProto(ref).toByteArray + case m: ShardHomeAllocated ⇒ shardHomeAllocatedToProto(m).toByteArray + case ShardHomeDeallocated(shardId) ⇒ shardIdMessageToProto(shardId).toByteArray + + case Register(ref) ⇒ actorRefMessageToProto(ref).toByteArray + case RegisterProxy(ref) ⇒ actorRefMessageToProto(ref).toByteArray + case RegisterAck(ref) ⇒ actorRefMessageToProto(ref).toByteArray + case GetShardHome(shardId) ⇒ shardIdMessageToProto(shardId).toByteArray + case m: ShardHome ⇒ shardHomeToProto(m).toByteArray + case HostShard(shardId) ⇒ shardIdMessageToProto(shardId).toByteArray + case ShardStarted(shardId) ⇒ shardIdMessageToProto(shardId).toByteArray + case BeginHandOff(shardId) ⇒ shardIdMessageToProto(shardId).toByteArray + case BeginHandOffAck(shardId) ⇒ shardIdMessageToProto(shardId).toByteArray + case HandOff(shardId) ⇒ shardIdMessageToProto(shardId).toByteArray + case ShardStopped(shardId) ⇒ shardIdMessageToProto(shardId).toByteArray + 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 _ ⇒ + throw new IllegalArgumentException(s"Can't serialize object of type ${obj.getClass} in [${getClass.getName}]") + } + + override def fromBinary(bytes: Array[Byte], manifest: String): AnyRef = + fromBinaryMap.get(manifest) match { + case Some(f) ⇒ f(bytes) + case None ⇒ throw new IllegalArgumentException( + s"Unimplemented deserialization of message with manifest [$manifest] in [${getClass.getName}]") + } + + private def coordinatorStateToProto(state: State): sm.CoordinatorState = { + val regions = state.regions.map { + case (regionRef, _) ⇒ Serialization.serializedActorPath(regionRef) + }.toVector.asJava + + val builder = sm.CoordinatorState.newBuilder() + + state.shards.foreach { + case (shardId, regionRef) ⇒ + val b = sm.CoordinatorState.ShardEntry.newBuilder() + .setShardId(shardId) + .setRegionRef(Serialization.serializedActorPath(regionRef)) + builder.addShards(b) + } + state.regions.foreach { + case (regionRef, _) ⇒ builder.addRegions(Serialization.serializedActorPath(regionRef)) + } + state.regionProxies.foreach { ref ⇒ builder.addRegionProxies(Serialization.serializedActorPath(ref)) } + state.unallocatedShards.foreach { builder.addUnallocatedShards } + + builder.build() + } + + private def coordinatorStateFromBinary(bytes: Array[Byte]): State = + coordinatorStateFromProto(sm.CoordinatorState.parseFrom(decompress(bytes))) + + private def coordinatorStateFromProto(state: sm.CoordinatorState): State = { + val shards: Map[String, ActorRef] = + state.getShardsList.asScala.toVector.map { entry ⇒ + entry.getShardId -> resolveActorRef(entry.getRegionRef) + }(breakOut) + + val regionsZero: Map[ActorRef, Vector[String]] = + state.getRegionsList.asScala.toVector.map(resolveActorRef(_) -> Vector.empty[String])(breakOut) + val regions: Map[ActorRef, Vector[String]] = + shards.foldLeft(regionsZero) { case (acc, (shardId, regionRef)) ⇒ acc.updated(regionRef, acc(regionRef) :+ shardId) } + + val proxies: Set[ActorRef] = state.getRegionProxiesList.asScala.map { resolveActorRef }(breakOut) + val unallocatedShards: Set[String] = state.getUnallocatedShardsList.asScala.toSet + + State(shards, regions, proxies, unallocatedShards) + } + + private def actorRefMessageToProto(ref: ActorRef): sm.ActorRefMessage = + sm.ActorRefMessage.newBuilder().setRef(Serialization.serializedActorPath(ref)).build() + + private def actorRefMessageFromBinary(bytes: Array[Byte]): ActorRef = + resolveActorRef(sm.ActorRefMessage.parseFrom(bytes).getRef) + + private def shardIdMessageToProto(shardId: String): sm.ShardIdMessage = + sm.ShardIdMessage.newBuilder().setShard(shardId).build() + + private def shardIdMessageFromBinary(bytes: Array[Byte]): String = + sm.ShardIdMessage.parseFrom(bytes).getShard + + private def shardHomeAllocatedToProto(evt: ShardHomeAllocated): sm.ShardHomeAllocated = + sm.ShardHomeAllocated.newBuilder().setShard(evt.shard) + .setRegion(Serialization.serializedActorPath(evt.region)).build() + + private def shardHomeAllocatedFromBinary(bytes: Array[Byte]): ShardHomeAllocated = { + val m = sm.ShardHomeAllocated.parseFrom(bytes) + ShardHomeAllocated(m.getShard, resolveActorRef(m.getRegion)) + } + + private def shardHomeToProto(m: ShardHome): sm.ShardHome = + sm.ShardHome.newBuilder().setShard(m.shard) + .setRegion(Serialization.serializedActorPath(m.ref)).build() + + private def shardHomeFromBinary(bytes: Array[Byte]): ShardHome = { + val m = sm.ShardHome.parseFrom(bytes) + ShardHome(m.getShard, resolveActorRef(m.getRegion)) + } + + private def entityStateToProto(m: EntityState): sm.EntityState = { + val b = sm.EntityState.newBuilder() + m.entities.foreach(b.addEntities) + b.build() + } + + private def entityStateFromBinary(bytes: Array[Byte]): EntityState = + EntityState(sm.EntityState.parseFrom(bytes).getEntitiesList.asScala.toSet) + + private def entityStartedToProto(evt: EntityStarted): sm.EntityStarted = + sm.EntityStarted.newBuilder().setEntityId(evt.entityId).build() + + private def entityStartedFromBinary(bytes: Array[Byte]): EntityStarted = + EntityStarted(sm.EntityStarted.parseFrom(bytes).getEntityId) + + private def entityStoppedToProto(evt: EntityStopped): sm.EntityStopped = + sm.EntityStopped.newBuilder().setEntityId(evt.entityId).build() + + private def entityStoppedFromBinary(bytes: Array[Byte]): EntityStopped = + EntityStopped(sm.EntityStopped.parseFrom(bytes).getEntityId) + + private def resolveActorRef(path: String): ActorRef = { + system.provider.resolveActorRef(path) + } + + private def compress(msg: MessageLite): Array[Byte] = { + val bos = new ByteArrayOutputStream(BufferSize) + val zip = new GZIPOutputStream(bos) + msg.writeTo(zip) + zip.close() + bos.toByteArray + } + + private def decompress(bytes: Array[Byte]): Array[Byte] = { + val in = new GZIPInputStream(new ByteArrayInputStream(bytes)) + val out = new ByteArrayOutputStream() + val buffer = new Array[Byte](BufferSize) + + @tailrec def readChunk(): Unit = in.read(buffer) match { + case -1 ⇒ () + case n ⇒ + out.write(buffer, 0, n) + readChunk() + } + + readChunk() + out.toByteArray + } + +} 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 new file mode 100644 index 0000000000..b9a9bc226b --- /dev/null +++ b/akka-cluster-sharding/src/test/scala/akka/cluster/sharding/protobuf/ClusterShardingMessageSerializerSpec.scala @@ -0,0 +1,73 @@ +/** + * Copyright (C) 2015 Typesafe Inc. + */ +package akka.cluster.sharding.protobuf + +import akka.actor.{ ExtendedActorSystem, Address } +import akka.testkit.AkkaSpec +import akka.actor.Props +import akka.cluster.sharding.ShardCoordinator +import akka.cluster.sharding.Shard + +class ClusterShardingMessageSerializerSpec extends AkkaSpec { + import ShardCoordinator.Internal._ + + val serializer = new ClusterShardingMessageSerializer(system.asInstanceOf[ExtendedActorSystem]) + + val region1 = system.actorOf(Props.empty, "region1") + val region2 = system.actorOf(Props.empty, "region2") + val region3 = system.actorOf(Props.empty, "region3") + val regionProxy1 = system.actorOf(Props.empty, "regionProxy1") + val regionProxy2 = system.actorOf(Props.empty, "regionProxy2") + + def checkSerialization(obj: AnyRef): Unit = { + val blob = serializer.toBinary(obj) + val ref = serializer.fromBinary(blob, serializer.manifest(obj)) + ref should ===(obj) + } + + "ClusterShardingMessageSerializer" must { + + "be able to serializable ShardCoordinator snapshot State" in { + val state = State( + shards = Map("a" -> region1, "b" -> region2, "c" -> region2), + regions = Map(region1 -> Vector("a"), region2 -> Vector("b", "c"), region3 -> Vector.empty[String]), + regionProxies = Set(regionProxy1, regionProxy2), + unallocatedShards = Set("d")) + checkSerialization(state) + } + + "be able to serializable ShardCoordinator domain events" in { + checkSerialization(ShardRegionRegistered(region1)) + checkSerialization(ShardRegionProxyRegistered(regionProxy1)) + checkSerialization(ShardRegionTerminated(region1)) + checkSerialization(ShardRegionProxyTerminated(regionProxy1)) + checkSerialization(ShardHomeAllocated("a", region1)) + checkSerialization(ShardHomeDeallocated("a")) + } + + "be able to serializable ShardCoordinator remote messages" in { + checkSerialization(Register(region1)) + checkSerialization(RegisterProxy(regionProxy1)) + checkSerialization(RegisterAck(region1)) + checkSerialization(GetShardHome("a")) + checkSerialization(ShardHome("a", region1)) + checkSerialization(HostShard("a")) + checkSerialization(ShardStarted("a")) + checkSerialization(BeginHandOff("a")) + checkSerialization(BeginHandOffAck("a")) + checkSerialization(HandOff("a")) + checkSerialization(ShardStopped("a")) + checkSerialization(GracefulShutdownReq(region1)) + } + + "be able to serializable PersistentShard snapshot state" in { + checkSerialization(Shard.State(Set("e1", "e2", "e3"))) + } + + "be able to serializable PersistentShard domain events" in { + checkSerialization(Shard.EntityStarted("e1")) + checkSerialization(Shard.EntityStopped("e1")) + } + } +} diff --git a/akka-cluster-tools/src/main/scala/akka/cluster/pubsub/protobuf/DistributedPubSubMessageSerializer.scala b/akka-cluster-tools/src/main/scala/akka/cluster/pubsub/protobuf/DistributedPubSubMessageSerializer.scala index 77a9d8bb24..72834ebab7 100644 --- a/akka-cluster-tools/src/main/scala/akka/cluster/pubsub/protobuf/DistributedPubSubMessageSerializer.scala +++ b/akka-cluster-tools/src/main/scala/akka/cluster/pubsub/protobuf/DistributedPubSubMessageSerializer.scala @@ -30,9 +30,9 @@ import scala.collection.immutable.TreeMap import akka.serialization.SerializerWithStringManifest /** - * Protobuf serializer of DistributedPubSubMediator messages. + * INTERNAL API: Protobuf serializer of DistributedPubSubMediator messages. */ -class DistributedPubSubMessageSerializer(val system: ExtendedActorSystem) +private[akka] class DistributedPubSubMessageSerializer(val system: ExtendedActorSystem) extends SerializerWithStringManifest with BaseSerializer { private lazy val serialization = SerializationExtension(system) @@ -79,7 +79,7 @@ class DistributedPubSubMessageSerializer(val system: ExtendedActorSystem) s"Unimplemented deserialization of message with manifest [$manifest] in [${getClass.getName}]") } - def compress(msg: MessageLite): Array[Byte] = { + private def compress(msg: MessageLite): Array[Byte] = { val bos = new ByteArrayOutputStream(BufferSize) val zip = new GZIPOutputStream(bos) msg.writeTo(zip) @@ -87,7 +87,7 @@ class DistributedPubSubMessageSerializer(val system: ExtendedActorSystem) bos.toByteArray } - def decompress(bytes: Array[Byte]): Array[Byte] = { + private def decompress(bytes: Array[Byte]): Array[Byte] = { val in = new GZIPInputStream(new ByteArrayInputStream(bytes)) val out = new ByteArrayOutputStream() val buffer = new Array[Byte](BufferSize)