+ getKeysList() {
+ return java.util.Collections.unmodifiableList(keys_);
+ }
+ /**
+ * repeated string keys = 3;
+ *
+ *
+ * actual Map is represented by separate sequences of keys and values,
+ * relies on both sequences using the same order so that corresponding entries can be
+ * associated again when deserializing
+ *
+ */
+ public int getKeysCount() {
+ return keys_.size();
+ }
+ /**
+ * repeated string keys = 3;
+ *
+ *
+ * actual Map is represented by separate sequences of keys and values,
+ * relies on both sequences using the same order so that corresponding entries can be
+ * associated again when deserializing
+ *
+ */
+ public java.lang.String getKeys(int index) {
+ return keys_.get(index);
+ }
+ /**
+ * repeated string keys = 3;
+ *
+ *
+ * actual Map is represented by separate sequences of keys and values,
+ * relies on both sequences using the same order so that corresponding entries can be
+ * associated again when deserializing
+ *
+ */
+ public akka.protobuf.ByteString
+ getKeysBytes(int index) {
+ return keys_.getByteString(index);
+ }
+ /**
+ * repeated string keys = 3;
+ *
+ *
+ * actual Map is represented by separate sequences of keys and values,
+ * relies on both sequences using the same order so that corresponding entries can be
+ * associated again when deserializing
+ *
+ */
+ public Builder setKeys(
+ int index, java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureKeysIsMutable();
+ keys_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * repeated string keys = 3;
+ *
+ *
+ * actual Map is represented by separate sequences of keys and values,
+ * relies on both sequences using the same order so that corresponding entries can be
+ * associated again when deserializing
+ *
+ */
+ public Builder addKeys(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureKeysIsMutable();
+ keys_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * repeated string keys = 3;
+ *
+ *
+ * actual Map is represented by separate sequences of keys and values,
+ * relies on both sequences using the same order so that corresponding entries can be
+ * associated again when deserializing
+ *
+ */
+ public Builder addAllKeys(
+ java.lang.Iterable values) {
+ ensureKeysIsMutable();
+ super.addAll(values, keys_);
+ onChanged();
+ return this;
+ }
+ /**
+ * repeated string keys = 3;
+ *
+ *
+ * actual Map is represented by separate sequences of keys and values,
+ * relies on both sequences using the same order so that corresponding entries can be
+ * associated again when deserializing
+ *
+ */
+ public Builder clearKeys() {
+ keys_ = akka.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ onChanged();
+ return this;
+ }
+ /**
+ * repeated string keys = 3;
+ *
+ *
+ * actual Map is represented by separate sequences of keys and values,
+ * relies on both sequences using the same order so that corresponding entries can be
+ * associated again when deserializing
+ *
+ */
+ public Builder addKeysBytes(
+ akka.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureKeysIsMutable();
+ keys_.add(value);
+ onChanged();
+ return this;
+ }
+
+ // repeated uint32 values = 4;
+ private java.util.List values_ = java.util.Collections.emptyList();
+ private void ensureValuesIsMutable() {
+ if (!((bitField0_ & 0x00000008) == 0x00000008)) {
+ values_ = new java.util.ArrayList(values_);
+ bitField0_ |= 0x00000008;
+ }
+ }
+ /**
+ * repeated uint32 values = 4;
+ */
+ public java.util.List
+ getValuesList() {
+ return java.util.Collections.unmodifiableList(values_);
+ }
+ /**
+ * repeated uint32 values = 4;
+ */
+ public int getValuesCount() {
+ return values_.size();
+ }
+ /**
+ * repeated uint32 values = 4;
+ */
+ public int getValues(int index) {
+ return values_.get(index);
+ }
+ /**
+ * repeated uint32 values = 4;
+ */
+ public Builder setValues(
+ int index, int value) {
+ ensureValuesIsMutable();
+ values_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * repeated uint32 values = 4;
+ */
+ public Builder addValues(int value) {
+ ensureValuesIsMutable();
+ values_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * repeated uint32 values = 4;
+ */
+ public Builder addAllValues(
+ java.lang.Iterable extends java.lang.Integer> values) {
+ ensureValuesIsMutable();
+ super.addAll(values, values_);
+ onChanged();
+ return this;
+ }
+ /**
+ * repeated uint32 values = 4;
+ */
+ public Builder clearValues() {
+ values_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000008);
+ onChanged();
+ return this;
+ }
+
+ // @@protoc_insertion_point(builder_scope:CompressionTableAdvertisement)
+ }
+
+ static {
+ defaultInstance = new CompressionTableAdvertisement(true);
+ defaultInstance.initFields();
+ }
+
+ // @@protoc_insertion_point(class_scope:CompressionTableAdvertisement)
+ }
+
+ public interface CompressionTableAdvertisementAckOrBuilder
+ extends akka.protobuf.MessageOrBuilder {
+
+ // required .UniqueAddress from = 1;
+ /**
+ * required .UniqueAddress from = 1;
+ */
+ boolean hasFrom();
+ /**
+ * required .UniqueAddress from = 1;
+ */
+ akka.remote.ArteryControlFormats.UniqueAddress getFrom();
+ /**
+ * required .UniqueAddress from = 1;
+ */
+ akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getFromOrBuilder();
+
+ // required uint32 version = 2;
+ /**
+ * required uint32 version = 2;
+ */
+ boolean hasVersion();
+ /**
+ * required uint32 version = 2;
+ */
+ int getVersion();
+ }
+ /**
+ * Protobuf type {@code CompressionTableAdvertisementAck}
+ *
+ *
+ * CompressionProtocol.ActorRefCompressionAdvertisementAck
+ * CompressionProtocol.ClassManifestCompressionAdvertisementAck
+ *
+ */
+ public static final class CompressionTableAdvertisementAck extends
+ akka.protobuf.GeneratedMessage
+ implements CompressionTableAdvertisementAckOrBuilder {
+ // Use CompressionTableAdvertisementAck.newBuilder() to construct.
+ private CompressionTableAdvertisementAck(akka.protobuf.GeneratedMessage.Builder> builder) {
+ super(builder);
+ this.unknownFields = builder.getUnknownFields();
+ }
+ private CompressionTableAdvertisementAck(boolean noInit) { this.unknownFields = akka.protobuf.UnknownFieldSet.getDefaultInstance(); }
+
+ private static final CompressionTableAdvertisementAck defaultInstance;
+ public static CompressionTableAdvertisementAck getDefaultInstance() {
+ return defaultInstance;
+ }
+
+ public CompressionTableAdvertisementAck getDefaultInstanceForType() {
+ return defaultInstance;
+ }
+
+ private final akka.protobuf.UnknownFieldSet unknownFields;
+ @java.lang.Override
+ public final akka.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private CompressionTableAdvertisementAck(
+ akka.protobuf.CodedInputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ initFields();
+ int mutable_bitField0_ = 0;
+ akka.protobuf.UnknownFieldSet.Builder unknownFields =
+ akka.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ akka.remote.ArteryControlFormats.UniqueAddress.Builder subBuilder = null;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ subBuilder = from_.toBuilder();
+ }
+ from_ = input.readMessage(akka.remote.ArteryControlFormats.UniqueAddress.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(from_);
+ from_ = subBuilder.buildPartial();
+ }
+ bitField0_ |= 0x00000001;
+ break;
+ }
+ case 16: {
+ bitField0_ |= 0x00000002;
+ version_ = input.readUInt32();
+ break;
+ }
+ }
+ }
+ } catch (akka.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new akka.protobuf.InvalidProtocolBufferException(
+ e.getMessage()).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final akka.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return akka.remote.ArteryControlFormats.internal_static_CompressionTableAdvertisementAck_descriptor;
+ }
+
+ protected akka.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return akka.remote.ArteryControlFormats.internal_static_CompressionTableAdvertisementAck_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck.class, akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck.Builder.class);
+ }
+
+ public static akka.protobuf.Parser PARSER =
+ new akka.protobuf.AbstractParser() {
+ public CompressionTableAdvertisementAck parsePartialFrom(
+ akka.protobuf.CodedInputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return new CompressionTableAdvertisementAck(input, extensionRegistry);
+ }
+ };
+
+ @java.lang.Override
+ public akka.protobuf.Parser getParserForType() {
+ return PARSER;
+ }
+
+ private int bitField0_;
+ // required .UniqueAddress from = 1;
+ public static final int FROM_FIELD_NUMBER = 1;
+ private akka.remote.ArteryControlFormats.UniqueAddress from_;
+ /**
+ * required .UniqueAddress from = 1;
+ */
+ public boolean hasFrom() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * required .UniqueAddress from = 1;
+ */
+ public akka.remote.ArteryControlFormats.UniqueAddress getFrom() {
+ return from_;
+ }
+ /**
+ * required .UniqueAddress from = 1;
+ */
+ public akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getFromOrBuilder() {
+ return from_;
+ }
+
+ // required uint32 version = 2;
+ public static final int VERSION_FIELD_NUMBER = 2;
+ private int version_;
+ /**
+ * required uint32 version = 2;
+ */
+ public boolean hasVersion() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * required uint32 version = 2;
+ */
+ public int getVersion() {
+ return version_;
+ }
+
+ private void initFields() {
+ from_ = akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance();
+ version_ = 0;
+ }
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized != -1) return isInitialized == 1;
+
+ if (!hasFrom()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ if (!hasVersion()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ if (!getFrom().isInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(akka.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ getSerializedSize();
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ output.writeMessage(1, from_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ output.writeUInt32(2, version_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public int getSerializedSize() {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ size += akka.protobuf.CodedOutputStream
+ .computeMessageSize(1, from_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ size += akka.protobuf.CodedOutputStream
+ .computeUInt32Size(2, version_);
+ }
+ 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.remote.ArteryControlFormats.CompressionTableAdvertisementAck parseFrom(
+ akka.protobuf.ByteString data)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck parseFrom(
+ akka.protobuf.ByteString data,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck parseFrom(byte[] data)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck parseFrom(
+ byte[] data,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return PARSER.parseFrom(input);
+ }
+ public static akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck parseFrom(
+ java.io.InputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return PARSER.parseFrom(input, extensionRegistry);
+ }
+ public static akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return PARSER.parseDelimitedFrom(input);
+ }
+ public static akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck parseDelimitedFrom(
+ java.io.InputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return PARSER.parseDelimitedFrom(input, extensionRegistry);
+ }
+ public static akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck parseFrom(
+ akka.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return PARSER.parseFrom(input);
+ }
+ public static akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck parseFrom(
+ akka.protobuf.CodedInputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return PARSER.parseFrom(input, extensionRegistry);
+ }
+
+ public static Builder newBuilder() { return Builder.create(); }
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder(akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck prototype) {
+ return newBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ akka.protobuf.GeneratedMessage.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code CompressionTableAdvertisementAck}
+ *
+ *
+ * CompressionProtocol.ActorRefCompressionAdvertisementAck
+ * CompressionProtocol.ClassManifestCompressionAdvertisementAck
+ *
+ */
+ public static final class Builder extends
+ akka.protobuf.GeneratedMessage.Builder
+ implements akka.remote.ArteryControlFormats.CompressionTableAdvertisementAckOrBuilder {
+ public static final akka.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return akka.remote.ArteryControlFormats.internal_static_CompressionTableAdvertisementAck_descriptor;
+ }
+
+ protected akka.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return akka.remote.ArteryControlFormats.internal_static_CompressionTableAdvertisementAck_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck.class, akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck.Builder.class);
+ }
+
+ // Construct using akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ akka.protobuf.GeneratedMessage.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (akka.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+ getFromFieldBuilder();
+ }
+ }
+ private static Builder create() {
+ return new Builder();
+ }
+
+ public Builder clear() {
+ super.clear();
+ if (fromBuilder_ == null) {
+ from_ = akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance();
+ } else {
+ fromBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000001);
+ version_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ return this;
+ }
+
+ public Builder clone() {
+ return create().mergeFrom(buildPartial());
+ }
+
+ public akka.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return akka.remote.ArteryControlFormats.internal_static_CompressionTableAdvertisementAck_descriptor;
+ }
+
+ public akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck getDefaultInstanceForType() {
+ return akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck.getDefaultInstance();
+ }
+
+ public akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck build() {
+ akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck buildPartial() {
+ akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck result = new akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ if (fromBuilder_ == null) {
+ result.from_ = from_;
+ } else {
+ result.from_ = fromBuilder_.build();
+ }
+ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+ to_bitField0_ |= 0x00000002;
+ }
+ result.version_ = version_;
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder mergeFrom(akka.protobuf.Message other) {
+ if (other instanceof akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck) {
+ return mergeFrom((akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck other) {
+ if (other == akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck.getDefaultInstance()) return this;
+ if (other.hasFrom()) {
+ mergeFrom(other.getFrom());
+ }
+ if (other.hasVersion()) {
+ setVersion(other.getVersion());
+ }
+ this.mergeUnknownFields(other.getUnknownFields());
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ if (!hasFrom()) {
+
+ return false;
+ }
+ if (!hasVersion()) {
+
+ return false;
+ }
+ if (!getFrom().isInitialized()) {
+
+ return false;
+ }
+ return true;
+ }
+
+ public Builder mergeFrom(
+ akka.protobuf.CodedInputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (akka.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck) e.getUnfinishedMessage();
+ throw e;
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ // required .UniqueAddress from = 1;
+ private akka.remote.ArteryControlFormats.UniqueAddress from_ = akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance();
+ private akka.protobuf.SingleFieldBuilder<
+ akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder> fromBuilder_;
+ /**
+ * required .UniqueAddress from = 1;
+ */
+ public boolean hasFrom() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * required .UniqueAddress from = 1;
+ */
+ public akka.remote.ArteryControlFormats.UniqueAddress getFrom() {
+ if (fromBuilder_ == null) {
+ return from_;
+ } else {
+ return fromBuilder_.getMessage();
+ }
+ }
+ /**
+ * required .UniqueAddress from = 1;
+ */
+ public Builder setFrom(akka.remote.ArteryControlFormats.UniqueAddress value) {
+ if (fromBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ from_ = value;
+ onChanged();
+ } else {
+ fromBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000001;
+ return this;
+ }
+ /**
+ * required .UniqueAddress from = 1;
+ */
+ public Builder setFrom(
+ akka.remote.ArteryControlFormats.UniqueAddress.Builder builderForValue) {
+ if (fromBuilder_ == null) {
+ from_ = builderForValue.build();
+ onChanged();
+ } else {
+ fromBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000001;
+ return this;
+ }
+ /**
+ * required .UniqueAddress from = 1;
+ */
+ public Builder mergeFrom(akka.remote.ArteryControlFormats.UniqueAddress value) {
+ if (fromBuilder_ == null) {
+ if (((bitField0_ & 0x00000001) == 0x00000001) &&
+ from_ != akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance()) {
+ from_ =
+ akka.remote.ArteryControlFormats.UniqueAddress.newBuilder(from_).mergeFrom(value).buildPartial();
+ } else {
+ from_ = value;
+ }
+ onChanged();
+ } else {
+ fromBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000001;
+ return this;
+ }
+ /**
+ * required .UniqueAddress from = 1;
+ */
+ public Builder clearFrom() {
+ if (fromBuilder_ == null) {
+ from_ = akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance();
+ onChanged();
+ } else {
+ fromBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000001);
+ return this;
+ }
+ /**
+ * required .UniqueAddress from = 1;
+ */
+ public akka.remote.ArteryControlFormats.UniqueAddress.Builder getFromBuilder() {
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return getFromFieldBuilder().getBuilder();
+ }
+ /**
+ * required .UniqueAddress from = 1;
+ */
+ public akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getFromOrBuilder() {
+ if (fromBuilder_ != null) {
+ return fromBuilder_.getMessageOrBuilder();
+ } else {
+ return from_;
+ }
+ }
+ /**
+ * required .UniqueAddress from = 1;
+ */
+ private akka.protobuf.SingleFieldBuilder<
+ akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder>
+ getFromFieldBuilder() {
+ if (fromBuilder_ == null) {
+ fromBuilder_ = new akka.protobuf.SingleFieldBuilder<
+ akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder>(
+ from_,
+ getParentForChildren(),
+ isClean());
+ from_ = null;
+ }
+ return fromBuilder_;
+ }
+
+ // required uint32 version = 2;
+ private int version_ ;
+ /**
+ * required uint32 version = 2;
+ */
+ public boolean hasVersion() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * required uint32 version = 2;
+ */
+ public int getVersion() {
+ return version_;
+ }
+ /**
+ * required uint32 version = 2;
+ */
+ public Builder setVersion(int value) {
+ bitField0_ |= 0x00000002;
+ version_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * required uint32 version = 2;
+ */
+ public Builder clearVersion() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ version_ = 0;
+ onChanged();
+ return this;
+ }
+
+ // @@protoc_insertion_point(builder_scope:CompressionTableAdvertisementAck)
+ }
+
+ static {
+ defaultInstance = new CompressionTableAdvertisementAck(true);
+ defaultInstance.initFields();
+ }
+
+ // @@protoc_insertion_point(class_scope:CompressionTableAdvertisementAck)
+ }
+
+ public interface SystemMessageEnvelopeOrBuilder
+ extends akka.protobuf.MessageOrBuilder {
+
+ // required bytes message = 1;
+ /**
+ * required bytes message = 1;
+ */
+ boolean hasMessage();
+ /**
+ * required bytes message = 1;
+ */
+ akka.protobuf.ByteString getMessage();
+
+ // required int32 serializerId = 2;
+ /**
+ * required int32 serializerId = 2;
+ */
+ boolean hasSerializerId();
+ /**
+ * required int32 serializerId = 2;
+ */
+ int getSerializerId();
+
+ // optional bytes messageManifest = 3;
+ /**
+ * optional bytes messageManifest = 3;
+ */
+ boolean hasMessageManifest();
+ /**
+ * optional bytes messageManifest = 3;
+ */
+ akka.protobuf.ByteString getMessageManifest();
+
+ // required uint64 seqNo = 4;
+ /**
+ * required uint64 seqNo = 4;
+ */
+ boolean hasSeqNo();
+ /**
+ * required uint64 seqNo = 4;
+ */
+ long getSeqNo();
+
+ // required .UniqueAddress ackReplyTo = 5;
+ /**
+ * required .UniqueAddress ackReplyTo = 5;
+ */
+ boolean hasAckReplyTo();
+ /**
+ * required .UniqueAddress ackReplyTo = 5;
+ */
+ akka.remote.ArteryControlFormats.UniqueAddress getAckReplyTo();
+ /**
+ * required .UniqueAddress ackReplyTo = 5;
+ */
+ akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getAckReplyToOrBuilder();
+ }
+ /**
+ * Protobuf type {@code SystemMessageEnvelope}
+ *
+ *
+ * SystemMessageDelivery.SystemMessageEnvelope
+ *
+ */
+ public static final class SystemMessageEnvelope extends
+ akka.protobuf.GeneratedMessage
+ implements SystemMessageEnvelopeOrBuilder {
+ // Use SystemMessageEnvelope.newBuilder() to construct.
+ private SystemMessageEnvelope(akka.protobuf.GeneratedMessage.Builder> builder) {
+ super(builder);
+ this.unknownFields = builder.getUnknownFields();
+ }
+ private SystemMessageEnvelope(boolean noInit) { this.unknownFields = akka.protobuf.UnknownFieldSet.getDefaultInstance(); }
+
+ private static final SystemMessageEnvelope defaultInstance;
+ public static SystemMessageEnvelope getDefaultInstance() {
+ return defaultInstance;
+ }
+
+ public SystemMessageEnvelope getDefaultInstanceForType() {
+ return defaultInstance;
+ }
+
+ private final akka.protobuf.UnknownFieldSet unknownFields;
+ @java.lang.Override
+ public final akka.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private SystemMessageEnvelope(
+ akka.protobuf.CodedInputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ initFields();
+ int mutable_bitField0_ = 0;
+ akka.protobuf.UnknownFieldSet.Builder unknownFields =
+ akka.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ bitField0_ |= 0x00000001;
+ message_ = input.readBytes();
+ break;
+ }
+ case 16: {
+ bitField0_ |= 0x00000002;
+ serializerId_ = input.readInt32();
+ break;
+ }
+ case 26: {
+ bitField0_ |= 0x00000004;
+ messageManifest_ = input.readBytes();
+ break;
+ }
+ case 32: {
+ bitField0_ |= 0x00000008;
+ seqNo_ = input.readUInt64();
+ break;
+ }
+ case 42: {
+ akka.remote.ArteryControlFormats.UniqueAddress.Builder subBuilder = null;
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ subBuilder = ackReplyTo_.toBuilder();
+ }
+ ackReplyTo_ = input.readMessage(akka.remote.ArteryControlFormats.UniqueAddress.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(ackReplyTo_);
+ ackReplyTo_ = subBuilder.buildPartial();
+ }
+ bitField0_ |= 0x00000010;
+ break;
+ }
+ }
+ }
+ } catch (akka.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new akka.protobuf.InvalidProtocolBufferException(
+ e.getMessage()).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final akka.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return akka.remote.ArteryControlFormats.internal_static_SystemMessageEnvelope_descriptor;
+ }
+
+ protected akka.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return akka.remote.ArteryControlFormats.internal_static_SystemMessageEnvelope_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ akka.remote.ArteryControlFormats.SystemMessageEnvelope.class, akka.remote.ArteryControlFormats.SystemMessageEnvelope.Builder.class);
+ }
+
+ public static akka.protobuf.Parser PARSER =
+ new akka.protobuf.AbstractParser() {
+ public SystemMessageEnvelope parsePartialFrom(
+ akka.protobuf.CodedInputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return new SystemMessageEnvelope(input, extensionRegistry);
+ }
+ };
+
+ @java.lang.Override
+ public akka.protobuf.Parser getParserForType() {
+ return PARSER;
+ }
+
+ private int bitField0_;
+ // required bytes message = 1;
+ public static final int MESSAGE_FIELD_NUMBER = 1;
+ private akka.protobuf.ByteString message_;
+ /**
+ * required bytes message = 1;
+ */
+ public boolean hasMessage() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * required bytes message = 1;
+ */
+ public akka.protobuf.ByteString getMessage() {
+ return message_;
+ }
+
+ // required int32 serializerId = 2;
+ public static final int SERIALIZERID_FIELD_NUMBER = 2;
+ private int serializerId_;
+ /**
+ * required int32 serializerId = 2;
+ */
+ public boolean hasSerializerId() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * required int32 serializerId = 2;
+ */
+ public int getSerializerId() {
+ return serializerId_;
+ }
+
+ // optional bytes messageManifest = 3;
+ public static final int MESSAGEMANIFEST_FIELD_NUMBER = 3;
+ private akka.protobuf.ByteString messageManifest_;
+ /**
+ * optional bytes messageManifest = 3;
+ */
+ public boolean hasMessageManifest() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * optional bytes messageManifest = 3;
+ */
+ public akka.protobuf.ByteString getMessageManifest() {
+ return messageManifest_;
+ }
+
+ // required uint64 seqNo = 4;
+ public static final int SEQNO_FIELD_NUMBER = 4;
+ private long seqNo_;
+ /**
+ * required uint64 seqNo = 4;
+ */
+ public boolean hasSeqNo() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * required uint64 seqNo = 4;
+ */
+ public long getSeqNo() {
+ return seqNo_;
+ }
+
+ // required .UniqueAddress ackReplyTo = 5;
+ public static final int ACKREPLYTO_FIELD_NUMBER = 5;
+ private akka.remote.ArteryControlFormats.UniqueAddress ackReplyTo_;
+ /**
+ * required .UniqueAddress ackReplyTo = 5;
+ */
+ public boolean hasAckReplyTo() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * required .UniqueAddress ackReplyTo = 5;
+ */
+ public akka.remote.ArteryControlFormats.UniqueAddress getAckReplyTo() {
+ return ackReplyTo_;
+ }
+ /**
+ * required .UniqueAddress ackReplyTo = 5;
+ */
+ public akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getAckReplyToOrBuilder() {
+ return ackReplyTo_;
+ }
+
+ private void initFields() {
+ message_ = akka.protobuf.ByteString.EMPTY;
+ serializerId_ = 0;
+ messageManifest_ = akka.protobuf.ByteString.EMPTY;
+ seqNo_ = 0L;
+ ackReplyTo_ = akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance();
+ }
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized != -1) return isInitialized == 1;
+
+ if (!hasMessage()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ if (!hasSerializerId()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ if (!hasSeqNo()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ if (!hasAckReplyTo()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ if (!getAckReplyTo().isInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(akka.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ getSerializedSize();
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ output.writeBytes(1, message_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ output.writeInt32(2, serializerId_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ output.writeBytes(3, messageManifest_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ output.writeUInt64(4, seqNo_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ output.writeMessage(5, ackReplyTo_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public int getSerializedSize() {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ size += akka.protobuf.CodedOutputStream
+ .computeBytesSize(1, message_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ size += akka.protobuf.CodedOutputStream
+ .computeInt32Size(2, serializerId_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ size += akka.protobuf.CodedOutputStream
+ .computeBytesSize(3, messageManifest_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ size += akka.protobuf.CodedOutputStream
+ .computeUInt64Size(4, seqNo_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ size += akka.protobuf.CodedOutputStream
+ .computeMessageSize(5, ackReplyTo_);
+ }
+ 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.remote.ArteryControlFormats.SystemMessageEnvelope parseFrom(
+ akka.protobuf.ByteString data)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static akka.remote.ArteryControlFormats.SystemMessageEnvelope parseFrom(
+ akka.protobuf.ByteString data,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static akka.remote.ArteryControlFormats.SystemMessageEnvelope parseFrom(byte[] data)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static akka.remote.ArteryControlFormats.SystemMessageEnvelope parseFrom(
+ byte[] data,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static akka.remote.ArteryControlFormats.SystemMessageEnvelope parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return PARSER.parseFrom(input);
+ }
+ public static akka.remote.ArteryControlFormats.SystemMessageEnvelope parseFrom(
+ java.io.InputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return PARSER.parseFrom(input, extensionRegistry);
+ }
+ public static akka.remote.ArteryControlFormats.SystemMessageEnvelope parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return PARSER.parseDelimitedFrom(input);
+ }
+ public static akka.remote.ArteryControlFormats.SystemMessageEnvelope parseDelimitedFrom(
+ java.io.InputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return PARSER.parseDelimitedFrom(input, extensionRegistry);
+ }
+ public static akka.remote.ArteryControlFormats.SystemMessageEnvelope parseFrom(
+ akka.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return PARSER.parseFrom(input);
+ }
+ public static akka.remote.ArteryControlFormats.SystemMessageEnvelope parseFrom(
+ akka.protobuf.CodedInputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return PARSER.parseFrom(input, extensionRegistry);
+ }
+
+ public static Builder newBuilder() { return Builder.create(); }
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder(akka.remote.ArteryControlFormats.SystemMessageEnvelope prototype) {
+ return newBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ akka.protobuf.GeneratedMessage.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code SystemMessageEnvelope}
+ *
+ *
+ * SystemMessageDelivery.SystemMessageEnvelope
+ *
+ */
+ public static final class Builder extends
+ akka.protobuf.GeneratedMessage.Builder
+ implements akka.remote.ArteryControlFormats.SystemMessageEnvelopeOrBuilder {
+ public static final akka.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return akka.remote.ArteryControlFormats.internal_static_SystemMessageEnvelope_descriptor;
+ }
+
+ protected akka.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return akka.remote.ArteryControlFormats.internal_static_SystemMessageEnvelope_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ akka.remote.ArteryControlFormats.SystemMessageEnvelope.class, akka.remote.ArteryControlFormats.SystemMessageEnvelope.Builder.class);
+ }
+
+ // Construct using akka.remote.ArteryControlFormats.SystemMessageEnvelope.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ akka.protobuf.GeneratedMessage.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (akka.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+ getAckReplyToFieldBuilder();
+ }
+ }
+ private static Builder create() {
+ return new Builder();
+ }
+
+ public Builder clear() {
+ super.clear();
+ message_ = akka.protobuf.ByteString.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ serializerId_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ messageManifest_ = akka.protobuf.ByteString.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ seqNo_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ if (ackReplyToBuilder_ == null) {
+ ackReplyTo_ = akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance();
+ } else {
+ ackReplyToBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000010);
+ return this;
+ }
+
+ public Builder clone() {
+ return create().mergeFrom(buildPartial());
+ }
+
+ public akka.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return akka.remote.ArteryControlFormats.internal_static_SystemMessageEnvelope_descriptor;
+ }
+
+ public akka.remote.ArteryControlFormats.SystemMessageEnvelope getDefaultInstanceForType() {
+ return akka.remote.ArteryControlFormats.SystemMessageEnvelope.getDefaultInstance();
+ }
+
+ public akka.remote.ArteryControlFormats.SystemMessageEnvelope build() {
+ akka.remote.ArteryControlFormats.SystemMessageEnvelope result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public akka.remote.ArteryControlFormats.SystemMessageEnvelope buildPartial() {
+ akka.remote.ArteryControlFormats.SystemMessageEnvelope result = new akka.remote.ArteryControlFormats.SystemMessageEnvelope(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ result.message_ = message_;
+ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+ to_bitField0_ |= 0x00000002;
+ }
+ result.serializerId_ = serializerId_;
+ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
+ to_bitField0_ |= 0x00000004;
+ }
+ result.messageManifest_ = messageManifest_;
+ if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
+ to_bitField0_ |= 0x00000008;
+ }
+ result.seqNo_ = seqNo_;
+ if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
+ to_bitField0_ |= 0x00000010;
+ }
+ if (ackReplyToBuilder_ == null) {
+ result.ackReplyTo_ = ackReplyTo_;
+ } else {
+ result.ackReplyTo_ = ackReplyToBuilder_.build();
+ }
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder mergeFrom(akka.protobuf.Message other) {
+ if (other instanceof akka.remote.ArteryControlFormats.SystemMessageEnvelope) {
+ return mergeFrom((akka.remote.ArteryControlFormats.SystemMessageEnvelope)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(akka.remote.ArteryControlFormats.SystemMessageEnvelope other) {
+ if (other == akka.remote.ArteryControlFormats.SystemMessageEnvelope.getDefaultInstance()) return this;
+ if (other.hasMessage()) {
+ setMessage(other.getMessage());
+ }
+ if (other.hasSerializerId()) {
+ setSerializerId(other.getSerializerId());
+ }
+ if (other.hasMessageManifest()) {
+ setMessageManifest(other.getMessageManifest());
+ }
+ if (other.hasSeqNo()) {
+ setSeqNo(other.getSeqNo());
+ }
+ if (other.hasAckReplyTo()) {
+ mergeAckReplyTo(other.getAckReplyTo());
+ }
+ this.mergeUnknownFields(other.getUnknownFields());
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ if (!hasMessage()) {
+
+ return false;
+ }
+ if (!hasSerializerId()) {
+
+ return false;
+ }
+ if (!hasSeqNo()) {
+
+ return false;
+ }
+ if (!hasAckReplyTo()) {
+
+ return false;
+ }
+ if (!getAckReplyTo().isInitialized()) {
+
+ return false;
+ }
+ return true;
+ }
+
+ public Builder mergeFrom(
+ akka.protobuf.CodedInputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ akka.remote.ArteryControlFormats.SystemMessageEnvelope parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (akka.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (akka.remote.ArteryControlFormats.SystemMessageEnvelope) e.getUnfinishedMessage();
+ throw e;
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ // required bytes message = 1;
+ private akka.protobuf.ByteString message_ = akka.protobuf.ByteString.EMPTY;
+ /**
+ * required bytes message = 1;
+ */
+ public boolean hasMessage() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * required bytes message = 1;
+ */
+ public akka.protobuf.ByteString getMessage() {
+ return message_;
+ }
+ /**
+ * required bytes message = 1;
+ */
+ public Builder setMessage(akka.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000001;
+ message_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * required bytes message = 1;
+ */
+ public Builder clearMessage() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ message_ = getDefaultInstance().getMessage();
+ onChanged();
+ return this;
+ }
+
+ // required int32 serializerId = 2;
+ private int serializerId_ ;
+ /**
+ * required int32 serializerId = 2;
+ */
+ public boolean hasSerializerId() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * required int32 serializerId = 2;
+ */
+ public int getSerializerId() {
+ return serializerId_;
+ }
+ /**
+ * required int32 serializerId = 2;
+ */
+ public Builder setSerializerId(int value) {
+ bitField0_ |= 0x00000002;
+ serializerId_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * required int32 serializerId = 2;
+ */
+ public Builder clearSerializerId() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ serializerId_ = 0;
+ onChanged();
+ return this;
+ }
+
+ // optional bytes messageManifest = 3;
+ private akka.protobuf.ByteString messageManifest_ = akka.protobuf.ByteString.EMPTY;
+ /**
+ * optional bytes messageManifest = 3;
+ */
+ public boolean hasMessageManifest() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * optional bytes messageManifest = 3;
+ */
+ public akka.protobuf.ByteString getMessageManifest() {
+ return messageManifest_;
+ }
+ /**
+ * optional bytes messageManifest = 3;
+ */
+ public Builder setMessageManifest(akka.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000004;
+ messageManifest_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * optional bytes messageManifest = 3;
+ */
+ public Builder clearMessageManifest() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ messageManifest_ = getDefaultInstance().getMessageManifest();
+ onChanged();
+ return this;
+ }
+
+ // required uint64 seqNo = 4;
+ private long seqNo_ ;
+ /**
+ * required uint64 seqNo = 4;
+ */
+ public boolean hasSeqNo() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * required uint64 seqNo = 4;
+ */
+ public long getSeqNo() {
+ return seqNo_;
+ }
+ /**
+ * required uint64 seqNo = 4;
+ */
+ public Builder setSeqNo(long value) {
+ bitField0_ |= 0x00000008;
+ seqNo_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * required uint64 seqNo = 4;
+ */
+ public Builder clearSeqNo() {
+ bitField0_ = (bitField0_ & ~0x00000008);
+ seqNo_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ // required .UniqueAddress ackReplyTo = 5;
+ private akka.remote.ArteryControlFormats.UniqueAddress ackReplyTo_ = akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance();
+ private akka.protobuf.SingleFieldBuilder<
+ akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder> ackReplyToBuilder_;
+ /**
+ * required .UniqueAddress ackReplyTo = 5;
+ */
+ public boolean hasAckReplyTo() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * required .UniqueAddress ackReplyTo = 5;
+ */
+ public akka.remote.ArteryControlFormats.UniqueAddress getAckReplyTo() {
+ if (ackReplyToBuilder_ == null) {
+ return ackReplyTo_;
+ } else {
+ return ackReplyToBuilder_.getMessage();
+ }
+ }
+ /**
+ * required .UniqueAddress ackReplyTo = 5;
+ */
+ public Builder setAckReplyTo(akka.remote.ArteryControlFormats.UniqueAddress value) {
+ if (ackReplyToBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ackReplyTo_ = value;
+ onChanged();
+ } else {
+ ackReplyToBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000010;
+ return this;
+ }
+ /**
+ * required .UniqueAddress ackReplyTo = 5;
+ */
+ public Builder setAckReplyTo(
+ akka.remote.ArteryControlFormats.UniqueAddress.Builder builderForValue) {
+ if (ackReplyToBuilder_ == null) {
+ ackReplyTo_ = builderForValue.build();
+ onChanged();
+ } else {
+ ackReplyToBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000010;
+ return this;
+ }
+ /**
+ * required .UniqueAddress ackReplyTo = 5;
+ */
+ public Builder mergeAckReplyTo(akka.remote.ArteryControlFormats.UniqueAddress value) {
+ if (ackReplyToBuilder_ == null) {
+ if (((bitField0_ & 0x00000010) == 0x00000010) &&
+ ackReplyTo_ != akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance()) {
+ ackReplyTo_ =
+ akka.remote.ArteryControlFormats.UniqueAddress.newBuilder(ackReplyTo_).mergeFrom(value).buildPartial();
+ } else {
+ ackReplyTo_ = value;
+ }
+ onChanged();
+ } else {
+ ackReplyToBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000010;
+ return this;
+ }
+ /**
+ * required .UniqueAddress ackReplyTo = 5;
+ */
+ public Builder clearAckReplyTo() {
+ if (ackReplyToBuilder_ == null) {
+ ackReplyTo_ = akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance();
+ onChanged();
+ } else {
+ ackReplyToBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000010);
+ return this;
+ }
+ /**
+ * required .UniqueAddress ackReplyTo = 5;
+ */
+ public akka.remote.ArteryControlFormats.UniqueAddress.Builder getAckReplyToBuilder() {
+ bitField0_ |= 0x00000010;
+ onChanged();
+ return getAckReplyToFieldBuilder().getBuilder();
+ }
+ /**
+ * required .UniqueAddress ackReplyTo = 5;
+ */
+ public akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getAckReplyToOrBuilder() {
+ if (ackReplyToBuilder_ != null) {
+ return ackReplyToBuilder_.getMessageOrBuilder();
+ } else {
+ return ackReplyTo_;
+ }
+ }
+ /**
+ * required .UniqueAddress ackReplyTo = 5;
+ */
+ private akka.protobuf.SingleFieldBuilder<
+ akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder>
+ getAckReplyToFieldBuilder() {
+ if (ackReplyToBuilder_ == null) {
+ ackReplyToBuilder_ = new akka.protobuf.SingleFieldBuilder<
+ akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder>(
+ ackReplyTo_,
+ getParentForChildren(),
+ isClean());
+ ackReplyTo_ = null;
+ }
+ return ackReplyToBuilder_;
+ }
+
+ // @@protoc_insertion_point(builder_scope:SystemMessageEnvelope)
+ }
+
+ static {
+ defaultInstance = new SystemMessageEnvelope(true);
+ defaultInstance.initFields();
+ }
+
+ // @@protoc_insertion_point(class_scope:SystemMessageEnvelope)
+ }
+
+ public interface SystemMessageDeliveryAckOrBuilder
+ extends akka.protobuf.MessageOrBuilder {
+
+ // required uint64 seqNo = 1;
+ /**
+ * required uint64 seqNo = 1;
+ */
+ boolean hasSeqNo();
+ /**
+ * required uint64 seqNo = 1;
+ */
+ long getSeqNo();
+
+ // required .UniqueAddress from = 2;
+ /**
+ * required .UniqueAddress from = 2;
+ */
+ boolean hasFrom();
+ /**
+ * required .UniqueAddress from = 2;
+ */
+ akka.remote.ArteryControlFormats.UniqueAddress getFrom();
+ /**
+ * required .UniqueAddress from = 2;
+ */
+ akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getFromOrBuilder();
+ }
+ /**
+ * Protobuf type {@code SystemMessageDeliveryAck}
+ *
+ *
+ * SystemMessageDelivery.Ack
+ * SystemMessageDelivery.Nack
+ *
+ */
+ public static final class SystemMessageDeliveryAck extends
+ akka.protobuf.GeneratedMessage
+ implements SystemMessageDeliveryAckOrBuilder {
+ // Use SystemMessageDeliveryAck.newBuilder() to construct.
+ private SystemMessageDeliveryAck(akka.protobuf.GeneratedMessage.Builder> builder) {
+ super(builder);
+ this.unknownFields = builder.getUnknownFields();
+ }
+ private SystemMessageDeliveryAck(boolean noInit) { this.unknownFields = akka.protobuf.UnknownFieldSet.getDefaultInstance(); }
+
+ private static final SystemMessageDeliveryAck defaultInstance;
+ public static SystemMessageDeliveryAck getDefaultInstance() {
+ return defaultInstance;
+ }
+
+ public SystemMessageDeliveryAck getDefaultInstanceForType() {
+ return defaultInstance;
+ }
+
+ private final akka.protobuf.UnknownFieldSet unknownFields;
+ @java.lang.Override
+ public final akka.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private SystemMessageDeliveryAck(
+ akka.protobuf.CodedInputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ initFields();
+ int mutable_bitField0_ = 0;
+ akka.protobuf.UnknownFieldSet.Builder unknownFields =
+ akka.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 8: {
+ bitField0_ |= 0x00000001;
+ seqNo_ = input.readUInt64();
+ break;
+ }
+ case 18: {
+ akka.remote.ArteryControlFormats.UniqueAddress.Builder subBuilder = null;
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ subBuilder = from_.toBuilder();
+ }
+ from_ = input.readMessage(akka.remote.ArteryControlFormats.UniqueAddress.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(from_);
+ from_ = subBuilder.buildPartial();
+ }
+ bitField0_ |= 0x00000002;
+ break;
+ }
+ }
+ }
+ } catch (akka.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new akka.protobuf.InvalidProtocolBufferException(
+ e.getMessage()).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final akka.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return akka.remote.ArteryControlFormats.internal_static_SystemMessageDeliveryAck_descriptor;
+ }
+
+ protected akka.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return akka.remote.ArteryControlFormats.internal_static_SystemMessageDeliveryAck_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ akka.remote.ArteryControlFormats.SystemMessageDeliveryAck.class, akka.remote.ArteryControlFormats.SystemMessageDeliveryAck.Builder.class);
+ }
+
+ public static akka.protobuf.Parser PARSER =
+ new akka.protobuf.AbstractParser() {
+ public SystemMessageDeliveryAck parsePartialFrom(
+ akka.protobuf.CodedInputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return new SystemMessageDeliveryAck(input, extensionRegistry);
+ }
+ };
+
+ @java.lang.Override
+ public akka.protobuf.Parser getParserForType() {
+ return PARSER;
+ }
+
+ private int bitField0_;
+ // required uint64 seqNo = 1;
+ public static final int SEQNO_FIELD_NUMBER = 1;
+ private long seqNo_;
+ /**
+ * required uint64 seqNo = 1;
+ */
+ public boolean hasSeqNo() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * required uint64 seqNo = 1;
+ */
+ public long getSeqNo() {
+ return seqNo_;
+ }
+
+ // required .UniqueAddress from = 2;
+ public static final int FROM_FIELD_NUMBER = 2;
+ private akka.remote.ArteryControlFormats.UniqueAddress from_;
+ /**
+ * required .UniqueAddress from = 2;
+ */
+ public boolean hasFrom() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * required .UniqueAddress from = 2;
+ */
+ public akka.remote.ArteryControlFormats.UniqueAddress getFrom() {
+ return from_;
+ }
+ /**
+ * required .UniqueAddress from = 2;
+ */
+ public akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getFromOrBuilder() {
+ return from_;
+ }
+
+ private void initFields() {
+ seqNo_ = 0L;
+ from_ = akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance();
+ }
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized != -1) return isInitialized == 1;
+
+ if (!hasSeqNo()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ if (!hasFrom()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ if (!getFrom().isInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(akka.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ getSerializedSize();
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ output.writeUInt64(1, seqNo_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ output.writeMessage(2, from_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public int getSerializedSize() {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ size += akka.protobuf.CodedOutputStream
+ .computeUInt64Size(1, seqNo_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ size += akka.protobuf.CodedOutputStream
+ .computeMessageSize(2, from_);
+ }
+ 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.remote.ArteryControlFormats.SystemMessageDeliveryAck parseFrom(
+ akka.protobuf.ByteString data)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static akka.remote.ArteryControlFormats.SystemMessageDeliveryAck parseFrom(
+ akka.protobuf.ByteString data,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static akka.remote.ArteryControlFormats.SystemMessageDeliveryAck parseFrom(byte[] data)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static akka.remote.ArteryControlFormats.SystemMessageDeliveryAck parseFrom(
+ byte[] data,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static akka.remote.ArteryControlFormats.SystemMessageDeliveryAck parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return PARSER.parseFrom(input);
+ }
+ public static akka.remote.ArteryControlFormats.SystemMessageDeliveryAck parseFrom(
+ java.io.InputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return PARSER.parseFrom(input, extensionRegistry);
+ }
+ public static akka.remote.ArteryControlFormats.SystemMessageDeliveryAck parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return PARSER.parseDelimitedFrom(input);
+ }
+ public static akka.remote.ArteryControlFormats.SystemMessageDeliveryAck parseDelimitedFrom(
+ java.io.InputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return PARSER.parseDelimitedFrom(input, extensionRegistry);
+ }
+ public static akka.remote.ArteryControlFormats.SystemMessageDeliveryAck parseFrom(
+ akka.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return PARSER.parseFrom(input);
+ }
+ public static akka.remote.ArteryControlFormats.SystemMessageDeliveryAck parseFrom(
+ akka.protobuf.CodedInputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return PARSER.parseFrom(input, extensionRegistry);
+ }
+
+ public static Builder newBuilder() { return Builder.create(); }
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder(akka.remote.ArteryControlFormats.SystemMessageDeliveryAck prototype) {
+ return newBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ akka.protobuf.GeneratedMessage.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code SystemMessageDeliveryAck}
+ *
+ *
+ * SystemMessageDelivery.Ack
+ * SystemMessageDelivery.Nack
+ *
+ */
+ public static final class Builder extends
+ akka.protobuf.GeneratedMessage.Builder
+ implements akka.remote.ArteryControlFormats.SystemMessageDeliveryAckOrBuilder {
+ public static final akka.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return akka.remote.ArteryControlFormats.internal_static_SystemMessageDeliveryAck_descriptor;
+ }
+
+ protected akka.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return akka.remote.ArteryControlFormats.internal_static_SystemMessageDeliveryAck_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ akka.remote.ArteryControlFormats.SystemMessageDeliveryAck.class, akka.remote.ArteryControlFormats.SystemMessageDeliveryAck.Builder.class);
+ }
+
+ // Construct using akka.remote.ArteryControlFormats.SystemMessageDeliveryAck.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ akka.protobuf.GeneratedMessage.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (akka.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+ getFromFieldBuilder();
+ }
+ }
+ private static Builder create() {
+ return new Builder();
+ }
+
+ public Builder clear() {
+ super.clear();
+ seqNo_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ if (fromBuilder_ == null) {
+ from_ = akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance();
+ } else {
+ fromBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000002);
+ return this;
+ }
+
+ public Builder clone() {
+ return create().mergeFrom(buildPartial());
+ }
+
+ public akka.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return akka.remote.ArteryControlFormats.internal_static_SystemMessageDeliveryAck_descriptor;
+ }
+
+ public akka.remote.ArteryControlFormats.SystemMessageDeliveryAck getDefaultInstanceForType() {
+ return akka.remote.ArteryControlFormats.SystemMessageDeliveryAck.getDefaultInstance();
+ }
+
+ public akka.remote.ArteryControlFormats.SystemMessageDeliveryAck build() {
+ akka.remote.ArteryControlFormats.SystemMessageDeliveryAck result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public akka.remote.ArteryControlFormats.SystemMessageDeliveryAck buildPartial() {
+ akka.remote.ArteryControlFormats.SystemMessageDeliveryAck result = new akka.remote.ArteryControlFormats.SystemMessageDeliveryAck(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ result.seqNo_ = seqNo_;
+ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+ to_bitField0_ |= 0x00000002;
+ }
+ if (fromBuilder_ == null) {
+ result.from_ = from_;
+ } else {
+ result.from_ = fromBuilder_.build();
+ }
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder mergeFrom(akka.protobuf.Message other) {
+ if (other instanceof akka.remote.ArteryControlFormats.SystemMessageDeliveryAck) {
+ return mergeFrom((akka.remote.ArteryControlFormats.SystemMessageDeliveryAck)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(akka.remote.ArteryControlFormats.SystemMessageDeliveryAck other) {
+ if (other == akka.remote.ArteryControlFormats.SystemMessageDeliveryAck.getDefaultInstance()) return this;
+ if (other.hasSeqNo()) {
+ setSeqNo(other.getSeqNo());
+ }
+ if (other.hasFrom()) {
+ mergeFrom(other.getFrom());
+ }
+ this.mergeUnknownFields(other.getUnknownFields());
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ if (!hasSeqNo()) {
+
+ return false;
+ }
+ if (!hasFrom()) {
+
+ return false;
+ }
+ if (!getFrom().isInitialized()) {
+
+ return false;
+ }
+ return true;
+ }
+
+ public Builder mergeFrom(
+ akka.protobuf.CodedInputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ akka.remote.ArteryControlFormats.SystemMessageDeliveryAck parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (akka.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (akka.remote.ArteryControlFormats.SystemMessageDeliveryAck) e.getUnfinishedMessage();
+ throw e;
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ // required uint64 seqNo = 1;
+ private long seqNo_ ;
+ /**
+ * required uint64 seqNo = 1;
+ */
+ public boolean hasSeqNo() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * required uint64 seqNo = 1;
+ */
+ public long getSeqNo() {
+ return seqNo_;
+ }
+ /**
+ * required uint64 seqNo = 1;
+ */
+ public Builder setSeqNo(long value) {
+ bitField0_ |= 0x00000001;
+ seqNo_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * required uint64 seqNo = 1;
+ */
+ public Builder clearSeqNo() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ seqNo_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ // required .UniqueAddress from = 2;
+ private akka.remote.ArteryControlFormats.UniqueAddress from_ = akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance();
+ private akka.protobuf.SingleFieldBuilder<
+ akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder> fromBuilder_;
+ /**
+ * required .UniqueAddress from = 2;
+ */
+ public boolean hasFrom() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * required .UniqueAddress from = 2;
+ */
+ public akka.remote.ArteryControlFormats.UniqueAddress getFrom() {
+ if (fromBuilder_ == null) {
+ return from_;
+ } else {
+ return fromBuilder_.getMessage();
+ }
+ }
+ /**
+ * required .UniqueAddress from = 2;
+ */
+ public Builder setFrom(akka.remote.ArteryControlFormats.UniqueAddress value) {
+ if (fromBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ from_ = value;
+ onChanged();
+ } else {
+ fromBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000002;
+ return this;
+ }
+ /**
+ * required .UniqueAddress from = 2;
+ */
+ public Builder setFrom(
+ akka.remote.ArteryControlFormats.UniqueAddress.Builder builderForValue) {
+ if (fromBuilder_ == null) {
+ from_ = builderForValue.build();
+ onChanged();
+ } else {
+ fromBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000002;
+ return this;
+ }
+ /**
+ * required .UniqueAddress from = 2;
+ */
+ public Builder mergeFrom(akka.remote.ArteryControlFormats.UniqueAddress value) {
+ if (fromBuilder_ == null) {
+ if (((bitField0_ & 0x00000002) == 0x00000002) &&
+ from_ != akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance()) {
+ from_ =
+ akka.remote.ArteryControlFormats.UniqueAddress.newBuilder(from_).mergeFrom(value).buildPartial();
+ } else {
+ from_ = value;
+ }
+ onChanged();
+ } else {
+ fromBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000002;
+ return this;
+ }
+ /**
+ * required .UniqueAddress from = 2;
+ */
+ public Builder clearFrom() {
+ if (fromBuilder_ == null) {
+ from_ = akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance();
+ onChanged();
+ } else {
+ fromBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000002);
+ return this;
+ }
+ /**
+ * required .UniqueAddress from = 2;
+ */
+ public akka.remote.ArteryControlFormats.UniqueAddress.Builder getFromBuilder() {
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return getFromFieldBuilder().getBuilder();
+ }
+ /**
+ * required .UniqueAddress from = 2;
+ */
+ public akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getFromOrBuilder() {
+ if (fromBuilder_ != null) {
+ return fromBuilder_.getMessageOrBuilder();
+ } else {
+ return from_;
+ }
+ }
+ /**
+ * required .UniqueAddress from = 2;
+ */
+ private akka.protobuf.SingleFieldBuilder<
+ akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder>
+ getFromFieldBuilder() {
+ if (fromBuilder_ == null) {
+ fromBuilder_ = new akka.protobuf.SingleFieldBuilder<
+ akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder>(
+ from_,
+ getParentForChildren(),
+ isClean());
+ from_ = null;
+ }
+ return fromBuilder_;
+ }
+
+ // @@protoc_insertion_point(builder_scope:SystemMessageDeliveryAck)
+ }
+
+ static {
+ defaultInstance = new SystemMessageDeliveryAck(true);
+ defaultInstance.initFields();
+ }
+
+ // @@protoc_insertion_point(class_scope:SystemMessageDeliveryAck)
+ }
+
+ public interface AddressOrBuilder
+ extends akka.protobuf.MessageOrBuilder {
+
+ // required string protocol = 1;
+ /**
+ * required string protocol = 1;
+ */
+ boolean hasProtocol();
+ /**
+ * required string protocol = 1;
+ */
+ java.lang.String getProtocol();
+ /**
+ * required string protocol = 1;
+ */
+ akka.protobuf.ByteString
+ getProtocolBytes();
+
+ // required string system = 2;
+ /**
+ * required string system = 2;
+ */
+ boolean hasSystem();
+ /**
+ * required string system = 2;
+ */
+ java.lang.String getSystem();
+ /**
+ * required string system = 2;
+ */
+ akka.protobuf.ByteString
+ getSystemBytes();
+
+ // required string hostname = 3;
+ /**
+ * required string hostname = 3;
+ */
+ boolean hasHostname();
+ /**
+ * required string hostname = 3;
+ */
+ java.lang.String getHostname();
+ /**
+ * required string hostname = 3;
+ */
+ akka.protobuf.ByteString
+ getHostnameBytes();
+
+ // required uint32 port = 4;
+ /**
+ * required uint32 port = 4;
+ */
+ boolean hasPort();
+ /**
+ * required uint32 port = 4;
+ */
+ int getPort();
+ }
+ /**
+ * Protobuf type {@code Address}
+ *
+ *
+ **
+ * Defines a remote address.
+ *
+ */
+ public static final class Address extends
+ akka.protobuf.GeneratedMessage
+ implements AddressOrBuilder {
+ // Use Address.newBuilder() to construct.
+ private Address(akka.protobuf.GeneratedMessage.Builder> builder) {
+ super(builder);
+ this.unknownFields = builder.getUnknownFields();
+ }
+ private Address(boolean noInit) { this.unknownFields = akka.protobuf.UnknownFieldSet.getDefaultInstance(); }
+
+ private static final Address defaultInstance;
+ public static Address getDefaultInstance() {
+ return defaultInstance;
+ }
+
+ public Address getDefaultInstanceForType() {
+ return defaultInstance;
+ }
+
+ private final akka.protobuf.UnknownFieldSet unknownFields;
+ @java.lang.Override
+ public final akka.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private Address(
+ akka.protobuf.CodedInputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ initFields();
+ int mutable_bitField0_ = 0;
+ akka.protobuf.UnknownFieldSet.Builder unknownFields =
+ akka.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ bitField0_ |= 0x00000001;
+ protocol_ = input.readBytes();
+ break;
+ }
+ case 18: {
+ bitField0_ |= 0x00000002;
+ system_ = input.readBytes();
+ break;
+ }
+ case 26: {
+ bitField0_ |= 0x00000004;
+ hostname_ = input.readBytes();
+ break;
+ }
+ case 32: {
+ bitField0_ |= 0x00000008;
+ port_ = input.readUInt32();
+ break;
+ }
+ }
+ }
+ } catch (akka.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new akka.protobuf.InvalidProtocolBufferException(
+ e.getMessage()).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final akka.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return akka.remote.ArteryControlFormats.internal_static_Address_descriptor;
+ }
+
+ protected akka.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return akka.remote.ArteryControlFormats.internal_static_Address_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ akka.remote.ArteryControlFormats.Address.class, akka.remote.ArteryControlFormats.Address.Builder.class);
+ }
+
+ public static akka.protobuf.Parser PARSER =
+ new akka.protobuf.AbstractParser() {
+ public Address parsePartialFrom(
+ akka.protobuf.CodedInputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return new Address(input, extensionRegistry);
+ }
+ };
+
+ @java.lang.Override
+ public akka.protobuf.Parser getParserForType() {
+ return PARSER;
+ }
+
+ private int bitField0_;
+ // required string protocol = 1;
+ public static final int PROTOCOL_FIELD_NUMBER = 1;
+ private java.lang.Object protocol_;
+ /**
+ * required string protocol = 1;
+ */
+ public boolean hasProtocol() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * required string protocol = 1;
+ */
+ public java.lang.String getProtocol() {
+ java.lang.Object ref = protocol_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ akka.protobuf.ByteString bs =
+ (akka.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ protocol_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * required string protocol = 1;
+ */
+ public akka.protobuf.ByteString
+ getProtocolBytes() {
+ java.lang.Object ref = protocol_;
+ if (ref instanceof java.lang.String) {
+ akka.protobuf.ByteString b =
+ akka.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ protocol_ = b;
+ return b;
+ } else {
+ return (akka.protobuf.ByteString) ref;
+ }
+ }
+
+ // required string system = 2;
+ public static final int SYSTEM_FIELD_NUMBER = 2;
+ private java.lang.Object system_;
+ /**
+ * required string system = 2;
+ */
+ public boolean hasSystem() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * required string system = 2;
+ */
+ public java.lang.String getSystem() {
+ java.lang.Object ref = system_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ akka.protobuf.ByteString bs =
+ (akka.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ system_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * required string system = 2;
+ */
+ public akka.protobuf.ByteString
+ getSystemBytes() {
+ java.lang.Object ref = system_;
+ if (ref instanceof java.lang.String) {
+ akka.protobuf.ByteString b =
+ akka.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ system_ = b;
+ return b;
+ } else {
+ return (akka.protobuf.ByteString) ref;
+ }
+ }
+
+ // required string hostname = 3;
+ public static final int HOSTNAME_FIELD_NUMBER = 3;
+ private java.lang.Object hostname_;
+ /**
+ * required string hostname = 3;
+ */
+ public boolean hasHostname() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * required string hostname = 3;
+ */
+ public java.lang.String getHostname() {
+ java.lang.Object ref = hostname_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ akka.protobuf.ByteString bs =
+ (akka.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ hostname_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * required string hostname = 3;
+ */
+ public akka.protobuf.ByteString
+ getHostnameBytes() {
+ java.lang.Object ref = hostname_;
+ if (ref instanceof java.lang.String) {
+ akka.protobuf.ByteString b =
+ akka.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ hostname_ = b;
+ return b;
+ } else {
+ return (akka.protobuf.ByteString) ref;
+ }
+ }
+
+ // required uint32 port = 4;
+ public static final int PORT_FIELD_NUMBER = 4;
+ private int port_;
+ /**
+ * required uint32 port = 4;
+ */
+ public boolean hasPort() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * required uint32 port = 4;
+ */
+ public int getPort() {
+ return port_;
+ }
+
+ private void initFields() {
+ protocol_ = "";
+ system_ = "";
+ hostname_ = "";
+ port_ = 0;
+ }
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized != -1) return isInitialized == 1;
+
+ if (!hasProtocol()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ if (!hasSystem()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ if (!hasHostname()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ if (!hasPort()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(akka.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ getSerializedSize();
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ output.writeBytes(1, getProtocolBytes());
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ output.writeBytes(2, getSystemBytes());
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ output.writeBytes(3, getHostnameBytes());
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ output.writeUInt32(4, port_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public int getSerializedSize() {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ size += akka.protobuf.CodedOutputStream
+ .computeBytesSize(1, getProtocolBytes());
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ size += akka.protobuf.CodedOutputStream
+ .computeBytesSize(2, getSystemBytes());
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ size += akka.protobuf.CodedOutputStream
+ .computeBytesSize(3, getHostnameBytes());
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ size += akka.protobuf.CodedOutputStream
+ .computeUInt32Size(4, port_);
+ }
+ 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.remote.ArteryControlFormats.Address parseFrom(
+ akka.protobuf.ByteString data)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static akka.remote.ArteryControlFormats.Address parseFrom(
+ akka.protobuf.ByteString data,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static akka.remote.ArteryControlFormats.Address parseFrom(byte[] data)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static akka.remote.ArteryControlFormats.Address parseFrom(
+ byte[] data,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static akka.remote.ArteryControlFormats.Address parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return PARSER.parseFrom(input);
+ }
+ public static akka.remote.ArteryControlFormats.Address parseFrom(
+ java.io.InputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return PARSER.parseFrom(input, extensionRegistry);
+ }
+ public static akka.remote.ArteryControlFormats.Address parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return PARSER.parseDelimitedFrom(input);
+ }
+ public static akka.remote.ArteryControlFormats.Address parseDelimitedFrom(
+ java.io.InputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return PARSER.parseDelimitedFrom(input, extensionRegistry);
+ }
+ public static akka.remote.ArteryControlFormats.Address parseFrom(
+ akka.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return PARSER.parseFrom(input);
+ }
+ public static akka.remote.ArteryControlFormats.Address parseFrom(
+ akka.protobuf.CodedInputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return PARSER.parseFrom(input, extensionRegistry);
+ }
+
+ public static Builder newBuilder() { return Builder.create(); }
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder(akka.remote.ArteryControlFormats.Address prototype) {
+ return newBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ akka.protobuf.GeneratedMessage.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code Address}
+ *
+ *
+ **
+ * Defines a remote address.
+ *
+ */
+ public static final class Builder extends
+ akka.protobuf.GeneratedMessage.Builder
+ implements akka.remote.ArteryControlFormats.AddressOrBuilder {
+ public static final akka.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return akka.remote.ArteryControlFormats.internal_static_Address_descriptor;
+ }
+
+ protected akka.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return akka.remote.ArteryControlFormats.internal_static_Address_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ akka.remote.ArteryControlFormats.Address.class, akka.remote.ArteryControlFormats.Address.Builder.class);
+ }
+
+ // Construct using akka.remote.ArteryControlFormats.Address.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ akka.protobuf.GeneratedMessage.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (akka.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+ }
+ }
+ private static Builder create() {
+ return new Builder();
+ }
+
+ public Builder clear() {
+ super.clear();
+ protocol_ = "";
+ bitField0_ = (bitField0_ & ~0x00000001);
+ system_ = "";
+ bitField0_ = (bitField0_ & ~0x00000002);
+ hostname_ = "";
+ bitField0_ = (bitField0_ & ~0x00000004);
+ port_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ return this;
+ }
+
+ public Builder clone() {
+ return create().mergeFrom(buildPartial());
+ }
+
+ public akka.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return akka.remote.ArteryControlFormats.internal_static_Address_descriptor;
+ }
+
+ public akka.remote.ArteryControlFormats.Address getDefaultInstanceForType() {
+ return akka.remote.ArteryControlFormats.Address.getDefaultInstance();
+ }
+
+ public akka.remote.ArteryControlFormats.Address build() {
+ akka.remote.ArteryControlFormats.Address result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public akka.remote.ArteryControlFormats.Address buildPartial() {
+ akka.remote.ArteryControlFormats.Address result = new akka.remote.ArteryControlFormats.Address(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ result.protocol_ = protocol_;
+ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+ to_bitField0_ |= 0x00000002;
+ }
+ result.system_ = system_;
+ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
+ to_bitField0_ |= 0x00000004;
+ }
+ result.hostname_ = hostname_;
+ if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
+ to_bitField0_ |= 0x00000008;
+ }
+ result.port_ = port_;
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder mergeFrom(akka.protobuf.Message other) {
+ if (other instanceof akka.remote.ArteryControlFormats.Address) {
+ return mergeFrom((akka.remote.ArteryControlFormats.Address)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(akka.remote.ArteryControlFormats.Address other) {
+ if (other == akka.remote.ArteryControlFormats.Address.getDefaultInstance()) return this;
+ if (other.hasProtocol()) {
+ bitField0_ |= 0x00000001;
+ protocol_ = other.protocol_;
+ onChanged();
+ }
+ if (other.hasSystem()) {
+ bitField0_ |= 0x00000002;
+ system_ = other.system_;
+ onChanged();
+ }
+ if (other.hasHostname()) {
+ bitField0_ |= 0x00000004;
+ hostname_ = other.hostname_;
+ onChanged();
+ }
+ if (other.hasPort()) {
+ setPort(other.getPort());
+ }
+ this.mergeUnknownFields(other.getUnknownFields());
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ if (!hasProtocol()) {
+
+ return false;
+ }
+ if (!hasSystem()) {
+
+ return false;
+ }
+ if (!hasHostname()) {
+
+ return false;
+ }
+ if (!hasPort()) {
+
+ return false;
+ }
+ return true;
+ }
+
+ public Builder mergeFrom(
+ akka.protobuf.CodedInputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ akka.remote.ArteryControlFormats.Address parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (akka.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (akka.remote.ArteryControlFormats.Address) e.getUnfinishedMessage();
+ throw e;
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ // required string protocol = 1;
+ private java.lang.Object protocol_ = "";
+ /**
+ * required string protocol = 1;
+ */
+ public boolean hasProtocol() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * required string protocol = 1;
+ */
+ public java.lang.String getProtocol() {
+ java.lang.Object ref = protocol_;
+ if (!(ref instanceof java.lang.String)) {
+ java.lang.String s = ((akka.protobuf.ByteString) ref)
+ .toStringUtf8();
+ protocol_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * required string protocol = 1;
+ */
+ public akka.protobuf.ByteString
+ getProtocolBytes() {
+ java.lang.Object ref = protocol_;
+ if (ref instanceof String) {
+ akka.protobuf.ByteString b =
+ akka.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ protocol_ = b;
+ return b;
+ } else {
+ return (akka.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * required string protocol = 1;
+ */
+ public Builder setProtocol(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000001;
+ protocol_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * required string protocol = 1;
+ */
+ public Builder clearProtocol() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ protocol_ = getDefaultInstance().getProtocol();
+ onChanged();
+ return this;
+ }
+ /**
+ * required string protocol = 1;
+ */
+ public Builder setProtocolBytes(
+ akka.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000001;
+ protocol_ = value;
+ onChanged();
+ return this;
+ }
+
+ // required string system = 2;
+ private java.lang.Object system_ = "";
+ /**
+ * required string system = 2;
+ */
+ public boolean hasSystem() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * required string system = 2;
+ */
+ public java.lang.String getSystem() {
+ java.lang.Object ref = system_;
+ if (!(ref instanceof java.lang.String)) {
+ java.lang.String s = ((akka.protobuf.ByteString) ref)
+ .toStringUtf8();
+ system_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * required string system = 2;
+ */
+ public akka.protobuf.ByteString
+ getSystemBytes() {
+ java.lang.Object ref = system_;
+ if (ref instanceof String) {
+ akka.protobuf.ByteString b =
+ akka.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ system_ = b;
+ return b;
+ } else {
+ return (akka.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * required string system = 2;
+ */
+ public Builder setSystem(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000002;
+ system_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * required string system = 2;
+ */
+ public Builder clearSystem() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ system_ = getDefaultInstance().getSystem();
+ onChanged();
+ return this;
+ }
+ /**
+ * required string system = 2;
+ */
+ public Builder setSystemBytes(
+ akka.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000002;
+ system_ = value;
+ onChanged();
+ return this;
+ }
+
+ // required string hostname = 3;
+ private java.lang.Object hostname_ = "";
+ /**
+ * required string hostname = 3;
+ */
+ public boolean hasHostname() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * required string hostname = 3;
+ */
+ public java.lang.String getHostname() {
+ java.lang.Object ref = hostname_;
+ if (!(ref instanceof java.lang.String)) {
+ java.lang.String s = ((akka.protobuf.ByteString) ref)
+ .toStringUtf8();
+ hostname_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * required string hostname = 3;
+ */
+ public akka.protobuf.ByteString
+ getHostnameBytes() {
+ java.lang.Object ref = hostname_;
+ if (ref instanceof String) {
+ akka.protobuf.ByteString b =
+ akka.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ hostname_ = b;
+ return b;
+ } else {
+ return (akka.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * required string hostname = 3;
+ */
+ public Builder setHostname(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000004;
+ hostname_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * required string hostname = 3;
+ */
+ public Builder clearHostname() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ hostname_ = getDefaultInstance().getHostname();
+ onChanged();
+ return this;
+ }
+ /**
+ * required string hostname = 3;
+ */
+ public Builder setHostnameBytes(
+ akka.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000004;
+ hostname_ = value;
+ onChanged();
+ return this;
+ }
+
+ // required uint32 port = 4;
+ private int port_ ;
+ /**
+ * required uint32 port = 4;
+ */
+ public boolean hasPort() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * required uint32 port = 4;
+ */
+ public int getPort() {
+ return port_;
+ }
+ /**
+ * required uint32 port = 4;
+ */
+ public Builder setPort(int value) {
+ bitField0_ |= 0x00000008;
+ port_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * required uint32 port = 4;
+ */
+ public Builder clearPort() {
+ bitField0_ = (bitField0_ & ~0x00000008);
+ port_ = 0;
+ onChanged();
+ return this;
+ }
+
+ // @@protoc_insertion_point(builder_scope:Address)
+ }
+
+ static {
+ defaultInstance = new Address(true);
+ defaultInstance.initFields();
+ }
+
+ // @@protoc_insertion_point(class_scope:Address)
+ }
+
+ public interface UniqueAddressOrBuilder
+ extends akka.protobuf.MessageOrBuilder {
+
+ // required .Address address = 1;
+ /**
+ * required .Address address = 1;
+ */
+ boolean hasAddress();
+ /**
+ * required .Address address = 1;
+ */
+ akka.remote.ArteryControlFormats.Address getAddress();
+ /**
+ * required .Address address = 1;
+ */
+ akka.remote.ArteryControlFormats.AddressOrBuilder getAddressOrBuilder();
+
+ // required uint64 uid = 2;
+ /**
+ * required uint64 uid = 2;
+ */
+ boolean hasUid();
+ /**
+ * required uint64 uid = 2;
+ */
+ long getUid();
+ }
+ /**
+ * Protobuf type {@code UniqueAddress}
+ *
+ *
+ **
+ * Defines a remote address with uid.
+ *
+ */
+ public static final class UniqueAddress extends
+ akka.protobuf.GeneratedMessage
+ implements UniqueAddressOrBuilder {
+ // Use UniqueAddress.newBuilder() to construct.
+ private UniqueAddress(akka.protobuf.GeneratedMessage.Builder> builder) {
+ super(builder);
+ this.unknownFields = builder.getUnknownFields();
+ }
+ private UniqueAddress(boolean noInit) { this.unknownFields = akka.protobuf.UnknownFieldSet.getDefaultInstance(); }
+
+ private static final UniqueAddress defaultInstance;
+ public static UniqueAddress getDefaultInstance() {
+ return defaultInstance;
+ }
+
+ public UniqueAddress getDefaultInstanceForType() {
+ return defaultInstance;
+ }
+
+ private final akka.protobuf.UnknownFieldSet unknownFields;
+ @java.lang.Override
+ public final akka.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private UniqueAddress(
+ akka.protobuf.CodedInputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ initFields();
+ int mutable_bitField0_ = 0;
+ akka.protobuf.UnknownFieldSet.Builder unknownFields =
+ akka.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ akka.remote.ArteryControlFormats.Address.Builder subBuilder = null;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ subBuilder = address_.toBuilder();
+ }
+ address_ = input.readMessage(akka.remote.ArteryControlFormats.Address.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(address_);
+ address_ = subBuilder.buildPartial();
+ }
+ bitField0_ |= 0x00000001;
+ break;
+ }
+ case 16: {
+ bitField0_ |= 0x00000002;
+ uid_ = input.readUInt64();
+ break;
+ }
+ }
+ }
+ } catch (akka.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new akka.protobuf.InvalidProtocolBufferException(
+ e.getMessage()).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final akka.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return akka.remote.ArteryControlFormats.internal_static_UniqueAddress_descriptor;
+ }
+
+ protected akka.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return akka.remote.ArteryControlFormats.internal_static_UniqueAddress_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ akka.remote.ArteryControlFormats.UniqueAddress.class, akka.remote.ArteryControlFormats.UniqueAddress.Builder.class);
+ }
+
+ public static akka.protobuf.Parser PARSER =
+ new akka.protobuf.AbstractParser() {
+ public UniqueAddress parsePartialFrom(
+ akka.protobuf.CodedInputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return new UniqueAddress(input, extensionRegistry);
+ }
+ };
+
+ @java.lang.Override
+ public akka.protobuf.Parser getParserForType() {
+ return PARSER;
+ }
+
+ private int bitField0_;
+ // required .Address address = 1;
+ public static final int ADDRESS_FIELD_NUMBER = 1;
+ private akka.remote.ArteryControlFormats.Address address_;
+ /**
+ * required .Address address = 1;
+ */
+ public boolean hasAddress() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * required .Address address = 1;
+ */
+ public akka.remote.ArteryControlFormats.Address getAddress() {
+ return address_;
+ }
+ /**
+ * required .Address address = 1;
+ */
+ public akka.remote.ArteryControlFormats.AddressOrBuilder getAddressOrBuilder() {
+ return address_;
+ }
+
+ // required uint64 uid = 2;
+ public static final int UID_FIELD_NUMBER = 2;
+ private long uid_;
+ /**
+ * required uint64 uid = 2;
+ */
+ public boolean hasUid() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * required uint64 uid = 2;
+ */
+ public long getUid() {
+ return uid_;
+ }
+
+ private void initFields() {
+ address_ = akka.remote.ArteryControlFormats.Address.getDefaultInstance();
+ uid_ = 0L;
+ }
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized != -1) return isInitialized == 1;
+
+ if (!hasAddress()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ if (!hasUid()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ if (!getAddress().isInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(akka.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ getSerializedSize();
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ output.writeMessage(1, address_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ output.writeUInt64(2, uid_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public int getSerializedSize() {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ size += akka.protobuf.CodedOutputStream
+ .computeMessageSize(1, address_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ size += akka.protobuf.CodedOutputStream
+ .computeUInt64Size(2, uid_);
+ }
+ 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.remote.ArteryControlFormats.UniqueAddress parseFrom(
+ akka.protobuf.ByteString data)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static akka.remote.ArteryControlFormats.UniqueAddress parseFrom(
+ akka.protobuf.ByteString data,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static akka.remote.ArteryControlFormats.UniqueAddress parseFrom(byte[] data)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static akka.remote.ArteryControlFormats.UniqueAddress parseFrom(
+ byte[] data,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws akka.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static akka.remote.ArteryControlFormats.UniqueAddress parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return PARSER.parseFrom(input);
+ }
+ public static akka.remote.ArteryControlFormats.UniqueAddress parseFrom(
+ java.io.InputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return PARSER.parseFrom(input, extensionRegistry);
+ }
+ public static akka.remote.ArteryControlFormats.UniqueAddress parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return PARSER.parseDelimitedFrom(input);
+ }
+ public static akka.remote.ArteryControlFormats.UniqueAddress parseDelimitedFrom(
+ java.io.InputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return PARSER.parseDelimitedFrom(input, extensionRegistry);
+ }
+ public static akka.remote.ArteryControlFormats.UniqueAddress parseFrom(
+ akka.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return PARSER.parseFrom(input);
+ }
+ public static akka.remote.ArteryControlFormats.UniqueAddress parseFrom(
+ akka.protobuf.CodedInputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return PARSER.parseFrom(input, extensionRegistry);
+ }
+
+ public static Builder newBuilder() { return Builder.create(); }
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder(akka.remote.ArteryControlFormats.UniqueAddress prototype) {
+ return newBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ akka.protobuf.GeneratedMessage.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code UniqueAddress}
+ *
+ *
+ **
+ * Defines a remote address with uid.
+ *
+ */
+ public static final class Builder extends
+ akka.protobuf.GeneratedMessage.Builder
+ implements akka.remote.ArteryControlFormats.UniqueAddressOrBuilder {
+ public static final akka.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return akka.remote.ArteryControlFormats.internal_static_UniqueAddress_descriptor;
+ }
+
+ protected akka.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return akka.remote.ArteryControlFormats.internal_static_UniqueAddress_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ akka.remote.ArteryControlFormats.UniqueAddress.class, akka.remote.ArteryControlFormats.UniqueAddress.Builder.class);
+ }
+
+ // Construct using akka.remote.ArteryControlFormats.UniqueAddress.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ akka.protobuf.GeneratedMessage.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (akka.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+ getAddressFieldBuilder();
+ }
+ }
+ private static Builder create() {
+ return new Builder();
+ }
+
+ public Builder clear() {
+ super.clear();
+ if (addressBuilder_ == null) {
+ address_ = akka.remote.ArteryControlFormats.Address.getDefaultInstance();
+ } else {
+ addressBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000001);
+ uid_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ return this;
+ }
+
+ public Builder clone() {
+ return create().mergeFrom(buildPartial());
+ }
+
+ public akka.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return akka.remote.ArteryControlFormats.internal_static_UniqueAddress_descriptor;
+ }
+
+ public akka.remote.ArteryControlFormats.UniqueAddress getDefaultInstanceForType() {
+ return akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance();
+ }
+
+ public akka.remote.ArteryControlFormats.UniqueAddress build() {
+ akka.remote.ArteryControlFormats.UniqueAddress result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public akka.remote.ArteryControlFormats.UniqueAddress buildPartial() {
+ akka.remote.ArteryControlFormats.UniqueAddress result = new akka.remote.ArteryControlFormats.UniqueAddress(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ if (addressBuilder_ == null) {
+ result.address_ = address_;
+ } else {
+ result.address_ = addressBuilder_.build();
+ }
+ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+ to_bitField0_ |= 0x00000002;
+ }
+ result.uid_ = uid_;
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder mergeFrom(akka.protobuf.Message other) {
+ if (other instanceof akka.remote.ArteryControlFormats.UniqueAddress) {
+ return mergeFrom((akka.remote.ArteryControlFormats.UniqueAddress)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(akka.remote.ArteryControlFormats.UniqueAddress other) {
+ if (other == akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance()) return this;
+ if (other.hasAddress()) {
+ mergeAddress(other.getAddress());
+ }
+ if (other.hasUid()) {
+ setUid(other.getUid());
+ }
+ this.mergeUnknownFields(other.getUnknownFields());
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ if (!hasAddress()) {
+
+ return false;
+ }
+ if (!hasUid()) {
+
+ return false;
+ }
+ if (!getAddress().isInitialized()) {
+
+ return false;
+ }
+ return true;
+ }
+
+ public Builder mergeFrom(
+ akka.protobuf.CodedInputStream input,
+ akka.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ akka.remote.ArteryControlFormats.UniqueAddress parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (akka.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (akka.remote.ArteryControlFormats.UniqueAddress) e.getUnfinishedMessage();
+ throw e;
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ // required .Address address = 1;
+ private akka.remote.ArteryControlFormats.Address address_ = akka.remote.ArteryControlFormats.Address.getDefaultInstance();
+ private akka.protobuf.SingleFieldBuilder<
+ akka.remote.ArteryControlFormats.Address, akka.remote.ArteryControlFormats.Address.Builder, akka.remote.ArteryControlFormats.AddressOrBuilder> addressBuilder_;
+ /**
+ * required .Address address = 1;
+ */
+ public boolean hasAddress() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * required .Address address = 1;
+ */
+ public akka.remote.ArteryControlFormats.Address getAddress() {
+ if (addressBuilder_ == null) {
+ return address_;
+ } else {
+ return addressBuilder_.getMessage();
+ }
+ }
+ /**
+ * required .Address address = 1;
+ */
+ public Builder setAddress(akka.remote.ArteryControlFormats.Address value) {
+ if (addressBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ address_ = value;
+ onChanged();
+ } else {
+ addressBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000001;
+ return this;
+ }
+ /**
+ * required .Address address = 1;
+ */
+ public Builder setAddress(
+ akka.remote.ArteryControlFormats.Address.Builder builderForValue) {
+ if (addressBuilder_ == null) {
+ address_ = builderForValue.build();
+ onChanged();
+ } else {
+ addressBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000001;
+ return this;
+ }
+ /**
+ * required .Address address = 1;
+ */
+ public Builder mergeAddress(akka.remote.ArteryControlFormats.Address value) {
+ if (addressBuilder_ == null) {
+ if (((bitField0_ & 0x00000001) == 0x00000001) &&
+ address_ != akka.remote.ArteryControlFormats.Address.getDefaultInstance()) {
+ address_ =
+ akka.remote.ArteryControlFormats.Address.newBuilder(address_).mergeFrom(value).buildPartial();
+ } else {
+ address_ = value;
+ }
+ onChanged();
+ } else {
+ addressBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000001;
+ return this;
+ }
+ /**
+ * required .Address address = 1;
+ */
+ public Builder clearAddress() {
+ if (addressBuilder_ == null) {
+ address_ = akka.remote.ArteryControlFormats.Address.getDefaultInstance();
+ onChanged();
+ } else {
+ addressBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000001);
+ return this;
+ }
+ /**
+ * required .Address address = 1;
+ */
+ public akka.remote.ArteryControlFormats.Address.Builder getAddressBuilder() {
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return getAddressFieldBuilder().getBuilder();
+ }
+ /**
+ * required .Address address = 1;
+ */
+ public akka.remote.ArteryControlFormats.AddressOrBuilder getAddressOrBuilder() {
+ if (addressBuilder_ != null) {
+ return addressBuilder_.getMessageOrBuilder();
+ } else {
+ return address_;
+ }
+ }
+ /**
+ * required .Address address = 1;
+ */
+ private akka.protobuf.SingleFieldBuilder<
+ akka.remote.ArteryControlFormats.Address, akka.remote.ArteryControlFormats.Address.Builder, akka.remote.ArteryControlFormats.AddressOrBuilder>
+ getAddressFieldBuilder() {
+ if (addressBuilder_ == null) {
+ addressBuilder_ = new akka.protobuf.SingleFieldBuilder<
+ akka.remote.ArteryControlFormats.Address, akka.remote.ArteryControlFormats.Address.Builder, akka.remote.ArteryControlFormats.AddressOrBuilder>(
+ address_,
+ getParentForChildren(),
+ isClean());
+ address_ = null;
+ }
+ return addressBuilder_;
+ }
+
+ // required uint64 uid = 2;
+ private long uid_ ;
+ /**
+ * required uint64 uid = 2;
+ */
+ public boolean hasUid() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * required uint64 uid = 2;
+ */
+ public long getUid() {
+ return uid_;
+ }
+ /**
+ * required uint64 uid = 2;
+ */
+ public Builder setUid(long value) {
+ bitField0_ |= 0x00000002;
+ uid_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * required uint64 uid = 2;
+ */
+ public Builder clearUid() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ uid_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ // @@protoc_insertion_point(builder_scope:UniqueAddress)
+ }
+
+ static {
+ defaultInstance = new UniqueAddress(true);
+ defaultInstance.initFields();
+ }
+
+ // @@protoc_insertion_point(class_scope:UniqueAddress)
+ }
+
+ private static akka.protobuf.Descriptors.Descriptor
+ internal_static_Quarantined_descriptor;
+ private static
+ akka.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_Quarantined_fieldAccessorTable;
+ private static akka.protobuf.Descriptors.Descriptor
+ internal_static_MessageWithAddress_descriptor;
+ private static
+ akka.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_MessageWithAddress_fieldAccessorTable;
+ private static akka.protobuf.Descriptors.Descriptor
+ internal_static_CompressionTableAdvertisement_descriptor;
+ private static
+ akka.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_CompressionTableAdvertisement_fieldAccessorTable;
+ private static akka.protobuf.Descriptors.Descriptor
+ internal_static_CompressionTableAdvertisementAck_descriptor;
+ private static
+ akka.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_CompressionTableAdvertisementAck_fieldAccessorTable;
+ private static akka.protobuf.Descriptors.Descriptor
+ internal_static_SystemMessageEnvelope_descriptor;
+ private static
+ akka.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_SystemMessageEnvelope_fieldAccessorTable;
+ private static akka.protobuf.Descriptors.Descriptor
+ internal_static_SystemMessageDeliveryAck_descriptor;
+ private static
+ akka.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_SystemMessageDeliveryAck_fieldAccessorTable;
+ private static akka.protobuf.Descriptors.Descriptor
+ internal_static_Address_descriptor;
+ private static
+ akka.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_Address_fieldAccessorTable;
+ private static akka.protobuf.Descriptors.Descriptor
+ internal_static_UniqueAddress_descriptor;
+ private static
+ akka.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_UniqueAddress_fieldAccessorTable;
+
+ public static akka.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+ private static akka.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+ "\n\032ArteryControlFormats.proto\"G\n\013Quaranti" +
+ "ned\022\034\n\004from\030\001 \002(\0132\016.UniqueAddress\022\032\n\002to\030" +
+ "\002 \002(\0132\016.UniqueAddress\"5\n\022MessageWithAddr" +
+ "ess\022\037\n\007address\030\001 \002(\0132\016.UniqueAddress\"q\n\035" +
+ "CompressionTableAdvertisement\022\034\n\004from\030\001 " +
+ "\002(\0132\016.UniqueAddress\022\024\n\014tableVersion\030\002 \002(" +
+ "\r\022\014\n\004keys\030\003 \003(\t\022\016\n\006values\030\004 \003(\r\"Q\n Compr" +
+ "essionTableAdvertisementAck\022\034\n\004from\030\001 \002(" +
+ "\0132\016.UniqueAddress\022\017\n\007version\030\002 \002(\r\"\212\001\n\025S" +
+ "ystemMessageEnvelope\022\017\n\007message\030\001 \002(\014\022\024\n",
+ "\014serializerId\030\002 \002(\005\022\027\n\017messageManifest\030\003" +
+ " \001(\014\022\r\n\005seqNo\030\004 \002(\004\022\"\n\nackReplyTo\030\005 \002(\0132" +
+ "\016.UniqueAddress\"G\n\030SystemMessageDelivery" +
+ "Ack\022\r\n\005seqNo\030\001 \002(\004\022\034\n\004from\030\002 \002(\0132\016.Uniqu" +
+ "eAddress\"K\n\007Address\022\020\n\010protocol\030\001 \002(\t\022\016\n" +
+ "\006system\030\002 \002(\t\022\020\n\010hostname\030\003 \002(\t\022\014\n\004port\030" +
+ "\004 \002(\r\"7\n\rUniqueAddress\022\031\n\007address\030\001 \002(\0132" +
+ "\010.Address\022\013\n\003uid\030\002 \002(\004B\017\n\013akka.remoteH\001"
+ };
+ akka.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
+ new akka.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
+ public akka.protobuf.ExtensionRegistry assignDescriptors(
+ akka.protobuf.Descriptors.FileDescriptor root) {
+ descriptor = root;
+ internal_static_Quarantined_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_Quarantined_fieldAccessorTable = new
+ akka.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_Quarantined_descriptor,
+ new java.lang.String[] { "From", "To", });
+ internal_static_MessageWithAddress_descriptor =
+ getDescriptor().getMessageTypes().get(1);
+ internal_static_MessageWithAddress_fieldAccessorTable = new
+ akka.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_MessageWithAddress_descriptor,
+ new java.lang.String[] { "Address", });
+ internal_static_CompressionTableAdvertisement_descriptor =
+ getDescriptor().getMessageTypes().get(2);
+ internal_static_CompressionTableAdvertisement_fieldAccessorTable = new
+ akka.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_CompressionTableAdvertisement_descriptor,
+ new java.lang.String[] { "From", "TableVersion", "Keys", "Values", });
+ internal_static_CompressionTableAdvertisementAck_descriptor =
+ getDescriptor().getMessageTypes().get(3);
+ internal_static_CompressionTableAdvertisementAck_fieldAccessorTable = new
+ akka.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_CompressionTableAdvertisementAck_descriptor,
+ new java.lang.String[] { "From", "Version", });
+ internal_static_SystemMessageEnvelope_descriptor =
+ getDescriptor().getMessageTypes().get(4);
+ internal_static_SystemMessageEnvelope_fieldAccessorTable = new
+ akka.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_SystemMessageEnvelope_descriptor,
+ new java.lang.String[] { "Message", "SerializerId", "MessageManifest", "SeqNo", "AckReplyTo", });
+ internal_static_SystemMessageDeliveryAck_descriptor =
+ getDescriptor().getMessageTypes().get(5);
+ internal_static_SystemMessageDeliveryAck_fieldAccessorTable = new
+ akka.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_SystemMessageDeliveryAck_descriptor,
+ new java.lang.String[] { "SeqNo", "From", });
+ internal_static_Address_descriptor =
+ getDescriptor().getMessageTypes().get(6);
+ internal_static_Address_fieldAccessorTable = new
+ akka.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_Address_descriptor,
+ new java.lang.String[] { "Protocol", "System", "Hostname", "Port", });
+ internal_static_UniqueAddress_descriptor =
+ getDescriptor().getMessageTypes().get(7);
+ internal_static_UniqueAddress_fieldAccessorTable = new
+ akka.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_UniqueAddress_descriptor,
+ new java.lang.String[] { "Address", "Uid", });
+ return null;
+ }
+ };
+ akka.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new akka.protobuf.Descriptors.FileDescriptor[] {
+ }, assigner);
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/akka-remote/src/main/protobuf/ArteryControlFormats.proto b/akka-remote/src/main/protobuf/ArteryControlFormats.proto
new file mode 100644
index 0000000000..5f47710670
--- /dev/null
+++ b/akka-remote/src/main/protobuf/ArteryControlFormats.proto
@@ -0,0 +1,75 @@
+/**
+ * Copyright (C) 2016 Lightbend Inc.
+ */
+
+option java_package = "akka.remote";
+option optimize_for = SPEED;
+
+message Quarantined {
+ required UniqueAddress from = 1;
+ required UniqueAddress to = 2;
+}
+
+// Generic message declaration that is used for all types of message that (currently) have a single
+// address field. A message that needs to changed later can be cloned from this one and then adapted.
+// ActorSystemTerminating
+// ActorSystemTerminating.Ack
+// OutboundHandshake.HandshakeReq
+// OutboundHandshake.HandshakeRsp
+message MessageWithAddress {
+ required UniqueAddress address = 1;
+}
+
+// CompressionProtocol.ActorRefCompressionAdvertisement
+// CompressionProtocol.ClassManifestCompressionAdvertisement
+message CompressionTableAdvertisement {
+ required UniqueAddress from = 1;
+ required uint32 tableVersion = 2;
+
+ // actual Map is represented by separate sequences of keys and values,
+ // relies on both sequences using the same order so that corresponding entries can be
+ // associated again when deserializing
+ repeated string keys = 3;
+ repeated uint32 values = 4;
+}
+
+// CompressionProtocol.ActorRefCompressionAdvertisementAck
+// CompressionProtocol.ClassManifestCompressionAdvertisementAck
+message CompressionTableAdvertisementAck {
+ required UniqueAddress from = 1;
+ required uint32 version = 2;
+}
+
+// SystemMessageDelivery.SystemMessageEnvelope
+message SystemMessageEnvelope {
+ required bytes message = 1;
+ required int32 serializerId = 2;
+ optional bytes messageManifest = 3;
+ required uint64 seqNo = 4;
+ required UniqueAddress ackReplyTo = 5;
+}
+
+// SystemMessageDelivery.Ack
+// SystemMessageDelivery.Nack
+message SystemMessageDeliveryAck {
+ required uint64 seqNo = 1;
+ required UniqueAddress from = 2;
+}
+
+/**
+ * Defines a remote address.
+ */
+message Address {
+ required string protocol = 1;
+ required string system = 2;
+ required string hostname = 3;
+ required uint32 port = 4;
+}
+
+/**
+ * Defines a remote address with uid.
+ */
+message UniqueAddress {
+ required Address address = 1;
+ required uint64 uid = 2;
+}
diff --git a/akka-remote/src/main/resources/reference.conf b/akka-remote/src/main/resources/reference.conf
index 99a1116e6a..2fd385e08c 100644
--- a/akka-remote/src/main/resources/reference.conf
+++ b/akka-remote/src/main/resources/reference.conf
@@ -15,6 +15,7 @@ akka {
serializers {
akka-containers = "akka.remote.serialization.MessageContainerSerializer"
akka-misc = "akka.remote.serialization.MiscMessageSerializer"
+ artery = "akka.remote.serialization.ArteryMessageSerializer"
proto = "akka.remote.serialization.ProtobufSerializer"
daemon-create = "akka.remote.serialization.DaemonMsgCreateSerializer"
}
@@ -28,11 +29,12 @@ akka {
# Should java serialization be disabled, uncomment the following lines
# "akka.actor.Identify" = akka-misc
# "akka.actor.ActorIdentity" = akka-misc
- # Should java serialization be disabled, uncomment the following lines
# "scala.Some" = akka-misc
# "scala.None$" = akka-misc
"akka.remote.DaemonMsgCreate" = daemon-create
+ "akka.remote.artery.ArteryMessage" = artery
+
# Since akka.protobuf.Message does not extend Serializable but
# GeneratedMessage does, need to use the more specific one here in order
# to avoid ambiguity.
@@ -44,7 +46,6 @@ akka {
# This com.google.protobuf serialization binding is only used if the class can be loaded,
# i.e. com.google.protobuf dependency has been added in the application project.
"com.google.protobuf.GeneratedMessage" = proto
-
}
serialization-identifiers {
@@ -52,6 +53,7 @@ akka {
"akka.remote.serialization.DaemonMsgCreateSerializer" = 3
"akka.remote.serialization.MessageContainerSerializer" = 6
"akka.remote.serialization.MiscMessageSerializer" = 16
+ "akka.remote.serialization.ArteryMessageSerializer" = 17
}
deployment {
diff --git a/akka-remote/src/main/scala/akka/remote/artery/Control.scala b/akka-remote/src/main/scala/akka/remote/artery/Control.scala
index ceac57e668..76aad28dc5 100644
--- a/akka-remote/src/main/scala/akka/remote/artery/Control.scala
+++ b/akka-remote/src/main/scala/akka/remote/artery/Control.scala
@@ -19,6 +19,9 @@ import akka.stream.stage.OutHandler
import akka.remote.UniqueAddress
import akka.util.OptionVal
+/** INTERNAL API: marker trait for protobuf-serializable artery messages */
+private[akka] trait ArteryMessage extends Serializable
+
/**
* INTERNAL API: Marker trait for reply messages
*/
@@ -29,22 +32,22 @@ private[akka] trait Reply extends ControlMessage
* Marker trait for control messages that can be sent via the system message sub-channel
* but don't need full reliable delivery. E.g. `HandshakeReq` and `Reply`.
*/
-private[akka] trait ControlMessage
+private[akka] trait ControlMessage extends ArteryMessage
/**
* INTERNAL API
*/
-private[akka] final case class Quarantined(from: UniqueAddress, to: UniqueAddress) extends ControlMessage // FIXME serialization
+private[akka] final case class Quarantined(from: UniqueAddress, to: UniqueAddress) extends ControlMessage
/**
* INTERNAL API
*/
-private[akka] case class ActorSystemTerminating(from: UniqueAddress) extends ControlMessage // FIXME serialization
+private[akka] case class ActorSystemTerminating(from: UniqueAddress) extends ControlMessage
/**
* INTERNAL API
*/
-private[akka] case class ActorSystemTerminatingAck(from: UniqueAddress) // FIXME serialization
+private[akka] case class ActorSystemTerminatingAck(from: UniqueAddress) extends ArteryMessage
/**
* INTERNAL API
diff --git a/akka-remote/src/main/scala/akka/remote/artery/Handshake.scala b/akka-remote/src/main/scala/akka/remote/artery/Handshake.scala
index 5f4a50a3b4..63d8c05693 100644
--- a/akka-remote/src/main/scala/akka/remote/artery/Handshake.scala
+++ b/akka-remote/src/main/scala/akka/remote/artery/Handshake.scala
@@ -32,7 +32,6 @@ private[akka] object OutboundHandshake {
*/
class HandshakeTimeoutException(msg: String) extends RuntimeException(msg) with NoStackTrace
- // FIXME serialization for these messages
final case class HandshakeReq(from: UniqueAddress) extends ControlMessage
final case class HandshakeRsp(from: UniqueAddress) extends Reply
diff --git a/akka-remote/src/main/scala/akka/remote/artery/SystemMessageDelivery.scala b/akka-remote/src/main/scala/akka/remote/artery/SystemMessageDelivery.scala
index a78dc3d18b..c21f3bb2d9 100644
--- a/akka-remote/src/main/scala/akka/remote/artery/SystemMessageDelivery.scala
+++ b/akka-remote/src/main/scala/akka/remote/artery/SystemMessageDelivery.scala
@@ -30,7 +30,7 @@ import akka.actor.ActorRef
private[akka] object SystemMessageDelivery {
// FIXME serialization of these messages
// FIXME ackReplyTo should not be needed
- final case class SystemMessageEnvelope(message: AnyRef, seqNo: Long, ackReplyTo: UniqueAddress)
+ final case class SystemMessageEnvelope(message: AnyRef, seqNo: Long, ackReplyTo: UniqueAddress) extends ArteryMessage
final case class Ack(seqNo: Long, from: UniqueAddress) extends Reply
final case class Nack(seqNo: Long, from: UniqueAddress) extends Reply
diff --git a/akka-remote/src/main/scala/akka/remote/artery/compress/CompressionProtocol.scala b/akka-remote/src/main/scala/akka/remote/artery/compress/CompressionProtocol.scala
index 6aeada84d5..21e928b8f8 100644
--- a/akka-remote/src/main/scala/akka/remote/artery/compress/CompressionProtocol.scala
+++ b/akka-remote/src/main/scala/akka/remote/artery/compress/CompressionProtocol.scala
@@ -5,7 +5,7 @@
package akka.remote.artery.compress
import scala.language.existentials
-import akka.actor.{ ActorRef, Address }
+import akka.actor.ActorRef
import akka.remote.UniqueAddress
import akka.remote.artery.ControlMessage
@@ -16,12 +16,18 @@ object CompressionProtocol {
/** INTERNAL API */
sealed trait CompressionMessage
+ /** INTERNAL API */
+ sealed trait CompressionAdvertisement[T] extends ControlMessage with CompressionMessage {
+ def from: UniqueAddress
+ def table: CompressionTable[T]
+ }
+
/**
* INTERNAL API
* Sent by the "receiving" node after allocating a compression id to a given [[akka.actor.ActorRef]]
*/
private[remote] final case class ActorRefCompressionAdvertisement(from: UniqueAddress, table: CompressionTable[ActorRef])
- extends ControlMessage with CompressionMessage
+ extends CompressionAdvertisement[ActorRef]
/**
* INTERNAL API
@@ -38,7 +44,7 @@ object CompressionProtocol {
* Sent by the "receiving" node after allocating a compression id to a given class manifest
*/
private[remote] final case class ClassManifestCompressionAdvertisement(from: UniqueAddress, table: CompressionTable[String])
- extends ControlMessage with CompressionMessage
+ extends CompressionAdvertisement[String]
/**
* INTERNAL API
diff --git a/akka-remote/src/main/scala/akka/remote/artery/compress/CompressionTable.scala b/akka-remote/src/main/scala/akka/remote/artery/compress/CompressionTable.scala
index 244d025c96..70bbdff2b3 100644
--- a/akka-remote/src/main/scala/akka/remote/artery/compress/CompressionTable.scala
+++ b/akka-remote/src/main/scala/akka/remote/artery/compress/CompressionTable.scala
@@ -8,7 +8,7 @@ import java.util
import java.util.Comparator
/** INTERNAL API: Versioned compression table to be advertised between systems */
-private[artery] final case class CompressionTable[T](version: Int, map: Map[T, Int]) {
+private[remote] final case class CompressionTable[T](version: Int, map: Map[T, Int]) {
import CompressionTable.NotCompressedId
def compress(value: T): Int =
@@ -20,7 +20,7 @@ private[artery] final case class CompressionTable[T](version: Int, map: Map[T, I
def invert: DecompressionTable[T] =
if (map.isEmpty) DecompressionTable.empty[T].copy(version = version)
else {
- // TODO: these are some expensive sanity checks, about the numbers being consequitive, without gaps
+ // TODO: these are some expensive sanity checks, about the numbers being consecutive, without gaps
// TODO: we can remove them, make them re-map (not needed I believe though)
val expectedGaplessSum = Integer.valueOf((map.size * (map.size + 1)) / 2) /* Dirichlet */
require(map.values.min == 0, "Compression table should start allocating from 0, yet lowest allocated id was " + map.values.min)
@@ -48,7 +48,7 @@ private[artery] final case class CompressionTable[T](version: Int, map: Map[T, I
}
}
/** INTERNAL API */
-private[artery] object CompressionTable {
+private[remote] object CompressionTable {
final val NotCompressedId = -1
final val CompareBy2ndValue: Comparator[(Object, Int)] = new Comparator[(Object, Int)] {
diff --git a/akka-remote/src/main/scala/akka/remote/serialization/ArteryMessageSerializer.scala b/akka-remote/src/main/scala/akka/remote/serialization/ArteryMessageSerializer.scala
new file mode 100644
index 0000000000..98fe74a0ad
--- /dev/null
+++ b/akka-remote/src/main/scala/akka/remote/serialization/ArteryMessageSerializer.scala
@@ -0,0 +1,213 @@
+/**
+ * Copyright (C) 2009-2016 Lightbend Inc.
+ */
+package akka.remote.serialization
+
+import akka.actor.{ ActorRef, Address, ExtendedActorSystem }
+import akka.protobuf.MessageLite
+import akka.remote.artery.OutboundHandshake.{ HandshakeReq, HandshakeRsp }
+import akka.remote.artery.compress.CompressionProtocol._
+import akka.remote.artery.compress.{ CompressionProtocol, CompressionTable }
+import akka.remote.artery.{ ActorSystemTerminating, ActorSystemTerminatingAck, Quarantined, SystemMessageDelivery }
+import akka.remote.{ ArteryControlFormats, MessageSerializer, UniqueAddress, WireFormats }
+import akka.serialization.{ BaseSerializer, Serialization, SerializationExtension, SerializerWithStringManifest }
+
+/** INTERNAL API */
+private[akka] object ArteryMessageSerializer {
+ private val QuarantinedManifest = "a"
+ private val ActorSystemTerminatingManifest = "b"
+ private val ActorSystemTerminatingAckManifest = "c"
+ private val HandshakeReqManifest = "d"
+ private val HandshakeRspManifest = "e"
+ private val ActorRefCompressionAdvertisementManifest = "f"
+ private val ActorRefCompressionAdvertisementAckManifest = "g"
+ private val ClassManifestCompressionAdvertisementManifest = "h"
+ private val ClassManifestCompressionAdvertisementAckManifest = "i"
+ private val SystemMessageEnvelopeManifest = "j"
+ private val SystemMessageDeliveryAckManifest = "k"
+ private val SystemMessageDeliveryNackManifest = "l"
+}
+
+/** INTERNAL API */
+private[akka] final class ArteryMessageSerializer(val system: ExtendedActorSystem) extends SerializerWithStringManifest with BaseSerializer {
+ import ArteryMessageSerializer._
+
+ private lazy val serialization = SerializationExtension(system)
+
+ override def manifest(o: AnyRef): String = o match { // most frequent ones first
+ case _: SystemMessageDelivery.SystemMessageEnvelope ⇒ SystemMessageEnvelopeManifest
+ case _: SystemMessageDelivery.Ack ⇒ SystemMessageDeliveryAckManifest
+ case _: HandshakeReq ⇒ HandshakeReqManifest
+ case _: HandshakeRsp ⇒ HandshakeRspManifest
+ case _: SystemMessageDelivery.Nack ⇒ SystemMessageDeliveryNackManifest
+ case _: Quarantined ⇒ QuarantinedManifest
+ case _: ActorSystemTerminating ⇒ ActorSystemTerminatingManifest
+ case _: ActorSystemTerminatingAck ⇒ ActorSystemTerminatingAckManifest
+ case _: CompressionProtocol.ActorRefCompressionAdvertisement ⇒ ActorRefCompressionAdvertisementManifest
+ case _: CompressionProtocol.ActorRefCompressionAdvertisementAck ⇒ ActorRefCompressionAdvertisementAckManifest
+ case _: CompressionProtocol.ClassManifestCompressionAdvertisement ⇒ ClassManifestCompressionAdvertisementManifest
+ case _: CompressionProtocol.ClassManifestCompressionAdvertisementAck ⇒ ClassManifestCompressionAdvertisementAckManifest
+ case _ ⇒
+ throw new IllegalArgumentException(s"Can't serialize object of type ${o.getClass} in [${getClass.getName}]")
+ }
+
+ override def toBinary(o: AnyRef): Array[Byte] = (o match { // most frequent ones first
+ case env: SystemMessageDelivery.SystemMessageEnvelope ⇒ serializeSystemMessageEnvelope(env)
+ case SystemMessageDelivery.Ack(seqNo, from) ⇒ serializeSystemMessageDeliveryAck(seqNo, from)
+ case HandshakeReq(from) ⇒ serializeWithAddress(from)
+ case HandshakeRsp(from) ⇒ serializeWithAddress(from)
+ case SystemMessageDelivery.Nack(seqNo, from) ⇒ serializeSystemMessageDeliveryAck(seqNo, from)
+ case q: Quarantined ⇒ serializeQuarantined(q)
+ case ActorSystemTerminating(from) ⇒ serializeWithAddress(from)
+ case ActorSystemTerminatingAck(from) ⇒ serializeWithAddress(from)
+ case adv: ActorRefCompressionAdvertisement ⇒ serializeActorRefCompressionAdvertisement(adv)
+ case ActorRefCompressionAdvertisementAck(from, id) ⇒ serializeCompressionTableAdvertisementAck(from, id)
+ case adv: ClassManifestCompressionAdvertisement ⇒ serializeCompressionAdvertisement(adv)(identity)
+ case ClassManifestCompressionAdvertisementAck(from, id) ⇒ serializeCompressionTableAdvertisementAck(from, id)
+ }).toByteArray
+
+ override def fromBinary(bytes: Array[Byte], manifest: String): AnyRef = manifest match { // most frequent ones first (could be made a HashMap in the future)
+ case SystemMessageEnvelopeManifest ⇒ deserializeSystemMessageEnvelope(bytes)
+ case SystemMessageDeliveryAckManifest ⇒ deserializeSystemMessageDeliveryAck(bytes, SystemMessageDelivery.Ack)
+ case HandshakeReqManifest ⇒ deserializeWithFromAddress(bytes, HandshakeReq)
+ case HandshakeRspManifest ⇒ deserializeWithFromAddress(bytes, HandshakeRsp)
+ case SystemMessageDeliveryNackManifest ⇒ deserializeSystemMessageDeliveryAck(bytes, SystemMessageDelivery.Nack)
+ case QuarantinedManifest ⇒ deserializeQuarantined(ArteryControlFormats.Quarantined.parseFrom(bytes))
+ case ActorSystemTerminatingManifest ⇒ deserializeWithFromAddress(bytes, ActorSystemTerminating)
+ case ActorSystemTerminatingAckManifest ⇒ deserializeWithFromAddress(bytes, ActorSystemTerminatingAck)
+ case ActorRefCompressionAdvertisementManifest ⇒ deserializeActorRefCompressionAdvertisement(bytes)
+ case ActorRefCompressionAdvertisementAckManifest ⇒ deserializeCompressionTableAdvertisementAck(bytes, ActorRefCompressionAdvertisementAck)
+ case ClassManifestCompressionAdvertisementManifest ⇒ deserializeCompressionAdvertisement(bytes, identity, ClassManifestCompressionAdvertisement)
+ case ClassManifestCompressionAdvertisementAckManifest ⇒ deserializeCompressionTableAdvertisementAck(bytes, ClassManifestCompressionAdvertisementAck)
+ case _ ⇒ throw new IllegalArgumentException(s"Manifest '$manifest' not defined for ArteryControlMessageSerializer (serializer id $identifier)")
+ }
+
+ import scala.collection.JavaConverters._
+
+ def serializeQuarantined(quarantined: Quarantined): ArteryControlFormats.Quarantined =
+ ArteryControlFormats.Quarantined.newBuilder()
+ .setFrom(serializeUniqueAddress(quarantined.from))
+ .setTo(serializeUniqueAddress(quarantined.to))
+ .build
+
+ def deserializeQuarantined(quarantined: ArteryControlFormats.Quarantined): Quarantined =
+ Quarantined(deserializeUniqueAddress(quarantined.getFrom), deserializeUniqueAddress(quarantined.getTo))
+
+ def serializeActorRef(ref: ActorRef): String = Serialization.serializedActorPath(ref)
+ def deserializeActorRef(str: String): ActorRef = system.provider.resolveActorRef(str)
+
+ def serializeActorRefCompressionAdvertisement(adv: ActorRefCompressionAdvertisement): ArteryControlFormats.CompressionTableAdvertisement =
+ // FIXME: is it guaranteed that idx 0 is reserved for DeadLetters? In the best case, this knowledge should be managed in only one place.
+ serializeCompressionAdvertisement(adv)(serializeActorRef, _ != 0 /* 0 is reserved for DeadLetters and doesn't need to be serialized explicitly */ )
+
+ def deserializeActorRefCompressionAdvertisement(bytes: Array[Byte]): ActorRefCompressionAdvertisement =
+ deserializeCompressionAdvertisement(bytes, deserializeActorRef, ActorRefCompressionAdvertisement, Seq(system.deadLetters → 0) /* add DeadLetters explicitly */ )
+
+ def serializeCompressionAdvertisement[T](adv: CompressionAdvertisement[T])(keySerializer: T ⇒ String, valueFilter: Int ⇒ Boolean = _ ⇒ true): ArteryControlFormats.CompressionTableAdvertisement = {
+ val builder =
+ ArteryControlFormats.CompressionTableAdvertisement.newBuilder
+ .setFrom(serializeUniqueAddress(adv.from))
+ .setTableVersion(adv.table.version)
+
+ adv.table.map.foreach {
+ case (key, value) if valueFilter(value) ⇒
+ builder
+ .addKeys(keySerializer(key))
+ .addValues(value)
+ case _ ⇒
+ }
+
+ builder.build
+ }
+
+ def deserializeCompressionAdvertisement[T, U](bytes: Array[Byte], keyDeserializer: String ⇒ T, create: (UniqueAddress, CompressionTable[T]) ⇒ U, extraValues: Seq[(T, Int)] = Nil): U = {
+ val protoAdv = ArteryControlFormats.CompressionTableAdvertisement.parseFrom(bytes)
+
+ val kvs =
+ protoAdv.getKeysList.asScala.map(keyDeserializer).zip(
+ protoAdv.getValuesList.asScala.asInstanceOf[Iterable[Int]] /* to avoid having to call toInt explicitly */ ) ++
+ extraValues
+
+ val table = CompressionTable(protoAdv.getTableVersion, kvs.toMap)
+ create(deserializeUniqueAddress(protoAdv.getFrom), table)
+ }
+
+ def serializeCompressionTableAdvertisementAck(from: UniqueAddress, version: Int): MessageLite =
+ ArteryControlFormats.CompressionTableAdvertisementAck.newBuilder
+ .setFrom(serializeUniqueAddress(from))
+ .setVersion(version)
+ .build()
+
+ def deserializeCompressionTableAdvertisementAck(bytes: Array[Byte], create: (UniqueAddress, Int) ⇒ AnyRef): AnyRef = {
+ val msg = ArteryControlFormats.CompressionTableAdvertisementAck.parseFrom(bytes)
+ create(deserializeUniqueAddress(msg.getFrom), msg.getVersion)
+ }
+
+ def serializeSystemMessageEnvelope(env: SystemMessageDelivery.SystemMessageEnvelope): ArteryControlFormats.SystemMessageEnvelope = {
+ val msg = MessageSerializer.serialize(system, env.message)
+
+ val builder =
+ ArteryControlFormats.SystemMessageEnvelope.newBuilder
+ .setMessage(msg.getMessage)
+ .setSerializerId(msg.getSerializerId)
+ .setSeqNo(env.seqNo)
+ .setAckReplyTo(serializeUniqueAddress(env.ackReplyTo))
+
+ if (msg.hasMessageManifest) builder.setMessageManifest(msg.getMessageManifest)
+
+ builder.build
+ }
+ def deserializeSystemMessageEnvelope(bytes: Array[Byte]): SystemMessageDelivery.SystemMessageEnvelope = {
+ val protoEnv = ArteryControlFormats.SystemMessageEnvelope.parseFrom(bytes)
+
+ SystemMessageDelivery.SystemMessageEnvelope(
+ serialization.deserialize(
+ protoEnv.getMessage.toByteArray,
+ protoEnv.getSerializerId,
+ if (protoEnv.hasMessageManifest) protoEnv.getMessageManifest.toStringUtf8 else "").get,
+ protoEnv.getSeqNo,
+ deserializeUniqueAddress(protoEnv.getAckReplyTo))
+ }
+
+ def serializeSystemMessageDeliveryAck(seqNo: Long, from: UniqueAddress): ArteryControlFormats.SystemMessageDeliveryAck =
+ ArteryControlFormats.SystemMessageDeliveryAck.newBuilder
+ .setSeqNo(seqNo)
+ .setFrom(serializeUniqueAddress(from))
+ .build
+
+ def deserializeSystemMessageDeliveryAck(bytes: Array[Byte], create: (Long, UniqueAddress) ⇒ AnyRef): AnyRef = {
+ val protoAck = ArteryControlFormats.SystemMessageDeliveryAck.parseFrom(bytes)
+
+ create(protoAck.getSeqNo, deserializeUniqueAddress(protoAck.getFrom))
+ }
+
+ def serializeWithAddress(from: UniqueAddress): MessageLite =
+ ArteryControlFormats.MessageWithAddress.newBuilder.setAddress(serializeUniqueAddress(from)).build()
+
+ def deserializeWithFromAddress(bytes: Array[Byte], create: UniqueAddress ⇒ AnyRef): AnyRef =
+ create(deserializeUniqueAddress(ArteryControlFormats.MessageWithAddress.parseFrom(bytes).getAddress))
+
+ def serializeUniqueAddress(address: UniqueAddress): ArteryControlFormats.UniqueAddress =
+ ArteryControlFormats.UniqueAddress.newBuilder()
+ .setAddress(serializeAddress(address.address))
+ .setUid(address.uid)
+ .build()
+
+ def deserializeUniqueAddress(address: ArteryControlFormats.UniqueAddress): UniqueAddress =
+ UniqueAddress(deserializeAddress(address.getAddress), address.getUid)
+
+ def serializeAddress(address: Address): ArteryControlFormats.Address =
+ address match {
+ case Address(protocol, system, Some(host), Some(port)) ⇒
+ ArteryControlFormats.Address.newBuilder()
+ .setProtocol(protocol)
+ .setSystem(system)
+ .setHostname(host)
+ .setPort(port)
+ .build()
+ case _ ⇒ throw new IllegalArgumentException(s"Address [$address] could not be serialized: host or port missing.")
+ }
+
+ def deserializeAddress(address: ArteryControlFormats.Address): Address =
+ Address(address.getProtocol, address.getSystem, address.getHostname, address.getPort)
+}
\ No newline at end of file
diff --git a/akka-remote/src/test/scala/akka/remote/artery/InboundControlJunctionSpec.scala b/akka-remote/src/test/scala/akka/remote/artery/InboundControlJunctionSpec.scala
index ab85391a90..44e3a26692 100644
--- a/akka-remote/src/test/scala/akka/remote/artery/InboundControlJunctionSpec.scala
+++ b/akka-remote/src/test/scala/akka/remote/artery/InboundControlJunctionSpec.scala
@@ -20,12 +20,19 @@ import akka.testkit.TestProbe
import akka.util.OptionVal
object InboundControlJunctionSpec {
- case object Control1 extends ControlMessage
- case object Control2 extends ControlMessage
- case object Control3 extends ControlMessage
+ trait TestControlMessage extends ControlMessage
+
+ case object Control1 extends TestControlMessage
+ case object Control2 extends TestControlMessage
+ case object Control3 extends TestControlMessage
}
-class InboundControlJunctionSpec extends AkkaSpec with ImplicitSender {
+class InboundControlJunctionSpec
+ extends AkkaSpec("""
+ akka.actor.serialization-bindings {
+ "akka.remote.artery.InboundControlJunctionSpec$TestControlMessage" = java
+ }
+ """) with ImplicitSender {
import InboundControlJunctionSpec._
val matSettings = ActorMaterializerSettings(system).withFuzzing(true)
diff --git a/akka-remote/src/test/scala/akka/remote/serialization/ArteryMessageSerializerSpec.scala b/akka-remote/src/test/scala/akka/remote/serialization/ArteryMessageSerializerSpec.scala
new file mode 100644
index 0000000000..34bc13b1de
--- /dev/null
+++ b/akka-remote/src/test/scala/akka/remote/serialization/ArteryMessageSerializerSpec.scala
@@ -0,0 +1,71 @@
+/**
+ * Copyright (C) 2009-2016 Lightbend Inc.
+ */
+
+package akka.remote.serialization
+
+import akka.actor._
+import akka.remote.UniqueAddress
+import akka.remote.artery.OutboundHandshake.{ HandshakeReq, HandshakeRsp }
+import akka.remote.artery.compress.CompressionProtocol.{ ActorRefCompressionAdvertisement, ActorRefCompressionAdvertisementAck, ClassManifestCompressionAdvertisement, ClassManifestCompressionAdvertisementAck }
+import akka.remote.artery.compress.CompressionTable
+import akka.remote.artery.{ ActorSystemTerminating, ActorSystemTerminatingAck, Quarantined, SystemMessageDelivery }
+import akka.serialization.SerializationExtension
+import akka.testkit.AkkaSpec
+
+class ArteryMessageSerializerSpec extends AkkaSpec {
+ "ArteryMessageSerializer" must {
+ val actorA = system.actorOf(Props.empty)
+ val actorB = system.actorOf(Props.empty)
+
+ Seq(
+ "Quarantined" → Quarantined(uniqueAddress(), uniqueAddress()),
+ "ActorSystemTerminating" → ActorSystemTerminating(uniqueAddress()),
+ "ActorSystemTerminatingAck" → ActorSystemTerminatingAck(uniqueAddress()),
+ "HandshakeReq" → HandshakeReq(uniqueAddress()),
+ "HandshakeRsp" → HandshakeRsp(uniqueAddress()),
+ "ActorRefCompressionAdvertisement" → ActorRefCompressionAdvertisement(uniqueAddress(), CompressionTable(123, Map(actorA → 123, actorB → 456, system.deadLetters → 0))),
+ "ActorRefCompressionAdvertisementAck" → ActorRefCompressionAdvertisementAck(uniqueAddress(), 23),
+ "ClassManifestCompressionAdvertisement" → ClassManifestCompressionAdvertisement(uniqueAddress(), CompressionTable(42, Map("a" → 535, "b" → 23))),
+ "ClassManifestCompressionAdvertisementAck" → ClassManifestCompressionAdvertisementAck(uniqueAddress(), 23),
+ "SystemMessageDelivery.SystemMessageEnvelop" → SystemMessageDelivery.SystemMessageEnvelope("test", 1234567890123L, uniqueAddress()),
+ "SystemMessageDelivery.Ack" → SystemMessageDelivery.Ack(98765432109876L, uniqueAddress()),
+ "SystemMessageDelivery.Nack" → SystemMessageDelivery.Nack(98765432109876L, uniqueAddress())
+ ).foreach {
+ case (scenario, item) ⇒
+ s"resolve serializer for $scenario" in {
+ val serializer = SerializationExtension(system)
+ serializer.serializerFor(item.getClass).getClass should ===(classOf[ArteryMessageSerializer])
+ }
+
+ s"serialize and de-serialize $scenario" in {
+ verifySerialization(item)
+ }
+ }
+
+ "not support UniqueAddresses without host/port set" in pending
+
+ "reject invalid manifest" in {
+ intercept[IllegalArgumentException] {
+ val serializer = new ArteryMessageSerializer(system.asInstanceOf[ExtendedActorSystem])
+ serializer.manifest("INVALID")
+ }
+ }
+
+ "reject deserialization with invalid manifest" in {
+ intercept[IllegalArgumentException] {
+ val serializer = new ArteryMessageSerializer(system.asInstanceOf[ExtendedActorSystem])
+ serializer.fromBinary(Array.empty[Byte], "INVALID")
+ }
+ }
+
+ def verifySerialization(msg: AnyRef): Unit = {
+ val serializer = new ArteryMessageSerializer(system.asInstanceOf[ExtendedActorSystem])
+ serializer.fromBinary(serializer.toBinary(msg), serializer.manifest(msg)) should ===(msg)
+ }
+
+ def uniqueAddress(): UniqueAddress =
+ UniqueAddress(Address("abc", "def", "host", 12345), 2342)
+ }
+}
+