All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.apphosting.base.protos.ClonePb Maven / Gradle / Ivy

There is a newer version: 2.0.31
Show newest version
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: clone.proto

package com.google.apphosting.base.protos;

public final class ClonePb {
  private ClonePb() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface PerformanceDataOrBuilder extends
      // @@protoc_insertion_point(interface_extends:java.apphosting.PerformanceData)
      com.google.protobuf.MessageOrBuilder {

    /**
     * repeated .java.apphosting.PerformanceData.Entry entries = 1;
     */
    java.util.List 
        getEntriesList();
    /**
     * repeated .java.apphosting.PerformanceData.Entry entries = 1;
     */
    com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry getEntries(int index);
    /**
     * repeated .java.apphosting.PerformanceData.Entry entries = 1;
     */
    int getEntriesCount();
    /**
     * repeated .java.apphosting.PerformanceData.Entry entries = 1;
     */
    java.util.List 
        getEntriesOrBuilderList();
    /**
     * repeated .java.apphosting.PerformanceData.Entry entries = 1;
     */
    com.google.apphosting.base.protos.ClonePb.PerformanceData.EntryOrBuilder getEntriesOrBuilder(
        int index);

    /**
     * optional .java.apphosting.PerformanceData.Type type = 2 [default = PERIODIC_SAMPLE];
     * @return Whether the type field is set.
     */
    boolean hasType();
    /**
     * optional .java.apphosting.PerformanceData.Type type = 2 [default = PERIODIC_SAMPLE];
     * @return The type.
     */
    com.google.apphosting.base.protos.ClonePb.PerformanceData.Type getType();
  }
  /**
   * 
   * Performance data for a clone. It consists of multiple entries, each tagged
   * with the format the data is in.
   * 
* * Protobuf type {@code java.apphosting.PerformanceData} */ public static final class PerformanceData extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:java.apphosting.PerformanceData) PerformanceDataOrBuilder { private static final long serialVersionUID = 0L; // Use PerformanceData.newBuilder() to construct. private PerformanceData(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private PerformanceData() { entries_ = java.util.Collections.emptyList(); type_ = 2; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new PerformanceData(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_PerformanceData_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_PerformanceData_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.apphosting.base.protos.ClonePb.PerformanceData.class, com.google.apphosting.base.protos.ClonePb.PerformanceData.Builder.class); } /** * Protobuf enum {@code java.apphosting.PerformanceData.Type} */ public enum Type implements com.google.protobuf.ProtocolMessageEnum { /** *
       * Unknown sample type.
       * 
* * UNKNOWN = 0; */ UNKNOWN(0), /** *
       * A sample recorded after the loading request for an app.
       * 
* * AFTER_LOADING = 1; */ AFTER_LOADING(1), /** *
       * A sample taken periodically while the app is running.
       * 
* * PERIODIC_SAMPLE = 2; */ PERIODIC_SAMPLE(2), ; /** *
       * Unknown sample type.
       * 
* * UNKNOWN = 0; */ public static final int UNKNOWN_VALUE = 0; /** *
       * A sample recorded after the loading request for an app.
       * 
* * AFTER_LOADING = 1; */ public static final int AFTER_LOADING_VALUE = 1; /** *
       * A sample taken periodically while the app is running.
       * 
* * PERIODIC_SAMPLE = 2; */ public static final int PERIODIC_SAMPLE_VALUE = 2; public final int getNumber() { return value; } /** * @param value The numeric wire value of the corresponding enum entry. * @return The enum associated with the given numeric wire value. * @deprecated Use {@link #forNumber(int)} instead. */ @java.lang.Deprecated public static Type valueOf(int value) { return forNumber(value); } /** * @param value The numeric wire value of the corresponding enum entry. * @return The enum associated with the given numeric wire value. */ public static Type forNumber(int value) { switch (value) { case 0: return UNKNOWN; case 1: return AFTER_LOADING; case 2: return PERIODIC_SAMPLE; default: return null; } } public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { return internalValueMap; } private static final com.google.protobuf.Internal.EnumLiteMap< Type> internalValueMap = new com.google.protobuf.Internal.EnumLiteMap() { public Type findValueByNumber(int number) { return Type.forNumber(number); } }; public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { return getDescriptor().getValues().get(ordinal()); } public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { return getDescriptor(); } public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { return com.google.apphosting.base.protos.ClonePb.PerformanceData.getDescriptor().getEnumTypes().get(0); } private static final Type[] VALUES = values(); public static Type valueOf( com.google.protobuf.Descriptors.EnumValueDescriptor desc) { if (desc.getType() != getDescriptor()) { throw new java.lang.IllegalArgumentException( "EnumValueDescriptor is not for this type."); } return VALUES[desc.getIndex()]; } private final int value; private Type(int value) { this.value = value; } // @@protoc_insertion_point(enum_scope:java.apphosting.PerformanceData.Type) } /** * Protobuf enum {@code java.apphosting.PerformanceData.Format} */ public enum Format implements com.google.protobuf.ProtocolMessageEnum { /** *
       * A human-readable blob of text.
       * 
* * HUMAN_READABLE_TEXT = 1; */ HUMAN_READABLE_TEXT(1), /** *
       * Hotspot hsperfdata. This is a (currently 32KB) data structure whose
       * contents are described in
       * http://cs/depot/depot2/google_vendor_src_branch/openjdk7/trunk/hotspot/src/share/vm/runtime/perfMemory.hpp.
       * Typically Java tools access it via the sun.misc.Perf class.
       * 
* * JAVA_HOTSPOT_HSPERFDATA = 2; */ JAVA_HOTSPOT_HSPERFDATA(2), ; /** *
       * A human-readable blob of text.
       * 
* * HUMAN_READABLE_TEXT = 1; */ public static final int HUMAN_READABLE_TEXT_VALUE = 1; /** *
       * Hotspot hsperfdata. This is a (currently 32KB) data structure whose
       * contents are described in
       * http://cs/depot/depot2/google_vendor_src_branch/openjdk7/trunk/hotspot/src/share/vm/runtime/perfMemory.hpp.
       * Typically Java tools access it via the sun.misc.Perf class.
       * 
* * JAVA_HOTSPOT_HSPERFDATA = 2; */ public static final int JAVA_HOTSPOT_HSPERFDATA_VALUE = 2; public final int getNumber() { return value; } /** * @param value The numeric wire value of the corresponding enum entry. * @return The enum associated with the given numeric wire value. * @deprecated Use {@link #forNumber(int)} instead. */ @java.lang.Deprecated public static Format valueOf(int value) { return forNumber(value); } /** * @param value The numeric wire value of the corresponding enum entry. * @return The enum associated with the given numeric wire value. */ public static Format forNumber(int value) { switch (value) { case 1: return HUMAN_READABLE_TEXT; case 2: return JAVA_HOTSPOT_HSPERFDATA; default: return null; } } public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { return internalValueMap; } private static final com.google.protobuf.Internal.EnumLiteMap< Format> internalValueMap = new com.google.protobuf.Internal.EnumLiteMap() { public Format findValueByNumber(int number) { return Format.forNumber(number); } }; public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { return getDescriptor().getValues().get(ordinal()); } public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { return getDescriptor(); } public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { return com.google.apphosting.base.protos.ClonePb.PerformanceData.getDescriptor().getEnumTypes().get(1); } private static final Format[] VALUES = values(); public static Format valueOf( com.google.protobuf.Descriptors.EnumValueDescriptor desc) { if (desc.getType() != getDescriptor()) { throw new java.lang.IllegalArgumentException( "EnumValueDescriptor is not for this type."); } return VALUES[desc.getIndex()]; } private final int value; private Format(int value) { this.value = value; } // @@protoc_insertion_point(enum_scope:java.apphosting.PerformanceData.Format) } public interface EntryOrBuilder extends // @@protoc_insertion_point(interface_extends:java.apphosting.PerformanceData.Entry) com.google.protobuf.MessageOrBuilder { /** *
       * Identifies the format of the payload.
       * 
* * optional .java.apphosting.PerformanceData.Format format = 1; * @return Whether the format field is set. */ boolean hasFormat(); /** *
       * Identifies the format of the payload.
       * 
* * optional .java.apphosting.PerformanceData.Format format = 1; * @return The format. */ com.google.apphosting.base.protos.ClonePb.PerformanceData.Format getFormat(); /** * optional bytes payload = 2; * @return Whether the payload field is set. */ boolean hasPayload(); /** * optional bytes payload = 2; * @return The payload. */ com.google.protobuf.ByteString getPayload(); } /** * Protobuf type {@code java.apphosting.PerformanceData.Entry} */ public static final class Entry extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:java.apphosting.PerformanceData.Entry) EntryOrBuilder { private static final long serialVersionUID = 0L; // Use Entry.newBuilder() to construct. private Entry(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private Entry() { format_ = 1; payload_ = com.google.protobuf.ByteString.EMPTY; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new Entry(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_PerformanceData_Entry_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_PerformanceData_Entry_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry.class, com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry.Builder.class); } private int bitField0_; public static final int FORMAT_FIELD_NUMBER = 1; private int format_ = 1; /** *
       * Identifies the format of the payload.
       * 
* * optional .java.apphosting.PerformanceData.Format format = 1; * @return Whether the format field is set. */ @java.lang.Override public boolean hasFormat() { return ((bitField0_ & 0x00000001) != 0); } /** *
       * Identifies the format of the payload.
       * 
* * optional .java.apphosting.PerformanceData.Format format = 1; * @return The format. */ @java.lang.Override public com.google.apphosting.base.protos.ClonePb.PerformanceData.Format getFormat() { com.google.apphosting.base.protos.ClonePb.PerformanceData.Format result = com.google.apphosting.base.protos.ClonePb.PerformanceData.Format.forNumber(format_); return result == null ? com.google.apphosting.base.protos.ClonePb.PerformanceData.Format.HUMAN_READABLE_TEXT : result; } public static final int PAYLOAD_FIELD_NUMBER = 2; private com.google.protobuf.ByteString payload_ = com.google.protobuf.ByteString.EMPTY; /** * optional bytes payload = 2; * @return Whether the payload field is set. */ @java.lang.Override public boolean hasPayload() { return ((bitField0_ & 0x00000002) != 0); } /** * optional bytes payload = 2; * @return The payload. */ @java.lang.Override public com.google.protobuf.ByteString getPayload() { return payload_; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (((bitField0_ & 0x00000001) != 0)) { output.writeEnum(1, format_); } if (((bitField0_ & 0x00000002) != 0)) { output.writeBytes(2, payload_); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (((bitField0_ & 0x00000001) != 0)) { size += com.google.protobuf.CodedOutputStream .computeEnumSize(1, format_); } if (((bitField0_ & 0x00000002) != 0)) { size += com.google.protobuf.CodedOutputStream .computeBytesSize(2, payload_); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry)) { return super.equals(obj); } com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry other = (com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry) obj; if (hasFormat() != other.hasFormat()) return false; if (hasFormat()) { if (format_ != other.format_) return false; } if (hasPayload() != other.hasPayload()) return false; if (hasPayload()) { if (!getPayload() .equals(other.getPayload())) return false; } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasFormat()) { hash = (37 * hash) + FORMAT_FIELD_NUMBER; hash = (53 * hash) + format_; } if (hasPayload()) { hash = (37 * hash) + PAYLOAD_FIELD_NUMBER; hash = (53 * hash) + getPayload().hashCode(); } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** * Protobuf type {@code java.apphosting.PerformanceData.Entry} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:java.apphosting.PerformanceData.Entry) com.google.apphosting.base.protos.ClonePb.PerformanceData.EntryOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_PerformanceData_Entry_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_PerformanceData_Entry_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry.class, com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry.Builder.class); } // Construct using com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry.newBuilder() private Builder() { } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; format_ = 1; payload_ = com.google.protobuf.ByteString.EMPTY; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_PerformanceData_Entry_descriptor; } @java.lang.Override public com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry getDefaultInstanceForType() { return com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry.getDefaultInstance(); } @java.lang.Override public com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry build() { com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry buildPartial() { com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry result = new com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry(this); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartial0(com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry result) { int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { result.format_ = format_; to_bitField0_ |= 0x00000001; } if (((from_bitField0_ & 0x00000002) != 0)) { result.payload_ = payload_; to_bitField0_ |= 0x00000002; } result.bitField0_ |= to_bitField0_; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry) { return mergeFrom((com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry other) { if (other == com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry.getDefaultInstance()) return this; if (other.hasFormat()) { setFormat(other.getFormat()); } if (other.hasPayload()) { setPayload(other.getPayload()); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 8: { int tmpRaw = input.readEnum(); com.google.apphosting.base.protos.ClonePb.PerformanceData.Format tmpValue = com.google.apphosting.base.protos.ClonePb.PerformanceData.Format.forNumber(tmpRaw); if (tmpValue == null) { mergeUnknownVarintField(1, tmpRaw); } else { format_ = tmpRaw; bitField0_ |= 0x00000001; } break; } // case 8 case 18: { payload_ = input.readBytes(); bitField0_ |= 0x00000002; break; } // case 18 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private int format_ = 1; /** *
         * Identifies the format of the payload.
         * 
* * optional .java.apphosting.PerformanceData.Format format = 1; * @return Whether the format field is set. */ @java.lang.Override public boolean hasFormat() { return ((bitField0_ & 0x00000001) != 0); } /** *
         * Identifies the format of the payload.
         * 
* * optional .java.apphosting.PerformanceData.Format format = 1; * @return The format. */ @java.lang.Override public com.google.apphosting.base.protos.ClonePb.PerformanceData.Format getFormat() { com.google.apphosting.base.protos.ClonePb.PerformanceData.Format result = com.google.apphosting.base.protos.ClonePb.PerformanceData.Format.forNumber(format_); return result == null ? com.google.apphosting.base.protos.ClonePb.PerformanceData.Format.HUMAN_READABLE_TEXT : result; } /** *
         * Identifies the format of the payload.
         * 
* * optional .java.apphosting.PerformanceData.Format format = 1; * @param value The format to set. * @return This builder for chaining. */ public Builder setFormat(com.google.apphosting.base.protos.ClonePb.PerformanceData.Format value) { if (value == null) { throw new NullPointerException(); } bitField0_ |= 0x00000001; format_ = value.getNumber(); onChanged(); return this; } /** *
         * Identifies the format of the payload.
         * 
* * optional .java.apphosting.PerformanceData.Format format = 1; * @return This builder for chaining. */ public Builder clearFormat() { bitField0_ = (bitField0_ & ~0x00000001); format_ = 1; onChanged(); return this; } private com.google.protobuf.ByteString payload_ = com.google.protobuf.ByteString.EMPTY; /** * optional bytes payload = 2; * @return Whether the payload field is set. */ @java.lang.Override public boolean hasPayload() { return ((bitField0_ & 0x00000002) != 0); } /** * optional bytes payload = 2; * @return The payload. */ @java.lang.Override public com.google.protobuf.ByteString getPayload() { return payload_; } /** * optional bytes payload = 2; * @param value The payload to set. * @return This builder for chaining. */ public Builder setPayload(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } payload_ = value; bitField0_ |= 0x00000002; onChanged(); return this; } /** * optional bytes payload = 2; * @return This builder for chaining. */ public Builder clearPayload() { bitField0_ = (bitField0_ & ~0x00000002); payload_ = getDefaultInstance().getPayload(); onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:java.apphosting.PerformanceData.Entry) } // @@protoc_insertion_point(class_scope:java.apphosting.PerformanceData.Entry) private static final com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry(); } public static com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry getDefaultInstance() { return DEFAULT_INSTANCE; } @java.lang.Deprecated public static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public Entry parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } private int bitField0_; public static final int ENTRIES_FIELD_NUMBER = 1; @SuppressWarnings("serial") private java.util.List entries_; /** * repeated .java.apphosting.PerformanceData.Entry entries = 1; */ @java.lang.Override public java.util.List getEntriesList() { return entries_; } /** * repeated .java.apphosting.PerformanceData.Entry entries = 1; */ @java.lang.Override public java.util.List getEntriesOrBuilderList() { return entries_; } /** * repeated .java.apphosting.PerformanceData.Entry entries = 1; */ @java.lang.Override public int getEntriesCount() { return entries_.size(); } /** * repeated .java.apphosting.PerformanceData.Entry entries = 1; */ @java.lang.Override public com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry getEntries(int index) { return entries_.get(index); } /** * repeated .java.apphosting.PerformanceData.Entry entries = 1; */ @java.lang.Override public com.google.apphosting.base.protos.ClonePb.PerformanceData.EntryOrBuilder getEntriesOrBuilder( int index) { return entries_.get(index); } public static final int TYPE_FIELD_NUMBER = 2; private int type_ = 2; /** * optional .java.apphosting.PerformanceData.Type type = 2 [default = PERIODIC_SAMPLE]; * @return Whether the type field is set. */ @java.lang.Override public boolean hasType() { return ((bitField0_ & 0x00000001) != 0); } /** * optional .java.apphosting.PerformanceData.Type type = 2 [default = PERIODIC_SAMPLE]; * @return The type. */ @java.lang.Override public com.google.apphosting.base.protos.ClonePb.PerformanceData.Type getType() { com.google.apphosting.base.protos.ClonePb.PerformanceData.Type result = com.google.apphosting.base.protos.ClonePb.PerformanceData.Type.forNumber(type_); return result == null ? com.google.apphosting.base.protos.ClonePb.PerformanceData.Type.PERIODIC_SAMPLE : result; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { for (int i = 0; i < entries_.size(); i++) { output.writeMessage(1, entries_.get(i)); } if (((bitField0_ & 0x00000001) != 0)) { output.writeEnum(2, type_); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; for (int i = 0; i < entries_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, entries_.get(i)); } if (((bitField0_ & 0x00000001) != 0)) { size += com.google.protobuf.CodedOutputStream .computeEnumSize(2, type_); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof com.google.apphosting.base.protos.ClonePb.PerformanceData)) { return super.equals(obj); } com.google.apphosting.base.protos.ClonePb.PerformanceData other = (com.google.apphosting.base.protos.ClonePb.PerformanceData) obj; if (!getEntriesList() .equals(other.getEntriesList())) return false; if (hasType() != other.hasType()) return false; if (hasType()) { if (type_ != other.type_) return false; } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (getEntriesCount() > 0) { hash = (37 * hash) + ENTRIES_FIELD_NUMBER; hash = (53 * hash) + getEntriesList().hashCode(); } if (hasType()) { hash = (37 * hash) + TYPE_FIELD_NUMBER; hash = (53 * hash) + type_; } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static com.google.apphosting.base.protos.ClonePb.PerformanceData parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apphosting.base.protos.ClonePb.PerformanceData parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.PerformanceData parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apphosting.base.protos.ClonePb.PerformanceData parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.PerformanceData parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apphosting.base.protos.ClonePb.PerformanceData parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.PerformanceData parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.google.apphosting.base.protos.ClonePb.PerformanceData parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.PerformanceData parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static com.google.apphosting.base.protos.ClonePb.PerformanceData parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.PerformanceData parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.google.apphosting.base.protos.ClonePb.PerformanceData parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(com.google.apphosting.base.protos.ClonePb.PerformanceData prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * Performance data for a clone. It consists of multiple entries, each tagged
     * with the format the data is in.
     * 
* * Protobuf type {@code java.apphosting.PerformanceData} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:java.apphosting.PerformanceData) com.google.apphosting.base.protos.ClonePb.PerformanceDataOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_PerformanceData_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_PerformanceData_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.apphosting.base.protos.ClonePb.PerformanceData.class, com.google.apphosting.base.protos.ClonePb.PerformanceData.Builder.class); } // Construct using com.google.apphosting.base.protos.ClonePb.PerformanceData.newBuilder() private Builder() { } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; if (entriesBuilder_ == null) { entries_ = java.util.Collections.emptyList(); } else { entries_ = null; entriesBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000001); type_ = 2; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_PerformanceData_descriptor; } @java.lang.Override public com.google.apphosting.base.protos.ClonePb.PerformanceData getDefaultInstanceForType() { return com.google.apphosting.base.protos.ClonePb.PerformanceData.getDefaultInstance(); } @java.lang.Override public com.google.apphosting.base.protos.ClonePb.PerformanceData build() { com.google.apphosting.base.protos.ClonePb.PerformanceData result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public com.google.apphosting.base.protos.ClonePb.PerformanceData buildPartial() { com.google.apphosting.base.protos.ClonePb.PerformanceData result = new com.google.apphosting.base.protos.ClonePb.PerformanceData(this); buildPartialRepeatedFields(result); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartialRepeatedFields(com.google.apphosting.base.protos.ClonePb.PerformanceData result) { if (entriesBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0)) { entries_ = java.util.Collections.unmodifiableList(entries_); bitField0_ = (bitField0_ & ~0x00000001); } result.entries_ = entries_; } else { result.entries_ = entriesBuilder_.build(); } } private void buildPartial0(com.google.apphosting.base.protos.ClonePb.PerformanceData result) { int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000002) != 0)) { result.type_ = type_; to_bitField0_ |= 0x00000001; } result.bitField0_ |= to_bitField0_; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof com.google.apphosting.base.protos.ClonePb.PerformanceData) { return mergeFrom((com.google.apphosting.base.protos.ClonePb.PerformanceData)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(com.google.apphosting.base.protos.ClonePb.PerformanceData other) { if (other == com.google.apphosting.base.protos.ClonePb.PerformanceData.getDefaultInstance()) return this; if (entriesBuilder_ == null) { if (!other.entries_.isEmpty()) { if (entries_.isEmpty()) { entries_ = other.entries_; bitField0_ = (bitField0_ & ~0x00000001); } else { ensureEntriesIsMutable(); entries_.addAll(other.entries_); } onChanged(); } } else { if (!other.entries_.isEmpty()) { if (entriesBuilder_.isEmpty()) { entriesBuilder_.dispose(); entriesBuilder_ = null; entries_ = other.entries_; bitField0_ = (bitField0_ & ~0x00000001); entriesBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getEntriesFieldBuilder() : null; } else { entriesBuilder_.addAllMessages(other.entries_); } } } if (other.hasType()) { setType(other.getType()); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry m = input.readMessage( com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry.PARSER, extensionRegistry); if (entriesBuilder_ == null) { ensureEntriesIsMutable(); entries_.add(m); } else { entriesBuilder_.addMessage(m); } break; } // case 10 case 16: { int tmpRaw = input.readEnum(); com.google.apphosting.base.protos.ClonePb.PerformanceData.Type tmpValue = com.google.apphosting.base.protos.ClonePb.PerformanceData.Type.forNumber(tmpRaw); if (tmpValue == null) { mergeUnknownVarintField(2, tmpRaw); } else { type_ = tmpRaw; bitField0_ |= 0x00000002; } break; } // case 16 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private java.util.List entries_ = java.util.Collections.emptyList(); private void ensureEntriesIsMutable() { if (!((bitField0_ & 0x00000001) != 0)) { entries_ = new java.util.ArrayList(entries_); bitField0_ |= 0x00000001; } } private com.google.protobuf.RepeatedFieldBuilderV3< com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry, com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry.Builder, com.google.apphosting.base.protos.ClonePb.PerformanceData.EntryOrBuilder> entriesBuilder_; /** * repeated .java.apphosting.PerformanceData.Entry entries = 1; */ public java.util.List getEntriesList() { if (entriesBuilder_ == null) { return java.util.Collections.unmodifiableList(entries_); } else { return entriesBuilder_.getMessageList(); } } /** * repeated .java.apphosting.PerformanceData.Entry entries = 1; */ public int getEntriesCount() { if (entriesBuilder_ == null) { return entries_.size(); } else { return entriesBuilder_.getCount(); } } /** * repeated .java.apphosting.PerformanceData.Entry entries = 1; */ public com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry getEntries(int index) { if (entriesBuilder_ == null) { return entries_.get(index); } else { return entriesBuilder_.getMessage(index); } } /** * repeated .java.apphosting.PerformanceData.Entry entries = 1; */ public Builder setEntries( int index, com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry value) { if (entriesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureEntriesIsMutable(); entries_.set(index, value); onChanged(); } else { entriesBuilder_.setMessage(index, value); } return this; } /** * repeated .java.apphosting.PerformanceData.Entry entries = 1; */ public Builder setEntries( int index, com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry.Builder builderForValue) { if (entriesBuilder_ == null) { ensureEntriesIsMutable(); entries_.set(index, builderForValue.build()); onChanged(); } else { entriesBuilder_.setMessage(index, builderForValue.build()); } return this; } /** * repeated .java.apphosting.PerformanceData.Entry entries = 1; */ public Builder addEntries(com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry value) { if (entriesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureEntriesIsMutable(); entries_.add(value); onChanged(); } else { entriesBuilder_.addMessage(value); } return this; } /** * repeated .java.apphosting.PerformanceData.Entry entries = 1; */ public Builder addEntries( int index, com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry value) { if (entriesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureEntriesIsMutable(); entries_.add(index, value); onChanged(); } else { entriesBuilder_.addMessage(index, value); } return this; } /** * repeated .java.apphosting.PerformanceData.Entry entries = 1; */ public Builder addEntries( com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry.Builder builderForValue) { if (entriesBuilder_ == null) { ensureEntriesIsMutable(); entries_.add(builderForValue.build()); onChanged(); } else { entriesBuilder_.addMessage(builderForValue.build()); } return this; } /** * repeated .java.apphosting.PerformanceData.Entry entries = 1; */ public Builder addEntries( int index, com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry.Builder builderForValue) { if (entriesBuilder_ == null) { ensureEntriesIsMutable(); entries_.add(index, builderForValue.build()); onChanged(); } else { entriesBuilder_.addMessage(index, builderForValue.build()); } return this; } /** * repeated .java.apphosting.PerformanceData.Entry entries = 1; */ public Builder addAllEntries( java.lang.Iterable values) { if (entriesBuilder_ == null) { ensureEntriesIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, entries_); onChanged(); } else { entriesBuilder_.addAllMessages(values); } return this; } /** * repeated .java.apphosting.PerformanceData.Entry entries = 1; */ public Builder clearEntries() { if (entriesBuilder_ == null) { entries_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { entriesBuilder_.clear(); } return this; } /** * repeated .java.apphosting.PerformanceData.Entry entries = 1; */ public Builder removeEntries(int index) { if (entriesBuilder_ == null) { ensureEntriesIsMutable(); entries_.remove(index); onChanged(); } else { entriesBuilder_.remove(index); } return this; } /** * repeated .java.apphosting.PerformanceData.Entry entries = 1; */ public com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry.Builder getEntriesBuilder( int index) { return getEntriesFieldBuilder().getBuilder(index); } /** * repeated .java.apphosting.PerformanceData.Entry entries = 1; */ public com.google.apphosting.base.protos.ClonePb.PerformanceData.EntryOrBuilder getEntriesOrBuilder( int index) { if (entriesBuilder_ == null) { return entries_.get(index); } else { return entriesBuilder_.getMessageOrBuilder(index); } } /** * repeated .java.apphosting.PerformanceData.Entry entries = 1; */ public java.util.List getEntriesOrBuilderList() { if (entriesBuilder_ != null) { return entriesBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(entries_); } } /** * repeated .java.apphosting.PerformanceData.Entry entries = 1; */ public com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry.Builder addEntriesBuilder() { return getEntriesFieldBuilder().addBuilder( com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry.getDefaultInstance()); } /** * repeated .java.apphosting.PerformanceData.Entry entries = 1; */ public com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry.Builder addEntriesBuilder( int index) { return getEntriesFieldBuilder().addBuilder( index, com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry.getDefaultInstance()); } /** * repeated .java.apphosting.PerformanceData.Entry entries = 1; */ public java.util.List getEntriesBuilderList() { return getEntriesFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry, com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry.Builder, com.google.apphosting.base.protos.ClonePb.PerformanceData.EntryOrBuilder> getEntriesFieldBuilder() { if (entriesBuilder_ == null) { entriesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry, com.google.apphosting.base.protos.ClonePb.PerformanceData.Entry.Builder, com.google.apphosting.base.protos.ClonePb.PerformanceData.EntryOrBuilder>( entries_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); entries_ = null; } return entriesBuilder_; } private int type_ = 2; /** * optional .java.apphosting.PerformanceData.Type type = 2 [default = PERIODIC_SAMPLE]; * @return Whether the type field is set. */ @java.lang.Override public boolean hasType() { return ((bitField0_ & 0x00000002) != 0); } /** * optional .java.apphosting.PerformanceData.Type type = 2 [default = PERIODIC_SAMPLE]; * @return The type. */ @java.lang.Override public com.google.apphosting.base.protos.ClonePb.PerformanceData.Type getType() { com.google.apphosting.base.protos.ClonePb.PerformanceData.Type result = com.google.apphosting.base.protos.ClonePb.PerformanceData.Type.forNumber(type_); return result == null ? com.google.apphosting.base.protos.ClonePb.PerformanceData.Type.PERIODIC_SAMPLE : result; } /** * optional .java.apphosting.PerformanceData.Type type = 2 [default = PERIODIC_SAMPLE]; * @param value The type to set. * @return This builder for chaining. */ public Builder setType(com.google.apphosting.base.protos.ClonePb.PerformanceData.Type value) { if (value == null) { throw new NullPointerException(); } bitField0_ |= 0x00000002; type_ = value.getNumber(); onChanged(); return this; } /** * optional .java.apphosting.PerformanceData.Type type = 2 [default = PERIODIC_SAMPLE]; * @return This builder for chaining. */ public Builder clearType() { bitField0_ = (bitField0_ & ~0x00000002); type_ = 2; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:java.apphosting.PerformanceData) } // @@protoc_insertion_point(class_scope:java.apphosting.PerformanceData) private static final com.google.apphosting.base.protos.ClonePb.PerformanceData DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new com.google.apphosting.base.protos.ClonePb.PerformanceData(); } public static com.google.apphosting.base.protos.ClonePb.PerformanceData getDefaultInstance() { return DEFAULT_INSTANCE; } @java.lang.Deprecated public static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public PerformanceData parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public com.google.apphosting.base.protos.ClonePb.PerformanceData getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface ApiPackageDeadlinesOrBuilder extends // @@protoc_insertion_point(interface_extends:java.apphosting.ApiPackageDeadlines) com.google.protobuf.MessageOrBuilder { /** * required string api_package = 1; * @return Whether the apiPackage field is set. */ boolean hasApiPackage(); /** * required string api_package = 1; * @return The apiPackage. */ java.lang.String getApiPackage(); /** * required string api_package = 1; * @return The bytes for apiPackage. */ com.google.protobuf.ByteString getApiPackageBytes(); /** * optional double default_deadline_s = 2; * @return Whether the defaultDeadlineS field is set. */ boolean hasDefaultDeadlineS(); /** * optional double default_deadline_s = 2; * @return The defaultDeadlineS. */ double getDefaultDeadlineS(); /** * optional double max_deadline_s = 3; * @return Whether the maxDeadlineS field is set. */ boolean hasMaxDeadlineS(); /** * optional double max_deadline_s = 3; * @return The maxDeadlineS. */ double getMaxDeadlineS(); } /** *
   * Deadline settings for an api package.
   * Missing values imply that you should use the default.
   * 
* * Protobuf type {@code java.apphosting.ApiPackageDeadlines} */ public static final class ApiPackageDeadlines extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:java.apphosting.ApiPackageDeadlines) ApiPackageDeadlinesOrBuilder { private static final long serialVersionUID = 0L; // Use ApiPackageDeadlines.newBuilder() to construct. private ApiPackageDeadlines(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private ApiPackageDeadlines() { apiPackage_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new ApiPackageDeadlines(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_ApiPackageDeadlines_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_ApiPackageDeadlines_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.class, com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.Builder.class); } private int bitField0_; public static final int API_PACKAGE_FIELD_NUMBER = 1; @SuppressWarnings("serial") private volatile java.lang.Object apiPackage_ = ""; /** * required string api_package = 1; * @return Whether the apiPackage field is set. */ @java.lang.Override public boolean hasApiPackage() { return ((bitField0_ & 0x00000001) != 0); } /** * required string api_package = 1; * @return The apiPackage. */ @java.lang.Override public java.lang.String getApiPackage() { java.lang.Object ref = apiPackage_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); if (bs.isValidUtf8()) { apiPackage_ = s; } return s; } } /** * required string api_package = 1; * @return The bytes for apiPackage. */ @java.lang.Override public com.google.protobuf.ByteString getApiPackageBytes() { java.lang.Object ref = apiPackage_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); apiPackage_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int DEFAULT_DEADLINE_S_FIELD_NUMBER = 2; private double defaultDeadlineS_ = 0D; /** * optional double default_deadline_s = 2; * @return Whether the defaultDeadlineS field is set. */ @java.lang.Override public boolean hasDefaultDeadlineS() { return ((bitField0_ & 0x00000002) != 0); } /** * optional double default_deadline_s = 2; * @return The defaultDeadlineS. */ @java.lang.Override public double getDefaultDeadlineS() { return defaultDeadlineS_; } public static final int MAX_DEADLINE_S_FIELD_NUMBER = 3; private double maxDeadlineS_ = 0D; /** * optional double max_deadline_s = 3; * @return Whether the maxDeadlineS field is set. */ @java.lang.Override public boolean hasMaxDeadlineS() { return ((bitField0_ & 0x00000004) != 0); } /** * optional double max_deadline_s = 3; * @return The maxDeadlineS. */ @java.lang.Override public double getMaxDeadlineS() { return maxDeadlineS_; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; if (!hasApiPackage()) { memoizedIsInitialized = 0; return false; } memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (((bitField0_ & 0x00000001) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, apiPackage_); } if (((bitField0_ & 0x00000002) != 0)) { output.writeDouble(2, defaultDeadlineS_); } if (((bitField0_ & 0x00000004) != 0)) { output.writeDouble(3, maxDeadlineS_); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (((bitField0_ & 0x00000001) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, apiPackage_); } if (((bitField0_ & 0x00000002) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(2, defaultDeadlineS_); } if (((bitField0_ & 0x00000004) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(3, maxDeadlineS_); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines)) { return super.equals(obj); } com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines other = (com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines) obj; if (hasApiPackage() != other.hasApiPackage()) return false; if (hasApiPackage()) { if (!getApiPackage() .equals(other.getApiPackage())) return false; } if (hasDefaultDeadlineS() != other.hasDefaultDeadlineS()) return false; if (hasDefaultDeadlineS()) { if (java.lang.Double.doubleToLongBits(getDefaultDeadlineS()) != java.lang.Double.doubleToLongBits( other.getDefaultDeadlineS())) return false; } if (hasMaxDeadlineS() != other.hasMaxDeadlineS()) return false; if (hasMaxDeadlineS()) { if (java.lang.Double.doubleToLongBits(getMaxDeadlineS()) != java.lang.Double.doubleToLongBits( other.getMaxDeadlineS())) return false; } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasApiPackage()) { hash = (37 * hash) + API_PACKAGE_FIELD_NUMBER; hash = (53 * hash) + getApiPackage().hashCode(); } if (hasDefaultDeadlineS()) { hash = (37 * hash) + DEFAULT_DEADLINE_S_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getDefaultDeadlineS())); } if (hasMaxDeadlineS()) { hash = (37 * hash) + MAX_DEADLINE_S_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getMaxDeadlineS())); } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * Deadline settings for an api package.
     * Missing values imply that you should use the default.
     * 
* * Protobuf type {@code java.apphosting.ApiPackageDeadlines} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:java.apphosting.ApiPackageDeadlines) com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlinesOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_ApiPackageDeadlines_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_ApiPackageDeadlines_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.class, com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.Builder.class); } // Construct using com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.newBuilder() private Builder() { } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; apiPackage_ = ""; defaultDeadlineS_ = 0D; maxDeadlineS_ = 0D; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_ApiPackageDeadlines_descriptor; } @java.lang.Override public com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines getDefaultInstanceForType() { return com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.getDefaultInstance(); } @java.lang.Override public com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines build() { com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines buildPartial() { com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines result = new com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines(this); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartial0(com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines result) { int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { result.apiPackage_ = apiPackage_; to_bitField0_ |= 0x00000001; } if (((from_bitField0_ & 0x00000002) != 0)) { result.defaultDeadlineS_ = defaultDeadlineS_; to_bitField0_ |= 0x00000002; } if (((from_bitField0_ & 0x00000004) != 0)) { result.maxDeadlineS_ = maxDeadlineS_; to_bitField0_ |= 0x00000004; } result.bitField0_ |= to_bitField0_; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines) { return mergeFrom((com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines other) { if (other == com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.getDefaultInstance()) return this; if (other.hasApiPackage()) { apiPackage_ = other.apiPackage_; bitField0_ |= 0x00000001; onChanged(); } if (other.hasDefaultDeadlineS()) { setDefaultDeadlineS(other.getDefaultDeadlineS()); } if (other.hasMaxDeadlineS()) { setMaxDeadlineS(other.getMaxDeadlineS()); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { if (!hasApiPackage()) { return false; } return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { apiPackage_ = input.readBytes(); bitField0_ |= 0x00000001; break; } // case 10 case 17: { defaultDeadlineS_ = input.readDouble(); bitField0_ |= 0x00000002; break; } // case 17 case 25: { maxDeadlineS_ = input.readDouble(); bitField0_ |= 0x00000004; break; } // case 25 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private java.lang.Object apiPackage_ = ""; /** * required string api_package = 1; * @return Whether the apiPackage field is set. */ public boolean hasApiPackage() { return ((bitField0_ & 0x00000001) != 0); } /** * required string api_package = 1; * @return The apiPackage. */ public java.lang.String getApiPackage() { java.lang.Object ref = apiPackage_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); if (bs.isValidUtf8()) { apiPackage_ = s; } return s; } else { return (java.lang.String) ref; } } /** * required string api_package = 1; * @return The bytes for apiPackage. */ public com.google.protobuf.ByteString getApiPackageBytes() { java.lang.Object ref = apiPackage_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); apiPackage_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * required string api_package = 1; * @param value The apiPackage to set. * @return This builder for chaining. */ public Builder setApiPackage( java.lang.String value) { if (value == null) { throw new NullPointerException(); } apiPackage_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } /** * required string api_package = 1; * @return This builder for chaining. */ public Builder clearApiPackage() { apiPackage_ = getDefaultInstance().getApiPackage(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); return this; } /** * required string api_package = 1; * @param value The bytes for apiPackage to set. * @return This builder for chaining. */ public Builder setApiPackageBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } apiPackage_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } private double defaultDeadlineS_ ; /** * optional double default_deadline_s = 2; * @return Whether the defaultDeadlineS field is set. */ @java.lang.Override public boolean hasDefaultDeadlineS() { return ((bitField0_ & 0x00000002) != 0); } /** * optional double default_deadline_s = 2; * @return The defaultDeadlineS. */ @java.lang.Override public double getDefaultDeadlineS() { return defaultDeadlineS_; } /** * optional double default_deadline_s = 2; * @param value The defaultDeadlineS to set. * @return This builder for chaining. */ public Builder setDefaultDeadlineS(double value) { defaultDeadlineS_ = value; bitField0_ |= 0x00000002; onChanged(); return this; } /** * optional double default_deadline_s = 2; * @return This builder for chaining. */ public Builder clearDefaultDeadlineS() { bitField0_ = (bitField0_ & ~0x00000002); defaultDeadlineS_ = 0D; onChanged(); return this; } private double maxDeadlineS_ ; /** * optional double max_deadline_s = 3; * @return Whether the maxDeadlineS field is set. */ @java.lang.Override public boolean hasMaxDeadlineS() { return ((bitField0_ & 0x00000004) != 0); } /** * optional double max_deadline_s = 3; * @return The maxDeadlineS. */ @java.lang.Override public double getMaxDeadlineS() { return maxDeadlineS_; } /** * optional double max_deadline_s = 3; * @param value The maxDeadlineS to set. * @return This builder for chaining. */ public Builder setMaxDeadlineS(double value) { maxDeadlineS_ = value; bitField0_ |= 0x00000004; onChanged(); return this; } /** * optional double max_deadline_s = 3; * @return This builder for chaining. */ public Builder clearMaxDeadlineS() { bitField0_ = (bitField0_ & ~0x00000004); maxDeadlineS_ = 0D; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:java.apphosting.ApiPackageDeadlines) } // @@protoc_insertion_point(class_scope:java.apphosting.ApiPackageDeadlines) private static final com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines(); } public static com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines getDefaultInstance() { return DEFAULT_INSTANCE; } @java.lang.Deprecated public static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public ApiPackageDeadlines parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface CloneSettingsOrBuilder extends // @@protoc_insertion_point(interface_extends:java.apphosting.CloneSettings) com.google.protobuf.MessageOrBuilder { /** *
     * Max number of outstanding APIHost RPCs allowed on the Stubby channel.
     * 
* * optional int32 max_outstanding_api_rpcs = 3; * @return Whether the maxOutstandingApiRpcs field is set. */ boolean hasMaxOutstandingApiRpcs(); /** *
     * Max number of outstanding APIHost RPCs allowed on the Stubby channel.
     * 
* * optional int32 max_outstanding_api_rpcs = 3; * @return The maxOutstandingApiRpcs. */ int getMaxOutstandingApiRpcs(); /** *
     * API call deadline settings for online requests.
     * 
* * repeated .java.apphosting.ApiPackageDeadlines api_call_deadlines = 4; */ java.util.List getApiCallDeadlinesList(); /** *
     * API call deadline settings for online requests.
     * 
* * repeated .java.apphosting.ApiPackageDeadlines api_call_deadlines = 4; */ com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines getApiCallDeadlines(int index); /** *
     * API call deadline settings for online requests.
     * 
* * repeated .java.apphosting.ApiPackageDeadlines api_call_deadlines = 4; */ int getApiCallDeadlinesCount(); /** *
     * API call deadline settings for online requests.
     * 
* * repeated .java.apphosting.ApiPackageDeadlines api_call_deadlines = 4; */ java.util.List getApiCallDeadlinesOrBuilderList(); /** *
     * API call deadline settings for online requests.
     * 
* * repeated .java.apphosting.ApiPackageDeadlines api_call_deadlines = 4; */ com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlinesOrBuilder getApiCallDeadlinesOrBuilder( int index); /** *
     * API call deadline settings for offline requests.
     * 
* * repeated .java.apphosting.ApiPackageDeadlines offline_api_call_deadlines = 6; */ java.util.List getOfflineApiCallDeadlinesList(); /** *
     * API call deadline settings for offline requests.
     * 
* * repeated .java.apphosting.ApiPackageDeadlines offline_api_call_deadlines = 6; */ com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines getOfflineApiCallDeadlines(int index); /** *
     * API call deadline settings for offline requests.
     * 
* * repeated .java.apphosting.ApiPackageDeadlines offline_api_call_deadlines = 6; */ int getOfflineApiCallDeadlinesCount(); /** *
     * API call deadline settings for offline requests.
     * 
* * repeated .java.apphosting.ApiPackageDeadlines offline_api_call_deadlines = 6; */ java.util.List getOfflineApiCallDeadlinesOrBuilderList(); /** *
     * API call deadline settings for offline requests.
     * 
* * repeated .java.apphosting.ApiPackageDeadlines offline_api_call_deadlines = 6; */ com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlinesOrBuilder getOfflineApiCallDeadlinesOrBuilder( int index); /** *
     * Publicly exposed mostly-unique identifier for this clone. See clone.proto
     * for more details on how this works.
     * 
* * optional bytes clone_key = 14; * @return Whether the cloneKey field is set. */ boolean hasCloneKey(); /** *
     * Publicly exposed mostly-unique identifier for this clone. See clone.proto
     * for more details on how this works.
     * 
* * optional bytes clone_key = 14; * @return The cloneKey. */ com.google.protobuf.ByteString getCloneKey(); /** *
     * Settings for starting a clone intended to create a snapshot.
     * 
* * optional .java.apphosting.SnapshotSettings snapshot_settings = 20; * @return Whether the snapshotSettings field is set. */ boolean hasSnapshotSettings(); /** *
     * Settings for starting a clone intended to create a snapshot.
     * 
* * optional .java.apphosting.SnapshotSettings snapshot_settings = 20; * @return The snapshotSettings. */ com.google.apphosting.base.protos.ClonePb.SnapshotSettings getSnapshotSettings(); /** *
     * Settings for starting a clone intended to create a snapshot.
     * 
* * optional .java.apphosting.SnapshotSettings snapshot_settings = 20; */ com.google.apphosting.base.protos.ClonePb.SnapshotSettingsOrBuilder getSnapshotSettingsOrBuilder(); } /** *
   * Settings intended for a clone to implement.
   * Next tag: 21
   * 
* * Protobuf type {@code java.apphosting.CloneSettings} */ public static final class CloneSettings extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:java.apphosting.CloneSettings) CloneSettingsOrBuilder { private static final long serialVersionUID = 0L; // Use CloneSettings.newBuilder() to construct. private CloneSettings(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private CloneSettings() { apiCallDeadlines_ = java.util.Collections.emptyList(); offlineApiCallDeadlines_ = java.util.Collections.emptyList(); cloneKey_ = com.google.protobuf.ByteString.EMPTY; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new CloneSettings(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_CloneSettings_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_CloneSettings_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.apphosting.base.protos.ClonePb.CloneSettings.class, com.google.apphosting.base.protos.ClonePb.CloneSettings.Builder.class); } private int bitField0_; public static final int MAX_OUTSTANDING_API_RPCS_FIELD_NUMBER = 3; private int maxOutstandingApiRpcs_ = 0; /** *
     * Max number of outstanding APIHost RPCs allowed on the Stubby channel.
     * 
* * optional int32 max_outstanding_api_rpcs = 3; * @return Whether the maxOutstandingApiRpcs field is set. */ @java.lang.Override public boolean hasMaxOutstandingApiRpcs() { return ((bitField0_ & 0x00000001) != 0); } /** *
     * Max number of outstanding APIHost RPCs allowed on the Stubby channel.
     * 
* * optional int32 max_outstanding_api_rpcs = 3; * @return The maxOutstandingApiRpcs. */ @java.lang.Override public int getMaxOutstandingApiRpcs() { return maxOutstandingApiRpcs_; } public static final int API_CALL_DEADLINES_FIELD_NUMBER = 4; @SuppressWarnings("serial") private java.util.List apiCallDeadlines_; /** *
     * API call deadline settings for online requests.
     * 
* * repeated .java.apphosting.ApiPackageDeadlines api_call_deadlines = 4; */ @java.lang.Override public java.util.List getApiCallDeadlinesList() { return apiCallDeadlines_; } /** *
     * API call deadline settings for online requests.
     * 
* * repeated .java.apphosting.ApiPackageDeadlines api_call_deadlines = 4; */ @java.lang.Override public java.util.List getApiCallDeadlinesOrBuilderList() { return apiCallDeadlines_; } /** *
     * API call deadline settings for online requests.
     * 
* * repeated .java.apphosting.ApiPackageDeadlines api_call_deadlines = 4; */ @java.lang.Override public int getApiCallDeadlinesCount() { return apiCallDeadlines_.size(); } /** *
     * API call deadline settings for online requests.
     * 
* * repeated .java.apphosting.ApiPackageDeadlines api_call_deadlines = 4; */ @java.lang.Override public com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines getApiCallDeadlines(int index) { return apiCallDeadlines_.get(index); } /** *
     * API call deadline settings for online requests.
     * 
* * repeated .java.apphosting.ApiPackageDeadlines api_call_deadlines = 4; */ @java.lang.Override public com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlinesOrBuilder getApiCallDeadlinesOrBuilder( int index) { return apiCallDeadlines_.get(index); } public static final int OFFLINE_API_CALL_DEADLINES_FIELD_NUMBER = 6; @SuppressWarnings("serial") private java.util.List offlineApiCallDeadlines_; /** *
     * API call deadline settings for offline requests.
     * 
* * repeated .java.apphosting.ApiPackageDeadlines offline_api_call_deadlines = 6; */ @java.lang.Override public java.util.List getOfflineApiCallDeadlinesList() { return offlineApiCallDeadlines_; } /** *
     * API call deadline settings for offline requests.
     * 
* * repeated .java.apphosting.ApiPackageDeadlines offline_api_call_deadlines = 6; */ @java.lang.Override public java.util.List getOfflineApiCallDeadlinesOrBuilderList() { return offlineApiCallDeadlines_; } /** *
     * API call deadline settings for offline requests.
     * 
* * repeated .java.apphosting.ApiPackageDeadlines offline_api_call_deadlines = 6; */ @java.lang.Override public int getOfflineApiCallDeadlinesCount() { return offlineApiCallDeadlines_.size(); } /** *
     * API call deadline settings for offline requests.
     * 
* * repeated .java.apphosting.ApiPackageDeadlines offline_api_call_deadlines = 6; */ @java.lang.Override public com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines getOfflineApiCallDeadlines(int index) { return offlineApiCallDeadlines_.get(index); } /** *
     * API call deadline settings for offline requests.
     * 
* * repeated .java.apphosting.ApiPackageDeadlines offline_api_call_deadlines = 6; */ @java.lang.Override public com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlinesOrBuilder getOfflineApiCallDeadlinesOrBuilder( int index) { return offlineApiCallDeadlines_.get(index); } public static final int CLONE_KEY_FIELD_NUMBER = 14; private com.google.protobuf.ByteString cloneKey_ = com.google.protobuf.ByteString.EMPTY; /** *
     * Publicly exposed mostly-unique identifier for this clone. See clone.proto
     * for more details on how this works.
     * 
* * optional bytes clone_key = 14; * @return Whether the cloneKey field is set. */ @java.lang.Override public boolean hasCloneKey() { return ((bitField0_ & 0x00000002) != 0); } /** *
     * Publicly exposed mostly-unique identifier for this clone. See clone.proto
     * for more details on how this works.
     * 
* * optional bytes clone_key = 14; * @return The cloneKey. */ @java.lang.Override public com.google.protobuf.ByteString getCloneKey() { return cloneKey_; } public static final int SNAPSHOT_SETTINGS_FIELD_NUMBER = 20; private com.google.apphosting.base.protos.ClonePb.SnapshotSettings snapshotSettings_; /** *
     * Settings for starting a clone intended to create a snapshot.
     * 
* * optional .java.apphosting.SnapshotSettings snapshot_settings = 20; * @return Whether the snapshotSettings field is set. */ @java.lang.Override public boolean hasSnapshotSettings() { return ((bitField0_ & 0x00000004) != 0); } /** *
     * Settings for starting a clone intended to create a snapshot.
     * 
* * optional .java.apphosting.SnapshotSettings snapshot_settings = 20; * @return The snapshotSettings. */ @java.lang.Override public com.google.apphosting.base.protos.ClonePb.SnapshotSettings getSnapshotSettings() { return snapshotSettings_ == null ? com.google.apphosting.base.protos.ClonePb.SnapshotSettings.getDefaultInstance() : snapshotSettings_; } /** *
     * Settings for starting a clone intended to create a snapshot.
     * 
* * optional .java.apphosting.SnapshotSettings snapshot_settings = 20; */ @java.lang.Override public com.google.apphosting.base.protos.ClonePb.SnapshotSettingsOrBuilder getSnapshotSettingsOrBuilder() { return snapshotSettings_ == null ? com.google.apphosting.base.protos.ClonePb.SnapshotSettings.getDefaultInstance() : snapshotSettings_; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; for (int i = 0; i < getApiCallDeadlinesCount(); i++) { if (!getApiCallDeadlines(i).isInitialized()) { memoizedIsInitialized = 0; return false; } } for (int i = 0; i < getOfflineApiCallDeadlinesCount(); i++) { if (!getOfflineApiCallDeadlines(i).isInitialized()) { memoizedIsInitialized = 0; return false; } } memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (((bitField0_ & 0x00000001) != 0)) { output.writeInt32(3, maxOutstandingApiRpcs_); } for (int i = 0; i < apiCallDeadlines_.size(); i++) { output.writeMessage(4, apiCallDeadlines_.get(i)); } for (int i = 0; i < offlineApiCallDeadlines_.size(); i++) { output.writeMessage(6, offlineApiCallDeadlines_.get(i)); } if (((bitField0_ & 0x00000002) != 0)) { output.writeBytes(14, cloneKey_); } if (((bitField0_ & 0x00000004) != 0)) { output.writeMessage(20, getSnapshotSettings()); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (((bitField0_ & 0x00000001) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(3, maxOutstandingApiRpcs_); } for (int i = 0; i < apiCallDeadlines_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(4, apiCallDeadlines_.get(i)); } for (int i = 0; i < offlineApiCallDeadlines_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(6, offlineApiCallDeadlines_.get(i)); } if (((bitField0_ & 0x00000002) != 0)) { size += com.google.protobuf.CodedOutputStream .computeBytesSize(14, cloneKey_); } if (((bitField0_ & 0x00000004) != 0)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(20, getSnapshotSettings()); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof com.google.apphosting.base.protos.ClonePb.CloneSettings)) { return super.equals(obj); } com.google.apphosting.base.protos.ClonePb.CloneSettings other = (com.google.apphosting.base.protos.ClonePb.CloneSettings) obj; if (hasMaxOutstandingApiRpcs() != other.hasMaxOutstandingApiRpcs()) return false; if (hasMaxOutstandingApiRpcs()) { if (getMaxOutstandingApiRpcs() != other.getMaxOutstandingApiRpcs()) return false; } if (!getApiCallDeadlinesList() .equals(other.getApiCallDeadlinesList())) return false; if (!getOfflineApiCallDeadlinesList() .equals(other.getOfflineApiCallDeadlinesList())) return false; if (hasCloneKey() != other.hasCloneKey()) return false; if (hasCloneKey()) { if (!getCloneKey() .equals(other.getCloneKey())) return false; } if (hasSnapshotSettings() != other.hasSnapshotSettings()) return false; if (hasSnapshotSettings()) { if (!getSnapshotSettings() .equals(other.getSnapshotSettings())) return false; } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasMaxOutstandingApiRpcs()) { hash = (37 * hash) + MAX_OUTSTANDING_API_RPCS_FIELD_NUMBER; hash = (53 * hash) + getMaxOutstandingApiRpcs(); } if (getApiCallDeadlinesCount() > 0) { hash = (37 * hash) + API_CALL_DEADLINES_FIELD_NUMBER; hash = (53 * hash) + getApiCallDeadlinesList().hashCode(); } if (getOfflineApiCallDeadlinesCount() > 0) { hash = (37 * hash) + OFFLINE_API_CALL_DEADLINES_FIELD_NUMBER; hash = (53 * hash) + getOfflineApiCallDeadlinesList().hashCode(); } if (hasCloneKey()) { hash = (37 * hash) + CLONE_KEY_FIELD_NUMBER; hash = (53 * hash) + getCloneKey().hashCode(); } if (hasSnapshotSettings()) { hash = (37 * hash) + SNAPSHOT_SETTINGS_FIELD_NUMBER; hash = (53 * hash) + getSnapshotSettings().hashCode(); } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static com.google.apphosting.base.protos.ClonePb.CloneSettings parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apphosting.base.protos.ClonePb.CloneSettings parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.CloneSettings parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apphosting.base.protos.ClonePb.CloneSettings parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.CloneSettings parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apphosting.base.protos.ClonePb.CloneSettings parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.CloneSettings parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.google.apphosting.base.protos.ClonePb.CloneSettings parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.CloneSettings parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static com.google.apphosting.base.protos.ClonePb.CloneSettings parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.CloneSettings parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.google.apphosting.base.protos.ClonePb.CloneSettings parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(com.google.apphosting.base.protos.ClonePb.CloneSettings prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * Settings intended for a clone to implement.
     * Next tag: 21
     * 
* * Protobuf type {@code java.apphosting.CloneSettings} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:java.apphosting.CloneSettings) com.google.apphosting.base.protos.ClonePb.CloneSettingsOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_CloneSettings_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_CloneSettings_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.apphosting.base.protos.ClonePb.CloneSettings.class, com.google.apphosting.base.protos.ClonePb.CloneSettings.Builder.class); } // Construct using com.google.apphosting.base.protos.ClonePb.CloneSettings.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { getApiCallDeadlinesFieldBuilder(); getOfflineApiCallDeadlinesFieldBuilder(); getSnapshotSettingsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; maxOutstandingApiRpcs_ = 0; if (apiCallDeadlinesBuilder_ == null) { apiCallDeadlines_ = java.util.Collections.emptyList(); } else { apiCallDeadlines_ = null; apiCallDeadlinesBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000002); if (offlineApiCallDeadlinesBuilder_ == null) { offlineApiCallDeadlines_ = java.util.Collections.emptyList(); } else { offlineApiCallDeadlines_ = null; offlineApiCallDeadlinesBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000004); cloneKey_ = com.google.protobuf.ByteString.EMPTY; snapshotSettings_ = null; if (snapshotSettingsBuilder_ != null) { snapshotSettingsBuilder_.dispose(); snapshotSettingsBuilder_ = null; } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_CloneSettings_descriptor; } @java.lang.Override public com.google.apphosting.base.protos.ClonePb.CloneSettings getDefaultInstanceForType() { return com.google.apphosting.base.protos.ClonePb.CloneSettings.getDefaultInstance(); } @java.lang.Override public com.google.apphosting.base.protos.ClonePb.CloneSettings build() { com.google.apphosting.base.protos.ClonePb.CloneSettings result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public com.google.apphosting.base.protos.ClonePb.CloneSettings buildPartial() { com.google.apphosting.base.protos.ClonePb.CloneSettings result = new com.google.apphosting.base.protos.ClonePb.CloneSettings(this); buildPartialRepeatedFields(result); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartialRepeatedFields(com.google.apphosting.base.protos.ClonePb.CloneSettings result) { if (apiCallDeadlinesBuilder_ == null) { if (((bitField0_ & 0x00000002) != 0)) { apiCallDeadlines_ = java.util.Collections.unmodifiableList(apiCallDeadlines_); bitField0_ = (bitField0_ & ~0x00000002); } result.apiCallDeadlines_ = apiCallDeadlines_; } else { result.apiCallDeadlines_ = apiCallDeadlinesBuilder_.build(); } if (offlineApiCallDeadlinesBuilder_ == null) { if (((bitField0_ & 0x00000004) != 0)) { offlineApiCallDeadlines_ = java.util.Collections.unmodifiableList(offlineApiCallDeadlines_); bitField0_ = (bitField0_ & ~0x00000004); } result.offlineApiCallDeadlines_ = offlineApiCallDeadlines_; } else { result.offlineApiCallDeadlines_ = offlineApiCallDeadlinesBuilder_.build(); } } private void buildPartial0(com.google.apphosting.base.protos.ClonePb.CloneSettings result) { int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { result.maxOutstandingApiRpcs_ = maxOutstandingApiRpcs_; to_bitField0_ |= 0x00000001; } if (((from_bitField0_ & 0x00000008) != 0)) { result.cloneKey_ = cloneKey_; to_bitField0_ |= 0x00000002; } if (((from_bitField0_ & 0x00000010) != 0)) { result.snapshotSettings_ = snapshotSettingsBuilder_ == null ? snapshotSettings_ : snapshotSettingsBuilder_.build(); to_bitField0_ |= 0x00000004; } result.bitField0_ |= to_bitField0_; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof com.google.apphosting.base.protos.ClonePb.CloneSettings) { return mergeFrom((com.google.apphosting.base.protos.ClonePb.CloneSettings)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(com.google.apphosting.base.protos.ClonePb.CloneSettings other) { if (other == com.google.apphosting.base.protos.ClonePb.CloneSettings.getDefaultInstance()) return this; if (other.hasMaxOutstandingApiRpcs()) { setMaxOutstandingApiRpcs(other.getMaxOutstandingApiRpcs()); } if (apiCallDeadlinesBuilder_ == null) { if (!other.apiCallDeadlines_.isEmpty()) { if (apiCallDeadlines_.isEmpty()) { apiCallDeadlines_ = other.apiCallDeadlines_; bitField0_ = (bitField0_ & ~0x00000002); } else { ensureApiCallDeadlinesIsMutable(); apiCallDeadlines_.addAll(other.apiCallDeadlines_); } onChanged(); } } else { if (!other.apiCallDeadlines_.isEmpty()) { if (apiCallDeadlinesBuilder_.isEmpty()) { apiCallDeadlinesBuilder_.dispose(); apiCallDeadlinesBuilder_ = null; apiCallDeadlines_ = other.apiCallDeadlines_; bitField0_ = (bitField0_ & ~0x00000002); apiCallDeadlinesBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getApiCallDeadlinesFieldBuilder() : null; } else { apiCallDeadlinesBuilder_.addAllMessages(other.apiCallDeadlines_); } } } if (offlineApiCallDeadlinesBuilder_ == null) { if (!other.offlineApiCallDeadlines_.isEmpty()) { if (offlineApiCallDeadlines_.isEmpty()) { offlineApiCallDeadlines_ = other.offlineApiCallDeadlines_; bitField0_ = (bitField0_ & ~0x00000004); } else { ensureOfflineApiCallDeadlinesIsMutable(); offlineApiCallDeadlines_.addAll(other.offlineApiCallDeadlines_); } onChanged(); } } else { if (!other.offlineApiCallDeadlines_.isEmpty()) { if (offlineApiCallDeadlinesBuilder_.isEmpty()) { offlineApiCallDeadlinesBuilder_.dispose(); offlineApiCallDeadlinesBuilder_ = null; offlineApiCallDeadlines_ = other.offlineApiCallDeadlines_; bitField0_ = (bitField0_ & ~0x00000004); offlineApiCallDeadlinesBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getOfflineApiCallDeadlinesFieldBuilder() : null; } else { offlineApiCallDeadlinesBuilder_.addAllMessages(other.offlineApiCallDeadlines_); } } } if (other.hasCloneKey()) { setCloneKey(other.getCloneKey()); } if (other.hasSnapshotSettings()) { mergeSnapshotSettings(other.getSnapshotSettings()); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { for (int i = 0; i < getApiCallDeadlinesCount(); i++) { if (!getApiCallDeadlines(i).isInitialized()) { return false; } } for (int i = 0; i < getOfflineApiCallDeadlinesCount(); i++) { if (!getOfflineApiCallDeadlines(i).isInitialized()) { return false; } } return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 24: { maxOutstandingApiRpcs_ = input.readInt32(); bitField0_ |= 0x00000001; break; } // case 24 case 34: { com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines m = input.readMessage( com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.PARSER, extensionRegistry); if (apiCallDeadlinesBuilder_ == null) { ensureApiCallDeadlinesIsMutable(); apiCallDeadlines_.add(m); } else { apiCallDeadlinesBuilder_.addMessage(m); } break; } // case 34 case 50: { com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines m = input.readMessage( com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.PARSER, extensionRegistry); if (offlineApiCallDeadlinesBuilder_ == null) { ensureOfflineApiCallDeadlinesIsMutable(); offlineApiCallDeadlines_.add(m); } else { offlineApiCallDeadlinesBuilder_.addMessage(m); } break; } // case 50 case 114: { cloneKey_ = input.readBytes(); bitField0_ |= 0x00000008; break; } // case 114 case 162: { input.readMessage( getSnapshotSettingsFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000010; break; } // case 162 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private int maxOutstandingApiRpcs_ ; /** *
       * Max number of outstanding APIHost RPCs allowed on the Stubby channel.
       * 
* * optional int32 max_outstanding_api_rpcs = 3; * @return Whether the maxOutstandingApiRpcs field is set. */ @java.lang.Override public boolean hasMaxOutstandingApiRpcs() { return ((bitField0_ & 0x00000001) != 0); } /** *
       * Max number of outstanding APIHost RPCs allowed on the Stubby channel.
       * 
* * optional int32 max_outstanding_api_rpcs = 3; * @return The maxOutstandingApiRpcs. */ @java.lang.Override public int getMaxOutstandingApiRpcs() { return maxOutstandingApiRpcs_; } /** *
       * Max number of outstanding APIHost RPCs allowed on the Stubby channel.
       * 
* * optional int32 max_outstanding_api_rpcs = 3; * @param value The maxOutstandingApiRpcs to set. * @return This builder for chaining. */ public Builder setMaxOutstandingApiRpcs(int value) { maxOutstandingApiRpcs_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } /** *
       * Max number of outstanding APIHost RPCs allowed on the Stubby channel.
       * 
* * optional int32 max_outstanding_api_rpcs = 3; * @return This builder for chaining. */ public Builder clearMaxOutstandingApiRpcs() { bitField0_ = (bitField0_ & ~0x00000001); maxOutstandingApiRpcs_ = 0; onChanged(); return this; } private java.util.List apiCallDeadlines_ = java.util.Collections.emptyList(); private void ensureApiCallDeadlinesIsMutable() { if (!((bitField0_ & 0x00000002) != 0)) { apiCallDeadlines_ = new java.util.ArrayList(apiCallDeadlines_); bitField0_ |= 0x00000002; } } private com.google.protobuf.RepeatedFieldBuilderV3< com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines, com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.Builder, com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlinesOrBuilder> apiCallDeadlinesBuilder_; /** *
       * API call deadline settings for online requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines api_call_deadlines = 4; */ public java.util.List getApiCallDeadlinesList() { if (apiCallDeadlinesBuilder_ == null) { return java.util.Collections.unmodifiableList(apiCallDeadlines_); } else { return apiCallDeadlinesBuilder_.getMessageList(); } } /** *
       * API call deadline settings for online requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines api_call_deadlines = 4; */ public int getApiCallDeadlinesCount() { if (apiCallDeadlinesBuilder_ == null) { return apiCallDeadlines_.size(); } else { return apiCallDeadlinesBuilder_.getCount(); } } /** *
       * API call deadline settings for online requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines api_call_deadlines = 4; */ public com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines getApiCallDeadlines(int index) { if (apiCallDeadlinesBuilder_ == null) { return apiCallDeadlines_.get(index); } else { return apiCallDeadlinesBuilder_.getMessage(index); } } /** *
       * API call deadline settings for online requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines api_call_deadlines = 4; */ public Builder setApiCallDeadlines( int index, com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines value) { if (apiCallDeadlinesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureApiCallDeadlinesIsMutable(); apiCallDeadlines_.set(index, value); onChanged(); } else { apiCallDeadlinesBuilder_.setMessage(index, value); } return this; } /** *
       * API call deadline settings for online requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines api_call_deadlines = 4; */ public Builder setApiCallDeadlines( int index, com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.Builder builderForValue) { if (apiCallDeadlinesBuilder_ == null) { ensureApiCallDeadlinesIsMutable(); apiCallDeadlines_.set(index, builderForValue.build()); onChanged(); } else { apiCallDeadlinesBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
       * API call deadline settings for online requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines api_call_deadlines = 4; */ public Builder addApiCallDeadlines(com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines value) { if (apiCallDeadlinesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureApiCallDeadlinesIsMutable(); apiCallDeadlines_.add(value); onChanged(); } else { apiCallDeadlinesBuilder_.addMessage(value); } return this; } /** *
       * API call deadline settings for online requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines api_call_deadlines = 4; */ public Builder addApiCallDeadlines( int index, com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines value) { if (apiCallDeadlinesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureApiCallDeadlinesIsMutable(); apiCallDeadlines_.add(index, value); onChanged(); } else { apiCallDeadlinesBuilder_.addMessage(index, value); } return this; } /** *
       * API call deadline settings for online requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines api_call_deadlines = 4; */ public Builder addApiCallDeadlines( com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.Builder builderForValue) { if (apiCallDeadlinesBuilder_ == null) { ensureApiCallDeadlinesIsMutable(); apiCallDeadlines_.add(builderForValue.build()); onChanged(); } else { apiCallDeadlinesBuilder_.addMessage(builderForValue.build()); } return this; } /** *
       * API call deadline settings for online requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines api_call_deadlines = 4; */ public Builder addApiCallDeadlines( int index, com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.Builder builderForValue) { if (apiCallDeadlinesBuilder_ == null) { ensureApiCallDeadlinesIsMutable(); apiCallDeadlines_.add(index, builderForValue.build()); onChanged(); } else { apiCallDeadlinesBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
       * API call deadline settings for online requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines api_call_deadlines = 4; */ public Builder addAllApiCallDeadlines( java.lang.Iterable values) { if (apiCallDeadlinesBuilder_ == null) { ensureApiCallDeadlinesIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, apiCallDeadlines_); onChanged(); } else { apiCallDeadlinesBuilder_.addAllMessages(values); } return this; } /** *
       * API call deadline settings for online requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines api_call_deadlines = 4; */ public Builder clearApiCallDeadlines() { if (apiCallDeadlinesBuilder_ == null) { apiCallDeadlines_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); onChanged(); } else { apiCallDeadlinesBuilder_.clear(); } return this; } /** *
       * API call deadline settings for online requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines api_call_deadlines = 4; */ public Builder removeApiCallDeadlines(int index) { if (apiCallDeadlinesBuilder_ == null) { ensureApiCallDeadlinesIsMutable(); apiCallDeadlines_.remove(index); onChanged(); } else { apiCallDeadlinesBuilder_.remove(index); } return this; } /** *
       * API call deadline settings for online requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines api_call_deadlines = 4; */ public com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.Builder getApiCallDeadlinesBuilder( int index) { return getApiCallDeadlinesFieldBuilder().getBuilder(index); } /** *
       * API call deadline settings for online requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines api_call_deadlines = 4; */ public com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlinesOrBuilder getApiCallDeadlinesOrBuilder( int index) { if (apiCallDeadlinesBuilder_ == null) { return apiCallDeadlines_.get(index); } else { return apiCallDeadlinesBuilder_.getMessageOrBuilder(index); } } /** *
       * API call deadline settings for online requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines api_call_deadlines = 4; */ public java.util.List getApiCallDeadlinesOrBuilderList() { if (apiCallDeadlinesBuilder_ != null) { return apiCallDeadlinesBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(apiCallDeadlines_); } } /** *
       * API call deadline settings for online requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines api_call_deadlines = 4; */ public com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.Builder addApiCallDeadlinesBuilder() { return getApiCallDeadlinesFieldBuilder().addBuilder( com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.getDefaultInstance()); } /** *
       * API call deadline settings for online requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines api_call_deadlines = 4; */ public com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.Builder addApiCallDeadlinesBuilder( int index) { return getApiCallDeadlinesFieldBuilder().addBuilder( index, com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.getDefaultInstance()); } /** *
       * API call deadline settings for online requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines api_call_deadlines = 4; */ public java.util.List getApiCallDeadlinesBuilderList() { return getApiCallDeadlinesFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines, com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.Builder, com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlinesOrBuilder> getApiCallDeadlinesFieldBuilder() { if (apiCallDeadlinesBuilder_ == null) { apiCallDeadlinesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines, com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.Builder, com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlinesOrBuilder>( apiCallDeadlines_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean()); apiCallDeadlines_ = null; } return apiCallDeadlinesBuilder_; } private java.util.List offlineApiCallDeadlines_ = java.util.Collections.emptyList(); private void ensureOfflineApiCallDeadlinesIsMutable() { if (!((bitField0_ & 0x00000004) != 0)) { offlineApiCallDeadlines_ = new java.util.ArrayList(offlineApiCallDeadlines_); bitField0_ |= 0x00000004; } } private com.google.protobuf.RepeatedFieldBuilderV3< com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines, com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.Builder, com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlinesOrBuilder> offlineApiCallDeadlinesBuilder_; /** *
       * API call deadline settings for offline requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines offline_api_call_deadlines = 6; */ public java.util.List getOfflineApiCallDeadlinesList() { if (offlineApiCallDeadlinesBuilder_ == null) { return java.util.Collections.unmodifiableList(offlineApiCallDeadlines_); } else { return offlineApiCallDeadlinesBuilder_.getMessageList(); } } /** *
       * API call deadline settings for offline requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines offline_api_call_deadlines = 6; */ public int getOfflineApiCallDeadlinesCount() { if (offlineApiCallDeadlinesBuilder_ == null) { return offlineApiCallDeadlines_.size(); } else { return offlineApiCallDeadlinesBuilder_.getCount(); } } /** *
       * API call deadline settings for offline requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines offline_api_call_deadlines = 6; */ public com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines getOfflineApiCallDeadlines(int index) { if (offlineApiCallDeadlinesBuilder_ == null) { return offlineApiCallDeadlines_.get(index); } else { return offlineApiCallDeadlinesBuilder_.getMessage(index); } } /** *
       * API call deadline settings for offline requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines offline_api_call_deadlines = 6; */ public Builder setOfflineApiCallDeadlines( int index, com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines value) { if (offlineApiCallDeadlinesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureOfflineApiCallDeadlinesIsMutable(); offlineApiCallDeadlines_.set(index, value); onChanged(); } else { offlineApiCallDeadlinesBuilder_.setMessage(index, value); } return this; } /** *
       * API call deadline settings for offline requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines offline_api_call_deadlines = 6; */ public Builder setOfflineApiCallDeadlines( int index, com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.Builder builderForValue) { if (offlineApiCallDeadlinesBuilder_ == null) { ensureOfflineApiCallDeadlinesIsMutable(); offlineApiCallDeadlines_.set(index, builderForValue.build()); onChanged(); } else { offlineApiCallDeadlinesBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
       * API call deadline settings for offline requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines offline_api_call_deadlines = 6; */ public Builder addOfflineApiCallDeadlines(com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines value) { if (offlineApiCallDeadlinesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureOfflineApiCallDeadlinesIsMutable(); offlineApiCallDeadlines_.add(value); onChanged(); } else { offlineApiCallDeadlinesBuilder_.addMessage(value); } return this; } /** *
       * API call deadline settings for offline requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines offline_api_call_deadlines = 6; */ public Builder addOfflineApiCallDeadlines( int index, com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines value) { if (offlineApiCallDeadlinesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureOfflineApiCallDeadlinesIsMutable(); offlineApiCallDeadlines_.add(index, value); onChanged(); } else { offlineApiCallDeadlinesBuilder_.addMessage(index, value); } return this; } /** *
       * API call deadline settings for offline requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines offline_api_call_deadlines = 6; */ public Builder addOfflineApiCallDeadlines( com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.Builder builderForValue) { if (offlineApiCallDeadlinesBuilder_ == null) { ensureOfflineApiCallDeadlinesIsMutable(); offlineApiCallDeadlines_.add(builderForValue.build()); onChanged(); } else { offlineApiCallDeadlinesBuilder_.addMessage(builderForValue.build()); } return this; } /** *
       * API call deadline settings for offline requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines offline_api_call_deadlines = 6; */ public Builder addOfflineApiCallDeadlines( int index, com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.Builder builderForValue) { if (offlineApiCallDeadlinesBuilder_ == null) { ensureOfflineApiCallDeadlinesIsMutable(); offlineApiCallDeadlines_.add(index, builderForValue.build()); onChanged(); } else { offlineApiCallDeadlinesBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
       * API call deadline settings for offline requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines offline_api_call_deadlines = 6; */ public Builder addAllOfflineApiCallDeadlines( java.lang.Iterable values) { if (offlineApiCallDeadlinesBuilder_ == null) { ensureOfflineApiCallDeadlinesIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, offlineApiCallDeadlines_); onChanged(); } else { offlineApiCallDeadlinesBuilder_.addAllMessages(values); } return this; } /** *
       * API call deadline settings for offline requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines offline_api_call_deadlines = 6; */ public Builder clearOfflineApiCallDeadlines() { if (offlineApiCallDeadlinesBuilder_ == null) { offlineApiCallDeadlines_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000004); onChanged(); } else { offlineApiCallDeadlinesBuilder_.clear(); } return this; } /** *
       * API call deadline settings for offline requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines offline_api_call_deadlines = 6; */ public Builder removeOfflineApiCallDeadlines(int index) { if (offlineApiCallDeadlinesBuilder_ == null) { ensureOfflineApiCallDeadlinesIsMutable(); offlineApiCallDeadlines_.remove(index); onChanged(); } else { offlineApiCallDeadlinesBuilder_.remove(index); } return this; } /** *
       * API call deadline settings for offline requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines offline_api_call_deadlines = 6; */ public com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.Builder getOfflineApiCallDeadlinesBuilder( int index) { return getOfflineApiCallDeadlinesFieldBuilder().getBuilder(index); } /** *
       * API call deadline settings for offline requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines offline_api_call_deadlines = 6; */ public com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlinesOrBuilder getOfflineApiCallDeadlinesOrBuilder( int index) { if (offlineApiCallDeadlinesBuilder_ == null) { return offlineApiCallDeadlines_.get(index); } else { return offlineApiCallDeadlinesBuilder_.getMessageOrBuilder(index); } } /** *
       * API call deadline settings for offline requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines offline_api_call_deadlines = 6; */ public java.util.List getOfflineApiCallDeadlinesOrBuilderList() { if (offlineApiCallDeadlinesBuilder_ != null) { return offlineApiCallDeadlinesBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(offlineApiCallDeadlines_); } } /** *
       * API call deadline settings for offline requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines offline_api_call_deadlines = 6; */ public com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.Builder addOfflineApiCallDeadlinesBuilder() { return getOfflineApiCallDeadlinesFieldBuilder().addBuilder( com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.getDefaultInstance()); } /** *
       * API call deadline settings for offline requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines offline_api_call_deadlines = 6; */ public com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.Builder addOfflineApiCallDeadlinesBuilder( int index) { return getOfflineApiCallDeadlinesFieldBuilder().addBuilder( index, com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.getDefaultInstance()); } /** *
       * API call deadline settings for offline requests.
       * 
* * repeated .java.apphosting.ApiPackageDeadlines offline_api_call_deadlines = 6; */ public java.util.List getOfflineApiCallDeadlinesBuilderList() { return getOfflineApiCallDeadlinesFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines, com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.Builder, com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlinesOrBuilder> getOfflineApiCallDeadlinesFieldBuilder() { if (offlineApiCallDeadlinesBuilder_ == null) { offlineApiCallDeadlinesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines, com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlines.Builder, com.google.apphosting.base.protos.ClonePb.ApiPackageDeadlinesOrBuilder>( offlineApiCallDeadlines_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean()); offlineApiCallDeadlines_ = null; } return offlineApiCallDeadlinesBuilder_; } private com.google.protobuf.ByteString cloneKey_ = com.google.protobuf.ByteString.EMPTY; /** *
       * Publicly exposed mostly-unique identifier for this clone. See clone.proto
       * for more details on how this works.
       * 
* * optional bytes clone_key = 14; * @return Whether the cloneKey field is set. */ @java.lang.Override public boolean hasCloneKey() { return ((bitField0_ & 0x00000008) != 0); } /** *
       * Publicly exposed mostly-unique identifier for this clone. See clone.proto
       * for more details on how this works.
       * 
* * optional bytes clone_key = 14; * @return The cloneKey. */ @java.lang.Override public com.google.protobuf.ByteString getCloneKey() { return cloneKey_; } /** *
       * Publicly exposed mostly-unique identifier for this clone. See clone.proto
       * for more details on how this works.
       * 
* * optional bytes clone_key = 14; * @param value The cloneKey to set. * @return This builder for chaining. */ public Builder setCloneKey(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } cloneKey_ = value; bitField0_ |= 0x00000008; onChanged(); return this; } /** *
       * Publicly exposed mostly-unique identifier for this clone. See clone.proto
       * for more details on how this works.
       * 
* * optional bytes clone_key = 14; * @return This builder for chaining. */ public Builder clearCloneKey() { bitField0_ = (bitField0_ & ~0x00000008); cloneKey_ = getDefaultInstance().getCloneKey(); onChanged(); return this; } private com.google.apphosting.base.protos.ClonePb.SnapshotSettings snapshotSettings_; private com.google.protobuf.SingleFieldBuilderV3< com.google.apphosting.base.protos.ClonePb.SnapshotSettings, com.google.apphosting.base.protos.ClonePb.SnapshotSettings.Builder, com.google.apphosting.base.protos.ClonePb.SnapshotSettingsOrBuilder> snapshotSettingsBuilder_; /** *
       * Settings for starting a clone intended to create a snapshot.
       * 
* * optional .java.apphosting.SnapshotSettings snapshot_settings = 20; * @return Whether the snapshotSettings field is set. */ public boolean hasSnapshotSettings() { return ((bitField0_ & 0x00000010) != 0); } /** *
       * Settings for starting a clone intended to create a snapshot.
       * 
* * optional .java.apphosting.SnapshotSettings snapshot_settings = 20; * @return The snapshotSettings. */ public com.google.apphosting.base.protos.ClonePb.SnapshotSettings getSnapshotSettings() { if (snapshotSettingsBuilder_ == null) { return snapshotSettings_ == null ? com.google.apphosting.base.protos.ClonePb.SnapshotSettings.getDefaultInstance() : snapshotSettings_; } else { return snapshotSettingsBuilder_.getMessage(); } } /** *
       * Settings for starting a clone intended to create a snapshot.
       * 
* * optional .java.apphosting.SnapshotSettings snapshot_settings = 20; */ public Builder setSnapshotSettings(com.google.apphosting.base.protos.ClonePb.SnapshotSettings value) { if (snapshotSettingsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } snapshotSettings_ = value; } else { snapshotSettingsBuilder_.setMessage(value); } bitField0_ |= 0x00000010; onChanged(); return this; } /** *
       * Settings for starting a clone intended to create a snapshot.
       * 
* * optional .java.apphosting.SnapshotSettings snapshot_settings = 20; */ public Builder setSnapshotSettings( com.google.apphosting.base.protos.ClonePb.SnapshotSettings.Builder builderForValue) { if (snapshotSettingsBuilder_ == null) { snapshotSettings_ = builderForValue.build(); } else { snapshotSettingsBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000010; onChanged(); return this; } /** *
       * Settings for starting a clone intended to create a snapshot.
       * 
* * optional .java.apphosting.SnapshotSettings snapshot_settings = 20; */ public Builder mergeSnapshotSettings(com.google.apphosting.base.protos.ClonePb.SnapshotSettings value) { if (snapshotSettingsBuilder_ == null) { if (((bitField0_ & 0x00000010) != 0) && snapshotSettings_ != null && snapshotSettings_ != com.google.apphosting.base.protos.ClonePb.SnapshotSettings.getDefaultInstance()) { getSnapshotSettingsBuilder().mergeFrom(value); } else { snapshotSettings_ = value; } } else { snapshotSettingsBuilder_.mergeFrom(value); } bitField0_ |= 0x00000010; onChanged(); return this; } /** *
       * Settings for starting a clone intended to create a snapshot.
       * 
* * optional .java.apphosting.SnapshotSettings snapshot_settings = 20; */ public Builder clearSnapshotSettings() { bitField0_ = (bitField0_ & ~0x00000010); snapshotSettings_ = null; if (snapshotSettingsBuilder_ != null) { snapshotSettingsBuilder_.dispose(); snapshotSettingsBuilder_ = null; } onChanged(); return this; } /** *
       * Settings for starting a clone intended to create a snapshot.
       * 
* * optional .java.apphosting.SnapshotSettings snapshot_settings = 20; */ public com.google.apphosting.base.protos.ClonePb.SnapshotSettings.Builder getSnapshotSettingsBuilder() { bitField0_ |= 0x00000010; onChanged(); return getSnapshotSettingsFieldBuilder().getBuilder(); } /** *
       * Settings for starting a clone intended to create a snapshot.
       * 
* * optional .java.apphosting.SnapshotSettings snapshot_settings = 20; */ public com.google.apphosting.base.protos.ClonePb.SnapshotSettingsOrBuilder getSnapshotSettingsOrBuilder() { if (snapshotSettingsBuilder_ != null) { return snapshotSettingsBuilder_.getMessageOrBuilder(); } else { return snapshotSettings_ == null ? com.google.apphosting.base.protos.ClonePb.SnapshotSettings.getDefaultInstance() : snapshotSettings_; } } /** *
       * Settings for starting a clone intended to create a snapshot.
       * 
* * optional .java.apphosting.SnapshotSettings snapshot_settings = 20; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.apphosting.base.protos.ClonePb.SnapshotSettings, com.google.apphosting.base.protos.ClonePb.SnapshotSettings.Builder, com.google.apphosting.base.protos.ClonePb.SnapshotSettingsOrBuilder> getSnapshotSettingsFieldBuilder() { if (snapshotSettingsBuilder_ == null) { snapshotSettingsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.apphosting.base.protos.ClonePb.SnapshotSettings, com.google.apphosting.base.protos.ClonePb.SnapshotSettings.Builder, com.google.apphosting.base.protos.ClonePb.SnapshotSettingsOrBuilder>( getSnapshotSettings(), getParentForChildren(), isClean()); snapshotSettings_ = null; } return snapshotSettingsBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:java.apphosting.CloneSettings) } // @@protoc_insertion_point(class_scope:java.apphosting.CloneSettings) private static final com.google.apphosting.base.protos.ClonePb.CloneSettings DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new com.google.apphosting.base.protos.ClonePb.CloneSettings(); } public static com.google.apphosting.base.protos.ClonePb.CloneSettings getDefaultInstance() { return DEFAULT_INSTANCE; } @java.lang.Deprecated public static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public CloneSettings parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public com.google.apphosting.base.protos.ClonePb.CloneSettings getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface SnapshotSettingsOrBuilder extends // @@protoc_insertion_point(interface_extends:java.apphosting.SnapshotSettings) com.google.protobuf.MessageOrBuilder { /** *
     * The name of the container to snapshot.
     * 
* * optional string snapshot_container_name = 1; * @return Whether the snapshotContainerName field is set. */ boolean hasSnapshotContainerName(); /** *
     * The name of the container to snapshot.
     * 
* * optional string snapshot_container_name = 1; * @return The snapshotContainerName. */ java.lang.String getSnapshotContainerName(); /** *
     * The name of the container to snapshot.
     * 
* * optional string snapshot_container_name = 1; * @return The bytes for snapshotContainerName. */ com.google.protobuf.ByteString getSnapshotContainerNameBytes(); /** *
     * Uniquely identifies an operation for creating a snapshot.
     * 
* * optional string op_id = 2; * @return Whether the opId field is set. */ boolean hasOpId(); /** *
     * Uniquely identifies an operation for creating a snapshot.
     * 
* * optional string op_id = 2; * @return The opId. */ java.lang.String getOpId(); /** *
     * Uniquely identifies an operation for creating a snapshot.
     * 
* * optional string op_id = 2; * @return The bytes for opId. */ com.google.protobuf.ByteString getOpIdBytes(); } /** *
   * Settings for clones to produce sandbox snapshots.
   * Next tag: 3
   * 
* * Protobuf type {@code java.apphosting.SnapshotSettings} */ public static final class SnapshotSettings extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:java.apphosting.SnapshotSettings) SnapshotSettingsOrBuilder { private static final long serialVersionUID = 0L; // Use SnapshotSettings.newBuilder() to construct. private SnapshotSettings(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private SnapshotSettings() { snapshotContainerName_ = ""; opId_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new SnapshotSettings(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_SnapshotSettings_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_SnapshotSettings_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.apphosting.base.protos.ClonePb.SnapshotSettings.class, com.google.apphosting.base.protos.ClonePb.SnapshotSettings.Builder.class); } private int bitField0_; public static final int SNAPSHOT_CONTAINER_NAME_FIELD_NUMBER = 1; @SuppressWarnings("serial") private volatile java.lang.Object snapshotContainerName_ = ""; /** *
     * The name of the container to snapshot.
     * 
* * optional string snapshot_container_name = 1; * @return Whether the snapshotContainerName field is set. */ @java.lang.Override public boolean hasSnapshotContainerName() { return ((bitField0_ & 0x00000001) != 0); } /** *
     * The name of the container to snapshot.
     * 
* * optional string snapshot_container_name = 1; * @return The snapshotContainerName. */ @java.lang.Override public java.lang.String getSnapshotContainerName() { java.lang.Object ref = snapshotContainerName_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); if (bs.isValidUtf8()) { snapshotContainerName_ = s; } return s; } } /** *
     * The name of the container to snapshot.
     * 
* * optional string snapshot_container_name = 1; * @return The bytes for snapshotContainerName. */ @java.lang.Override public com.google.protobuf.ByteString getSnapshotContainerNameBytes() { java.lang.Object ref = snapshotContainerName_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); snapshotContainerName_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int OP_ID_FIELD_NUMBER = 2; @SuppressWarnings("serial") private volatile java.lang.Object opId_ = ""; /** *
     * Uniquely identifies an operation for creating a snapshot.
     * 
* * optional string op_id = 2; * @return Whether the opId field is set. */ @java.lang.Override public boolean hasOpId() { return ((bitField0_ & 0x00000002) != 0); } /** *
     * Uniquely identifies an operation for creating a snapshot.
     * 
* * optional string op_id = 2; * @return The opId. */ @java.lang.Override public java.lang.String getOpId() { java.lang.Object ref = opId_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); if (bs.isValidUtf8()) { opId_ = s; } return s; } } /** *
     * Uniquely identifies an operation for creating a snapshot.
     * 
* * optional string op_id = 2; * @return The bytes for opId. */ @java.lang.Override public com.google.protobuf.ByteString getOpIdBytes() { java.lang.Object ref = opId_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); opId_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (((bitField0_ & 0x00000001) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, snapshotContainerName_); } if (((bitField0_ & 0x00000002) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, opId_); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (((bitField0_ & 0x00000001) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, snapshotContainerName_); } if (((bitField0_ & 0x00000002) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, opId_); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof com.google.apphosting.base.protos.ClonePb.SnapshotSettings)) { return super.equals(obj); } com.google.apphosting.base.protos.ClonePb.SnapshotSettings other = (com.google.apphosting.base.protos.ClonePb.SnapshotSettings) obj; if (hasSnapshotContainerName() != other.hasSnapshotContainerName()) return false; if (hasSnapshotContainerName()) { if (!getSnapshotContainerName() .equals(other.getSnapshotContainerName())) return false; } if (hasOpId() != other.hasOpId()) return false; if (hasOpId()) { if (!getOpId() .equals(other.getOpId())) return false; } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasSnapshotContainerName()) { hash = (37 * hash) + SNAPSHOT_CONTAINER_NAME_FIELD_NUMBER; hash = (53 * hash) + getSnapshotContainerName().hashCode(); } if (hasOpId()) { hash = (37 * hash) + OP_ID_FIELD_NUMBER; hash = (53 * hash) + getOpId().hashCode(); } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static com.google.apphosting.base.protos.ClonePb.SnapshotSettings parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apphosting.base.protos.ClonePb.SnapshotSettings parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.SnapshotSettings parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apphosting.base.protos.ClonePb.SnapshotSettings parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.SnapshotSettings parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apphosting.base.protos.ClonePb.SnapshotSettings parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.SnapshotSettings parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.google.apphosting.base.protos.ClonePb.SnapshotSettings parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.SnapshotSettings parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static com.google.apphosting.base.protos.ClonePb.SnapshotSettings parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.SnapshotSettings parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.google.apphosting.base.protos.ClonePb.SnapshotSettings parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(com.google.apphosting.base.protos.ClonePb.SnapshotSettings prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * Settings for clones to produce sandbox snapshots.
     * Next tag: 3
     * 
* * Protobuf type {@code java.apphosting.SnapshotSettings} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:java.apphosting.SnapshotSettings) com.google.apphosting.base.protos.ClonePb.SnapshotSettingsOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_SnapshotSettings_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_SnapshotSettings_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.apphosting.base.protos.ClonePb.SnapshotSettings.class, com.google.apphosting.base.protos.ClonePb.SnapshotSettings.Builder.class); } // Construct using com.google.apphosting.base.protos.ClonePb.SnapshotSettings.newBuilder() private Builder() { } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; snapshotContainerName_ = ""; opId_ = ""; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_SnapshotSettings_descriptor; } @java.lang.Override public com.google.apphosting.base.protos.ClonePb.SnapshotSettings getDefaultInstanceForType() { return com.google.apphosting.base.protos.ClonePb.SnapshotSettings.getDefaultInstance(); } @java.lang.Override public com.google.apphosting.base.protos.ClonePb.SnapshotSettings build() { com.google.apphosting.base.protos.ClonePb.SnapshotSettings result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public com.google.apphosting.base.protos.ClonePb.SnapshotSettings buildPartial() { com.google.apphosting.base.protos.ClonePb.SnapshotSettings result = new com.google.apphosting.base.protos.ClonePb.SnapshotSettings(this); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartial0(com.google.apphosting.base.protos.ClonePb.SnapshotSettings result) { int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { result.snapshotContainerName_ = snapshotContainerName_; to_bitField0_ |= 0x00000001; } if (((from_bitField0_ & 0x00000002) != 0)) { result.opId_ = opId_; to_bitField0_ |= 0x00000002; } result.bitField0_ |= to_bitField0_; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof com.google.apphosting.base.protos.ClonePb.SnapshotSettings) { return mergeFrom((com.google.apphosting.base.protos.ClonePb.SnapshotSettings)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(com.google.apphosting.base.protos.ClonePb.SnapshotSettings other) { if (other == com.google.apphosting.base.protos.ClonePb.SnapshotSettings.getDefaultInstance()) return this; if (other.hasSnapshotContainerName()) { snapshotContainerName_ = other.snapshotContainerName_; bitField0_ |= 0x00000001; onChanged(); } if (other.hasOpId()) { opId_ = other.opId_; bitField0_ |= 0x00000002; onChanged(); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { snapshotContainerName_ = input.readBytes(); bitField0_ |= 0x00000001; break; } // case 10 case 18: { opId_ = input.readBytes(); bitField0_ |= 0x00000002; break; } // case 18 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private java.lang.Object snapshotContainerName_ = ""; /** *
       * The name of the container to snapshot.
       * 
* * optional string snapshot_container_name = 1; * @return Whether the snapshotContainerName field is set. */ public boolean hasSnapshotContainerName() { return ((bitField0_ & 0x00000001) != 0); } /** *
       * The name of the container to snapshot.
       * 
* * optional string snapshot_container_name = 1; * @return The snapshotContainerName. */ public java.lang.String getSnapshotContainerName() { java.lang.Object ref = snapshotContainerName_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); if (bs.isValidUtf8()) { snapshotContainerName_ = s; } return s; } else { return (java.lang.String) ref; } } /** *
       * The name of the container to snapshot.
       * 
* * optional string snapshot_container_name = 1; * @return The bytes for snapshotContainerName. */ public com.google.protobuf.ByteString getSnapshotContainerNameBytes() { java.lang.Object ref = snapshotContainerName_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); snapshotContainerName_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
       * The name of the container to snapshot.
       * 
* * optional string snapshot_container_name = 1; * @param value The snapshotContainerName to set. * @return This builder for chaining. */ public Builder setSnapshotContainerName( java.lang.String value) { if (value == null) { throw new NullPointerException(); } snapshotContainerName_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } /** *
       * The name of the container to snapshot.
       * 
* * optional string snapshot_container_name = 1; * @return This builder for chaining. */ public Builder clearSnapshotContainerName() { snapshotContainerName_ = getDefaultInstance().getSnapshotContainerName(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); return this; } /** *
       * The name of the container to snapshot.
       * 
* * optional string snapshot_container_name = 1; * @param value The bytes for snapshotContainerName to set. * @return This builder for chaining. */ public Builder setSnapshotContainerNameBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } snapshotContainerName_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } private java.lang.Object opId_ = ""; /** *
       * Uniquely identifies an operation for creating a snapshot.
       * 
* * optional string op_id = 2; * @return Whether the opId field is set. */ public boolean hasOpId() { return ((bitField0_ & 0x00000002) != 0); } /** *
       * Uniquely identifies an operation for creating a snapshot.
       * 
* * optional string op_id = 2; * @return The opId. */ public java.lang.String getOpId() { java.lang.Object ref = opId_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); if (bs.isValidUtf8()) { opId_ = s; } return s; } else { return (java.lang.String) ref; } } /** *
       * Uniquely identifies an operation for creating a snapshot.
       * 
* * optional string op_id = 2; * @return The bytes for opId. */ public com.google.protobuf.ByteString getOpIdBytes() { java.lang.Object ref = opId_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); opId_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
       * Uniquely identifies an operation for creating a snapshot.
       * 
* * optional string op_id = 2; * @param value The opId to set. * @return This builder for chaining. */ public Builder setOpId( java.lang.String value) { if (value == null) { throw new NullPointerException(); } opId_ = value; bitField0_ |= 0x00000002; onChanged(); return this; } /** *
       * Uniquely identifies an operation for creating a snapshot.
       * 
* * optional string op_id = 2; * @return This builder for chaining. */ public Builder clearOpId() { opId_ = getDefaultInstance().getOpId(); bitField0_ = (bitField0_ & ~0x00000002); onChanged(); return this; } /** *
       * Uniquely identifies an operation for creating a snapshot.
       * 
* * optional string op_id = 2; * @param value The bytes for opId to set. * @return This builder for chaining. */ public Builder setOpIdBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } opId_ = value; bitField0_ |= 0x00000002; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:java.apphosting.SnapshotSettings) } // @@protoc_insertion_point(class_scope:java.apphosting.SnapshotSettings) private static final com.google.apphosting.base.protos.ClonePb.SnapshotSettings DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new com.google.apphosting.base.protos.ClonePb.SnapshotSettings(); } public static com.google.apphosting.base.protos.ClonePb.SnapshotSettings getDefaultInstance() { return DEFAULT_INSTANCE; } @java.lang.Deprecated public static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public SnapshotSettings parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public com.google.apphosting.base.protos.ClonePb.SnapshotSettings getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface MemoryMultiplierOrBuilder extends // @@protoc_insertion_point(interface_extends:java.apphosting.MemoryMultiplier) com.google.protobuf.MessageOrBuilder { /** * optional string runtime_id = 1; * @return Whether the runtimeId field is set. */ boolean hasRuntimeId(); /** * optional string runtime_id = 1; * @return The runtimeId. */ java.lang.String getRuntimeId(); /** * optional string runtime_id = 1; * @return The bytes for runtimeId. */ com.google.protobuf.ByteString getRuntimeIdBytes(); /** * optional float multiplier = 2; * @return Whether the multiplier field is set. */ boolean hasMultiplier(); /** * optional float multiplier = 2; * @return The multiplier. */ float getMultiplier(); } /** *
   * A runtime-specific memory multiplier.
   * Next tag: 3
   * 
* * Protobuf type {@code java.apphosting.MemoryMultiplier} */ public static final class MemoryMultiplier extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:java.apphosting.MemoryMultiplier) MemoryMultiplierOrBuilder { private static final long serialVersionUID = 0L; // Use MemoryMultiplier.newBuilder() to construct. private MemoryMultiplier(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private MemoryMultiplier() { runtimeId_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new MemoryMultiplier(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_MemoryMultiplier_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_MemoryMultiplier_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.apphosting.base.protos.ClonePb.MemoryMultiplier.class, com.google.apphosting.base.protos.ClonePb.MemoryMultiplier.Builder.class); } private int bitField0_; public static final int RUNTIME_ID_FIELD_NUMBER = 1; @SuppressWarnings("serial") private volatile java.lang.Object runtimeId_ = ""; /** * optional string runtime_id = 1; * @return Whether the runtimeId field is set. */ @java.lang.Override public boolean hasRuntimeId() { return ((bitField0_ & 0x00000001) != 0); } /** * optional string runtime_id = 1; * @return The runtimeId. */ @java.lang.Override public java.lang.String getRuntimeId() { java.lang.Object ref = runtimeId_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); if (bs.isValidUtf8()) { runtimeId_ = s; } return s; } } /** * optional string runtime_id = 1; * @return The bytes for runtimeId. */ @java.lang.Override public com.google.protobuf.ByteString getRuntimeIdBytes() { java.lang.Object ref = runtimeId_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); runtimeId_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int MULTIPLIER_FIELD_NUMBER = 2; private float multiplier_ = 0F; /** * optional float multiplier = 2; * @return Whether the multiplier field is set. */ @java.lang.Override public boolean hasMultiplier() { return ((bitField0_ & 0x00000002) != 0); } /** * optional float multiplier = 2; * @return The multiplier. */ @java.lang.Override public float getMultiplier() { return multiplier_; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (((bitField0_ & 0x00000001) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, runtimeId_); } if (((bitField0_ & 0x00000002) != 0)) { output.writeFloat(2, multiplier_); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (((bitField0_ & 0x00000001) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, runtimeId_); } if (((bitField0_ & 0x00000002) != 0)) { size += com.google.protobuf.CodedOutputStream .computeFloatSize(2, multiplier_); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof com.google.apphosting.base.protos.ClonePb.MemoryMultiplier)) { return super.equals(obj); } com.google.apphosting.base.protos.ClonePb.MemoryMultiplier other = (com.google.apphosting.base.protos.ClonePb.MemoryMultiplier) obj; if (hasRuntimeId() != other.hasRuntimeId()) return false; if (hasRuntimeId()) { if (!getRuntimeId() .equals(other.getRuntimeId())) return false; } if (hasMultiplier() != other.hasMultiplier()) return false; if (hasMultiplier()) { if (java.lang.Float.floatToIntBits(getMultiplier()) != java.lang.Float.floatToIntBits( other.getMultiplier())) return false; } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasRuntimeId()) { hash = (37 * hash) + RUNTIME_ID_FIELD_NUMBER; hash = (53 * hash) + getRuntimeId().hashCode(); } if (hasMultiplier()) { hash = (37 * hash) + MULTIPLIER_FIELD_NUMBER; hash = (53 * hash) + java.lang.Float.floatToIntBits( getMultiplier()); } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static com.google.apphosting.base.protos.ClonePb.MemoryMultiplier parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apphosting.base.protos.ClonePb.MemoryMultiplier parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.MemoryMultiplier parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apphosting.base.protos.ClonePb.MemoryMultiplier parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.MemoryMultiplier parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apphosting.base.protos.ClonePb.MemoryMultiplier parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.MemoryMultiplier parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.google.apphosting.base.protos.ClonePb.MemoryMultiplier parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.MemoryMultiplier parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static com.google.apphosting.base.protos.ClonePb.MemoryMultiplier parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.MemoryMultiplier parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.google.apphosting.base.protos.ClonePb.MemoryMultiplier parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(com.google.apphosting.base.protos.ClonePb.MemoryMultiplier prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * A runtime-specific memory multiplier.
     * Next tag: 3
     * 
* * Protobuf type {@code java.apphosting.MemoryMultiplier} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:java.apphosting.MemoryMultiplier) com.google.apphosting.base.protos.ClonePb.MemoryMultiplierOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_MemoryMultiplier_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_MemoryMultiplier_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.apphosting.base.protos.ClonePb.MemoryMultiplier.class, com.google.apphosting.base.protos.ClonePb.MemoryMultiplier.Builder.class); } // Construct using com.google.apphosting.base.protos.ClonePb.MemoryMultiplier.newBuilder() private Builder() { } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; runtimeId_ = ""; multiplier_ = 0F; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_MemoryMultiplier_descriptor; } @java.lang.Override public com.google.apphosting.base.protos.ClonePb.MemoryMultiplier getDefaultInstanceForType() { return com.google.apphosting.base.protos.ClonePb.MemoryMultiplier.getDefaultInstance(); } @java.lang.Override public com.google.apphosting.base.protos.ClonePb.MemoryMultiplier build() { com.google.apphosting.base.protos.ClonePb.MemoryMultiplier result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public com.google.apphosting.base.protos.ClonePb.MemoryMultiplier buildPartial() { com.google.apphosting.base.protos.ClonePb.MemoryMultiplier result = new com.google.apphosting.base.protos.ClonePb.MemoryMultiplier(this); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartial0(com.google.apphosting.base.protos.ClonePb.MemoryMultiplier result) { int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { result.runtimeId_ = runtimeId_; to_bitField0_ |= 0x00000001; } if (((from_bitField0_ & 0x00000002) != 0)) { result.multiplier_ = multiplier_; to_bitField0_ |= 0x00000002; } result.bitField0_ |= to_bitField0_; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof com.google.apphosting.base.protos.ClonePb.MemoryMultiplier) { return mergeFrom((com.google.apphosting.base.protos.ClonePb.MemoryMultiplier)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(com.google.apphosting.base.protos.ClonePb.MemoryMultiplier other) { if (other == com.google.apphosting.base.protos.ClonePb.MemoryMultiplier.getDefaultInstance()) return this; if (other.hasRuntimeId()) { runtimeId_ = other.runtimeId_; bitField0_ |= 0x00000001; onChanged(); } if (other.hasMultiplier()) { setMultiplier(other.getMultiplier()); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { runtimeId_ = input.readBytes(); bitField0_ |= 0x00000001; break; } // case 10 case 21: { multiplier_ = input.readFloat(); bitField0_ |= 0x00000002; break; } // case 21 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private java.lang.Object runtimeId_ = ""; /** * optional string runtime_id = 1; * @return Whether the runtimeId field is set. */ public boolean hasRuntimeId() { return ((bitField0_ & 0x00000001) != 0); } /** * optional string runtime_id = 1; * @return The runtimeId. */ public java.lang.String getRuntimeId() { java.lang.Object ref = runtimeId_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); if (bs.isValidUtf8()) { runtimeId_ = s; } return s; } else { return (java.lang.String) ref; } } /** * optional string runtime_id = 1; * @return The bytes for runtimeId. */ public com.google.protobuf.ByteString getRuntimeIdBytes() { java.lang.Object ref = runtimeId_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); runtimeId_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * optional string runtime_id = 1; * @param value The runtimeId to set. * @return This builder for chaining. */ public Builder setRuntimeId( java.lang.String value) { if (value == null) { throw new NullPointerException(); } runtimeId_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } /** * optional string runtime_id = 1; * @return This builder for chaining. */ public Builder clearRuntimeId() { runtimeId_ = getDefaultInstance().getRuntimeId(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); return this; } /** * optional string runtime_id = 1; * @param value The bytes for runtimeId to set. * @return This builder for chaining. */ public Builder setRuntimeIdBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } runtimeId_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } private float multiplier_ ; /** * optional float multiplier = 2; * @return Whether the multiplier field is set. */ @java.lang.Override public boolean hasMultiplier() { return ((bitField0_ & 0x00000002) != 0); } /** * optional float multiplier = 2; * @return The multiplier. */ @java.lang.Override public float getMultiplier() { return multiplier_; } /** * optional float multiplier = 2; * @param value The multiplier to set. * @return This builder for chaining. */ public Builder setMultiplier(float value) { multiplier_ = value; bitField0_ |= 0x00000002; onChanged(); return this; } /** * optional float multiplier = 2; * @return This builder for chaining. */ public Builder clearMultiplier() { bitField0_ = (bitField0_ & ~0x00000002); multiplier_ = 0F; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:java.apphosting.MemoryMultiplier) } // @@protoc_insertion_point(class_scope:java.apphosting.MemoryMultiplier) private static final com.google.apphosting.base.protos.ClonePb.MemoryMultiplier DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new com.google.apphosting.base.protos.ClonePb.MemoryMultiplier(); } public static com.google.apphosting.base.protos.ClonePb.MemoryMultiplier getDefaultInstance() { return DEFAULT_INSTANCE; } @java.lang.Deprecated public static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public MemoryMultiplier parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public com.google.apphosting.base.protos.ClonePb.MemoryMultiplier getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface SupervisorSettingsOrBuilder extends // @@protoc_insertion_point(interface_extends:java.apphosting.SupervisorSettings) com.google.protobuf.MessageOrBuilder { /** *
     * Soft virtual and private memory limits for the Clone process. When either
     * of these limits are exceeded, the Clone process will be killed politely
     * after handling a request.
     * 
* * optional int32 soft_virtual_memory_limit_mb = 3; * @return Whether the softVirtualMemoryLimitMb field is set. */ boolean hasSoftVirtualMemoryLimitMb(); /** *
     * Soft virtual and private memory limits for the Clone process. When either
     * of these limits are exceeded, the Clone process will be killed politely
     * after handling a request.
     * 
* * optional int32 soft_virtual_memory_limit_mb = 3; * @return The softVirtualMemoryLimitMb. */ int getSoftVirtualMemoryLimitMb(); /** * optional int32 soft_private_memory_limit_mb = 8; * @return Whether the softPrivateMemoryLimitMb field is set. */ boolean hasSoftPrivateMemoryLimitMb(); /** * optional int32 soft_private_memory_limit_mb = 8; * @return The softPrivateMemoryLimitMb. */ int getSoftPrivateMemoryLimitMb(); /** *
     * Medium private memory limit for the clone process. Whereas the soft limit
     * is enforced at the end of requests, this medium limit will be checked
     * periodically. Clones in excess of this limit will be sent a shutdown
     * request. Applies only to background servers.
     * 
* * optional int32 medium_private_memory_limit_mb = 35; * @return Whether the mediumPrivateMemoryLimitMb field is set. */ boolean hasMediumPrivateMemoryLimitMb(); /** *
     * Medium private memory limit for the clone process. Whereas the soft limit
     * is enforced at the end of requests, this medium limit will be checked
     * periodically. Clones in excess of this limit will be sent a shutdown
     * request. Applies only to background servers.
     * 
* * optional int32 medium_private_memory_limit_mb = 35; * @return The mediumPrivateMemoryLimitMb. */ int getMediumPrivateMemoryLimitMb(); /** *
     * Hard private memory limit for the clone process. Whereas the soft limit is
     * enforced at the end of requests, this hard limit will be checked
     * periodically. Clones in excess of this limit will be killed immediately.
     * 
* * optional int32 hard_private_memory_limit_mb = 9; * @return Whether the hardPrivateMemoryLimitMb field is set. */ boolean hasHardPrivateMemoryLimitMb(); /** *
     * Hard private memory limit for the clone process. Whereas the soft limit is
     * enforced at the end of requests, this hard limit will be checked
     * periodically. Clones in excess of this limit will be killed immediately.
     * 
* * optional int32 hard_private_memory_limit_mb = 9; * @return The hardPrivateMemoryLimitMb. */ int getHardPrivateMemoryLimitMb(); /** *
     * Hard private memory multiplier for the clone process. This is an input to
     * the calculation of the hard memory limit, and it is specified per runtime.
     * The hard private memory multiplier takes precedence over the default
     * per-runtime multiplier.
     * 
* * repeated .java.apphosting.MemoryMultiplier hard_private_memory_multiplier = 74; */ java.util.List getHardPrivateMemoryMultiplierList(); /** *
     * Hard private memory multiplier for the clone process. This is an input to
     * the calculation of the hard memory limit, and it is specified per runtime.
     * The hard private memory multiplier takes precedence over the default
     * per-runtime multiplier.
     * 
* * repeated .java.apphosting.MemoryMultiplier hard_private_memory_multiplier = 74; */ com.google.apphosting.base.protos.ClonePb.MemoryMultiplier getHardPrivateMemoryMultiplier(int index); /** *
     * Hard private memory multiplier for the clone process. This is an input to
     * the calculation of the hard memory limit, and it is specified per runtime.
     * The hard private memory multiplier takes precedence over the default
     * per-runtime multiplier.
     * 
* * repeated .java.apphosting.MemoryMultiplier hard_private_memory_multiplier = 74; */ int getHardPrivateMemoryMultiplierCount(); /** *
     * Hard private memory multiplier for the clone process. This is an input to
     * the calculation of the hard memory limit, and it is specified per runtime.
     * The hard private memory multiplier takes precedence over the default
     * per-runtime multiplier.
     * 
* * repeated .java.apphosting.MemoryMultiplier hard_private_memory_multiplier = 74; */ java.util.List getHardPrivateMemoryMultiplierOrBuilderList(); /** *
     * Hard private memory multiplier for the clone process. This is an input to
     * the calculation of the hard memory limit, and it is specified per runtime.
     * The hard private memory multiplier takes precedence over the default
     * per-runtime multiplier.
     * 
* * repeated .java.apphosting.MemoryMultiplier hard_private_memory_multiplier = 74; */ com.google.apphosting.base.protos.ClonePb.MemoryMultiplierOrBuilder getHardPrivateMemoryMultiplierOrBuilder( int index); /** *
     * Heap size, for java processes.
     * DEPRECATED in updateable runtimes (go/runtime-updates). Appserver ignores
     * the value set here, but you can customize the value of --max_jvm_heap_size
     * through runtime updates.
     * 
* * optional int32 java_clone_heap_size_mb = 29; * @return Whether the javaCloneHeapSizeMb field is set. */ boolean hasJavaCloneHeapSizeMb(); /** *
     * Heap size, for java processes.
     * DEPRECATED in updateable runtimes (go/runtime-updates). Appserver ignores
     * the value set here, but you can customize the value of --max_jvm_heap_size
     * through runtime updates.
     * 
* * optional int32 java_clone_heap_size_mb = 29; * @return The javaCloneHeapSizeMb. */ int getJavaCloneHeapSizeMb(); /** *
     * Perm-gen size, for java processes.
     * DEPRECATED in updateable runtimes (go/runtime-updates). Appserver ignores
     * the value set here, but you can customize the value of
     * --max_jvm_perm_gen_size through runtime updates.
     * 
* * optional int32 java_clone_perm_gen_size_mb = 62; * @return Whether the javaClonePermGenSizeMb field is set. */ boolean hasJavaClonePermGenSizeMb(); /** *
     * Perm-gen size, for java processes.
     * DEPRECATED in updateable runtimes (go/runtime-updates). Appserver ignores
     * the value set here, but you can customize the value of
     * --max_jvm_perm_gen_size through runtime updates.
     * 
* * optional int32 java_clone_perm_gen_size_mb = 62; * @return The javaClonePermGenSizeMb. */ int getJavaClonePermGenSizeMb(); /** *
     * DEPRECATED in updateable runtimes (go/runtime-updates). Appserver ignores
     * the value set here, but you can customize the value of --vm_type through
     * runtime updates.
     * 
* * optional .java.apphosting.SupervisorSettings.JavaVmType java_vm_type = 34; * @return Whether the javaVmType field is set. */ boolean hasJavaVmType(); /** *
     * DEPRECATED in updateable runtimes (go/runtime-updates). Appserver ignores
     * the value set here, but you can customize the value of --vm_type through
     * runtime updates.
     * 
* * optional .java.apphosting.SupervisorSettings.JavaVmType java_vm_type = 34; * @return The javaVmType. */ com.google.apphosting.base.protos.ClonePb.SupervisorSettings.JavaVmType getJavaVmType(); /** *
     * ShouldWaitForClone will return true if pending time (i.e. the time this
     * request has already sat on the pending queue up until now) is below this
     * threshold.
     * NOTE: Also used by ShouldStartLoadingRequest as a hard floor. If
     * pending time is below this threshold, then it will return false.
     * NOTE: With 1.6.2, it is *only* used by ShouldStartLoadingRequest.
     * 
* * optional double wait_for_active_clones_min_pending_time_s = 39; * @return Whether the waitForActiveClonesMinPendingTimeS field is set. */ boolean hasWaitForActiveClonesMinPendingTimeS(); /** *
     * ShouldWaitForClone will return true if pending time (i.e. the time this
     * request has already sat on the pending queue up until now) is below this
     * threshold.
     * NOTE: Also used by ShouldStartLoadingRequest as a hard floor. If
     * pending time is below this threshold, then it will return false.
     * NOTE: With 1.6.2, it is *only* used by ShouldStartLoadingRequest.
     * 
* * optional double wait_for_active_clones_min_pending_time_s = 39; * @return The waitForActiveClonesMinPendingTimeS. */ double getWaitForActiveClonesMinPendingTimeS(); /** *
     * ShouldWaitForClone will return false if pending time (i.e. the time this
     * request has already sat on the pending queue up until now) is above this
     * threshold.
     * NOTE: Also used by ShouldStartLoadingRequest as a hard ceiling. If
     * pending time is above this threshold, then it will return true.
     * NOTE: With 1.6.2, it is *only* used by ShouldStartLoadingRequest.
     * 
* * optional double wait_for_active_clones_max_pending_time_s = 41; * @return Whether the waitForActiveClonesMaxPendingTimeS field is set. */ boolean hasWaitForActiveClonesMaxPendingTimeS(); /** *
     * ShouldWaitForClone will return false if pending time (i.e. the time this
     * request has already sat on the pending queue up until now) is above this
     * threshold.
     * NOTE: Also used by ShouldStartLoadingRequest as a hard ceiling. If
     * pending time is above this threshold, then it will return true.
     * NOTE: With 1.6.2, it is *only* used by ShouldStartLoadingRequest.
     * 
* * optional double wait_for_active_clones_max_pending_time_s = 41; * @return The waitForActiveClonesMaxPendingTimeS. */ double getWaitForActiveClonesMaxPendingTimeS(); /** *
     * Max requests a Clone can serve before it is killed.
     * 
* * optional int32 max_clone_successful_requests = 5; * @return Whether the maxCloneSuccessfulRequests field is set. */ boolean hasMaxCloneSuccessfulRequests(); /** *
     * Max requests a Clone can serve before it is killed.
     * 
* * optional int32 max_clone_successful_requests = 5; * @return The maxCloneSuccessfulRequests. */ int getMaxCloneSuccessfulRequests(); /** *
     * Max sequential errors a Clone can serve before it is killed.
     * 
* * optional int32 max_clone_sequential_errors = 6; * @return Whether the maxCloneSequentialErrors field is set. */ boolean hasMaxCloneSequentialErrors(); /** *
     * Max sequential errors a Clone can serve before it is killed.
     * 
* * optional int32 max_clone_sequential_errors = 6; * @return The maxCloneSequentialErrors. */ int getMaxCloneSequentialErrors(); /** *
     * Maximum number of concurrent outstanding (aka active) requests to allow for
     * this app or version on this appserver.
     * 
* * optional int32 max_active_requests = 7; * @return Whether the maxActiveRequests field is set. */ boolean hasMaxActiveRequests(); /** *
     * Maximum number of concurrent outstanding (aka active) requests to allow for
     * this app or version on this appserver.
     * 
* * optional int32 max_active_requests = 7; * @return The maxActiveRequests. */ int getMaxActiveRequests(); /** *
     * Maximum number of active clones to allow for this app or version on this
     * appserver. An active clone is any clone that is currently processing at
     * least one request.
     * 
* * optional int32 max_active_clones = 27; * @return Whether the maxActiveClones field is set. */ boolean hasMaxActiveClones(); /** *
     * Maximum number of active clones to allow for this app or version on this
     * appserver. An active clone is any clone that is currently processing at
     * least one request.
     * 
* * optional int32 max_active_clones = 27; * @return The maxActiveClones. */ int getMaxActiveClones(); /** *
     * Determines whether the appserver will throttle loading requests for this
     * app version.  Default: true for non-servers, false for servers.
     * 
* * optional bool throttle_loading_requests = 26; * @return Whether the throttleLoadingRequests field is set. */ boolean hasThrottleLoadingRequests(); /** *
     * Determines whether the appserver will throttle loading requests for this
     * app version.  Default: true for non-servers, false for servers.
     * 
* * optional bool throttle_loading_requests = 26; * @return The throttleLoadingRequests. */ boolean getThrottleLoadingRequests(); /** *
     * Maximum number of recently started concurrent loading requests to allow.
     * 
* * optional int32 max_loading_requests = 19; * @return Whether the maxLoadingRequests field is set. */ boolean hasMaxLoadingRequests(); /** *
     * Maximum number of recently started concurrent loading requests to allow.
     * 
* * optional int32 max_loading_requests = 19; * @return The maxLoadingRequests. */ int getMaxLoadingRequests(); /** *
     * Overrides the time a runtime is given to process a request. Excludes time
     * spent in a pending queue, and only refers to time spent in the runtime.
     * 
* * optional double request_deadline_s = 11; * @return Whether the requestDeadlineS field is set. */ boolean hasRequestDeadlineS(); /** *
     * Overrides the time a runtime is given to process a request. Excludes time
     * spent in a pending queue, and only refers to time spent in the runtime.
     * 
* * optional double request_deadline_s = 11; * @return The requestDeadlineS. */ double getRequestDeadlineS(); /** *
     * Same as request_deadline_s, but for offline requests.
     * 
* * optional double offline_request_deadline_s = 18; * @return Whether the offlineRequestDeadlineS field is set. */ boolean hasOfflineRequestDeadlineS(); /** *
     * Same as request_deadline_s, but for offline requests.
     * 
* * optional double offline_request_deadline_s = 18; * @return The offlineRequestDeadlineS. */ double getOfflineRequestDeadlineS(); /** *
     * Same as request_deadline_s, but for warming requests.
     * 
* * optional double warming_request_deadline_s = 20; * @return Whether the warmingRequestDeadlineS field is set. */ boolean hasWarmingRequestDeadlineS(); /** *
     * Same as request_deadline_s, but for warming requests.
     * 
* * optional double warming_request_deadline_s = 20; * @return The warmingRequestDeadlineS. */ double getWarmingRequestDeadlineS(); /** *
     * Same as request_deadline_s, but for loading requests.
     * 
* * optional double loading_request_deadline_s = 32; * @return Whether the loadingRequestDeadlineS field is set. */ boolean hasLoadingRequestDeadlineS(); /** *
     * Same as request_deadline_s, but for loading requests.
     * 
* * optional double loading_request_deadline_s = 32; * @return The loadingRequestDeadlineS. */ double getLoadingRequestDeadlineS(); /** *
     * Same as request_deadline_s, but for shutdown requests.
     * 
* * optional double shutdown_request_deadline_s = 33; * @return Whether the shutdownRequestDeadlineS field is set. */ boolean hasShutdownRequestDeadlineS(); /** *
     * Same as request_deadline_s, but for shutdown requests.
     * 
* * optional double shutdown_request_deadline_s = 33; * @return The shutdownRequestDeadlineS. */ double getShutdownRequestDeadlineS(); /** *
     * Overrides the time to allow a request to sit in the pending queue.
     * 
* * optional double max_pending_delay_s = 12; * @return Whether the maxPendingDelayS field is set. */ boolean hasMaxPendingDelayS(); /** *
     * Overrides the time to allow a request to sit in the pending queue.
     * 
* * optional double max_pending_delay_s = 12; * @return The maxPendingDelayS. */ double getMaxPendingDelayS(); /** *
     * Boost factor for max_pending_delay_s. Don't use if we don't have to
     * b/122049200
     * 
* * optional double loading_max_pending_delay_boost_factor = 73; * @return Whether the loadingMaxPendingDelayBoostFactor field is set. */ boolean hasLoadingMaxPendingDelayBoostFactor(); /** *
     * Boost factor for max_pending_delay_s. Don't use if we don't have to
     * b/122049200
     * 
* * optional double loading_max_pending_delay_boost_factor = 73; * @return The loadingMaxPendingDelayBoostFactor. */ double getLoadingMaxPendingDelayBoostFactor(); /** *
     * Allows the request to sit in a pending queue up to `max pending delay`
     * times max_pending_delay_s_boost_limit_factor if a loading request for
     * this appversion is being executed.  0 effectively disables this
     * functionality for the app.
     * 
* * optional double max_pending_delay_boost_limit_factor = 70; * @return Whether the maxPendingDelayBoostLimitFactor field is set. */ boolean hasMaxPendingDelayBoostLimitFactor(); /** *
     * Allows the request to sit in a pending queue up to `max pending delay`
     * times max_pending_delay_s_boost_limit_factor if a loading request for
     * this appversion is being executed.  0 effectively disables this
     * functionality for the app.
     * 
* * optional double max_pending_delay_boost_limit_factor = 70; * @return The maxPendingDelayBoostLimitFactor. */ double getMaxPendingDelayBoostLimitFactor(); /** *
     * Maximum number of pending requests for an app version on one
     * appserver. Once this is exceeded we will begin returning PUSH_BACK to new
     * requests to a given app version.
     * 
* * optional int32 push_back_max_pending_requests = 16; * @return Whether the pushBackMaxPendingRequests field is set. */ boolean hasPushBackMaxPendingRequests(); /** *
     * Maximum number of pending requests for an app version on one
     * appserver. Once this is exceeded we will begin returning PUSH_BACK to new
     * requests to a given app version.
     * 
* * optional int32 push_back_max_pending_requests = 16; * @return The pushBackMaxPendingRequests. */ int getPushBackMaxPendingRequests(); /** *
     * Maximum cpu rate to allow for any clone belonging to this version, enforced
     * by the throttler.
     * TODO(b/125948820) although this field is called a rate, it is treated in
     * the code as a mhz value.
     * 
* * optional double max_cpu_rate = 21; * @return Whether the maxCpuRate field is set. */ boolean hasMaxCpuRate(); /** *
     * Maximum cpu rate to allow for any clone belonging to this version, enforced
     * by the throttler.
     * TODO(b/125948820) although this field is called a rate, it is treated in
     * the code as a mhz value.
     * 
* * optional double max_cpu_rate = 21; * @return The maxCpuRate. */ double getMaxCpuRate(); /** *
     * Padding for maximum cpu rate of this clone. It will be ignored if
     * max_cpu_rate is set. Otherwise, it will be added to the instance class
     * specific mcycle value as defined by --instance_class_cpu_mhz.
     * TODO(b/125948820) although this field is called a rate, it is treated in
     * the code as a mhz value.
     * 
* * optional double cpu_rate_padding = 71; * @return Whether the cpuRatePadding field is set. */ boolean hasCpuRatePadding(); /** *
     * Padding for maximum cpu rate of this clone. It will be ignored if
     * max_cpu_rate is set. Otherwise, it will be added to the instance class
     * specific mcycle value as defined by --instance_class_cpu_mhz.
     * TODO(b/125948820) although this field is called a rate, it is treated in
     * the code as a mhz value.
     * 
* * optional double cpu_rate_padding = 71; * @return The cpuRatePadding. */ double getCpuRatePadding(); /** *
     * CPU rate to start any clone belonging to this version, and held until
     * first loading request is finished or a timeout.
     * Note that this value is NOT mcycles. To prevent accidental
     * misconfiguration, this value is sanity-checked in version_settings.cc.
     * 
* * optional double startup_cpu_rate = 69; * @return Whether the startupCpuRate field is set. */ boolean hasStartupCpuRate(); /** *
     * CPU rate to start any clone belonging to this version, and held until
     * first loading request is finished or a timeout.
     * Note that this value is NOT mcycles. To prevent accidental
     * misconfiguration, this value is sanity-checked in version_settings.cc.
     * 
* * optional double startup_cpu_rate = 69; * @return The startupCpuRate. */ double getStartupCpuRate(); /** *
     * Maximum number of concurrent non-background requests one clone process may
     * serve.
     * 
* * optional int32 max_concurrent_requests = 23; * @return Whether the maxConcurrentRequests field is set. */ boolean hasMaxConcurrentRequests(); /** *
     * Maximum number of concurrent non-background requests one clone process may
     * serve.
     * 
* * optional int32 max_concurrent_requests = 23; * @return The maxConcurrentRequests. */ int getMaxConcurrentRequests(); /** *
     * Number of cpu shares for the clone to have.
     * 
* * optional int32 cpu_shares = 68; * @return Whether the cpuShares field is set. */ boolean hasCpuShares(); /** *
     * Number of cpu shares for the clone to have.
     * 
* * optional int32 cpu_shares = 68; * @return The cpuShares. */ int getCpuShares(); /** *
     * Minimum number of concurrent non-background requests one clone process may
     * serve.
     * 
* * optional int32 min_concurrent_requests = 54; * @return Whether the minConcurrentRequests field is set. */ boolean hasMinConcurrentRequests(); /** *
     * Minimum number of concurrent non-background requests one clone process may
     * serve.
     * 
* * optional int32 min_concurrent_requests = 54; * @return The minConcurrentRequests. */ int getMinConcurrentRequests(); /** *
     * Maximum number of concurrent background requests one clone process may
     * serve.
     * 
* * optional int32 max_background_requests = 53; * @return Whether the maxBackgroundRequests field is set. */ boolean hasMaxBackgroundRequests(); /** *
     * Maximum number of concurrent background requests one clone process may
     * serve.
     * 
* * optional int32 max_background_requests = 53; * @return The maxBackgroundRequests. */ int getMaxBackgroundRequests(); /** *
     * Maximum size of all http requests one clone process may serve concurrently.
     * Not enforced strictly. Rather, the clone can accept new requests if under
     * this threshold, but once the clone is over this threshold it cannot accept
     * additional requests.
     * 
* * optional int64 max_concurrent_requests_total_size = 36; * @return Whether the maxConcurrentRequestsTotalSize field is set. */ boolean hasMaxConcurrentRequestsTotalSize(); /** *
     * Maximum size of all http requests one clone process may serve concurrently.
     * Not enforced strictly. Rather, the clone can accept new requests if under
     * this threshold, but once the clone is over this threshold it cannot accept
     * additional requests.
     * 
* * optional int64 max_concurrent_requests_total_size = 36; * @return The maxConcurrentRequestsTotalSize. */ long getMaxConcurrentRequestsTotalSize(); /** *
     * Limit the number of concurrent requests to a clone based on its past CPU
     * usage instead of relying on a static max_concurrent_requests and
     * max_accepting_cpu.
     * 
* * optional bool use_dynamic_max_concurrent_requests = 55; * @return Whether the useDynamicMaxConcurrentRequests field is set. */ boolean hasUseDynamicMaxConcurrentRequests(); /** *
     * Limit the number of concurrent requests to a clone based on its past CPU
     * usage instead of relying on a static max_concurrent_requests and
     * max_accepting_cpu.
     * 
* * optional bool use_dynamic_max_concurrent_requests = 55; * @return The useDynamicMaxConcurrentRequests. */ boolean getUseDynamicMaxConcurrentRequests(); /** *
     * The maximum fraction of a clone's CPU rate that is in use before the
     * dynamic max concurrent requests is lowered.
     * 
* * optional double dynamic_max_concurrent_requests_max_cpu_fraction = 56; * @return Whether the dynamicMaxConcurrentRequestsMaxCpuFraction field is set. */ boolean hasDynamicMaxConcurrentRequestsMaxCpuFraction(); /** *
     * The maximum fraction of a clone's CPU rate that is in use before the
     * dynamic max concurrent requests is lowered.
     * 
* * optional double dynamic_max_concurrent_requests_max_cpu_fraction = 56; * @return The dynamicMaxConcurrentRequestsMaxCpuFraction. */ double getDynamicMaxConcurrentRequestsMaxCpuFraction(); /** *
     * The minimum fraction of a clone's CPU rate that is in use before the
     * dynamic max concurrent requests is raised.
     * 
* * optional double dynamic_max_concurrent_requests_min_cpu_fraction = 57; * @return Whether the dynamicMaxConcurrentRequestsMinCpuFraction field is set. */ boolean hasDynamicMaxConcurrentRequestsMinCpuFraction(); /** *
     * The minimum fraction of a clone's CPU rate that is in use before the
     * dynamic max concurrent requests is raised.
     * 
* * optional double dynamic_max_concurrent_requests_min_cpu_fraction = 57; * @return The dynamicMaxConcurrentRequestsMinCpuFraction. */ double getDynamicMaxConcurrentRequestsMinCpuFraction(); /** *
     * Maximum size of all pending http requests for an app version. Not enforced
     * strictly. Rather, the pending queue can accept new requests if under this
     * threshold, but once the pending queue is over this threshold, additional
     * requests will fail immediately with PENDING_QUEUE_TOO_LARGE.
     * 
* * optional int64 max_pending_requests_total_size = 37; * @return Whether the maxPendingRequestsTotalSize field is set. */ boolean hasMaxPendingRequestsTotalSize(); /** *
     * Maximum size of all pending http requests for an app version. Not enforced
     * strictly. Rather, the pending queue can accept new requests if under this
     * threshold, but once the pending queue is over this threshold, additional
     * requests will fail immediately with PENDING_QUEUE_TOO_LARGE.
     * 
* * optional int64 max_pending_requests_total_size = 37; * @return The maxPendingRequestsTotalSize. */ long getMaxPendingRequestsTotalSize(); /** *
     * If pending queue for app version is above this value, then push-back
     * against incoming requests if possible.
     * 
* * optional int64 push_back_max_pending_requests_total_size = 38; * @return Whether the pushBackMaxPendingRequestsTotalSize field is set. */ boolean hasPushBackMaxPendingRequestsTotalSize(); /** *
     * If pending queue for app version is above this value, then push-back
     * against incoming requests if possible.
     * 
* * optional int64 push_back_max_pending_requests_total_size = 38; * @return The pushBackMaxPendingRequestsTotalSize. */ long getPushBackMaxPendingRequestsTotalSize(); /** *
     * If positive, then if the clone is running at a cpu rate higher than this
     * (over the last second), we will not send it additional requests, even if it
     * has more space for another request per max_concurrent_requests.
     * 
* * optional double max_accepting_cpu = 25; * @return Whether the maxAcceptingCpu field is set. */ boolean hasMaxAcceptingCpu(); /** *
     * If positive, then if the clone is running at a cpu rate higher than this
     * (over the last second), we will not send it additional requests, even if it
     * has more space for another request per max_concurrent_requests.
     * 
* * optional double max_accepting_cpu = 25; * @return The maxAcceptingCpu. */ double getMaxAcceptingCpu(); /** *
     * How to balance requests across clones for this app version on a given
     * appserver.
     * Type: apphosting::CloneBalancingPolicy::Enum. Can't use that directly
     * because of http://wiki/Main/Proto2WithGenproto, the default value, and
     * apphosting/release/BUILD. Boo!
     * Clone-scheduled apps ignore this field, and use LEAST_ACTIVE by default
     * (eaglepush-controlled).
     * 
* * optional int32 clone_lb_policy = 24 [default = 0]; * @return Whether the cloneLbPolicy field is set. */ boolean hasCloneLbPolicy(); /** *
     * How to balance requests across clones for this app version on a given
     * appserver.
     * Type: apphosting::CloneBalancingPolicy::Enum. Can't use that directly
     * because of http://wiki/Main/Proto2WithGenproto, the default value, and
     * apphosting/release/BUILD. Boo!
     * Clone-scheduled apps ignore this field, and use LEAST_ACTIVE by default
     * (eaglepush-controlled).
     * 
* * optional int32 clone_lb_policy = 24 [default = 0]; * @return The cloneLbPolicy. */ int getCloneLbPolicy(); /** *
     * The default profiler settings to use if no per-request header is specified.
     * 
* * optional .java.apphosting.ProfilerSettings profiler_settings = 48; * @return Whether the profilerSettings field is set. */ boolean hasProfilerSettings(); /** *
     * The default profiler settings to use if no per-request header is specified.
     * 
* * optional .java.apphosting.ProfilerSettings profiler_settings = 48; * @return The profilerSettings. */ com.google.apphosting.base.protos.CommonPb.ProfilerSettings getProfilerSettings(); /** *
     * The default profiler settings to use if no per-request header is specified.
     * 
* * optional .java.apphosting.ProfilerSettings profiler_settings = 48; */ com.google.apphosting.base.protos.CommonPb.ProfilerSettingsOrBuilder getProfilerSettingsOrBuilder(); /** *
     * Parameters that tune the ShouldStartLoadingRequest algorithm. Only active
     * if use_multi_queue.
     * ShouldStartLoadingRequest will compare (pending-time + predicted-run-time)
     * against (average-warm-latency * 'multi_queue_warm_latency_multiplier'). If
     * the predicted time is less, then it will wait; if greater, it will issue a
     * loading request.
     * 
* * optional double multi_queue_warm_latency_multiplier = 50; * @return Whether the multiQueueWarmLatencyMultiplier field is set. */ boolean hasMultiQueueWarmLatencyMultiplier(); /** *
     * Parameters that tune the ShouldStartLoadingRequest algorithm. Only active
     * if use_multi_queue.
     * ShouldStartLoadingRequest will compare (pending-time + predicted-run-time)
     * against (average-warm-latency * 'multi_queue_warm_latency_multiplier'). If
     * the predicted time is less, then it will wait; if greater, it will issue a
     * loading request.
     * 
* * optional double multi_queue_warm_latency_multiplier = 50; * @return The multiQueueWarmLatencyMultiplier. */ double getMultiQueueWarmLatencyMultiplier(); /** *
     * Hard floor for ShouldStartLoadingRequest. If (pending-time +
     * predicted-run-time) is below this threshold, it will return false.
     * 
* * optional double multi_queue_min_predicted_time_s = 51; * @return Whether the multiQueueMinPredictedTimeS field is set. */ boolean hasMultiQueueMinPredictedTimeS(); /** *
     * Hard floor for ShouldStartLoadingRequest. If (pending-time +
     * predicted-run-time) is below this threshold, it will return false.
     * 
* * optional double multi_queue_min_predicted_time_s = 51; * @return The multiQueueMinPredictedTimeS. */ double getMultiQueueMinPredictedTimeS(); /** *
     * Hard ceiling for ShouldStartLoadingRequest. If (pending-time +
     * predicted-run-time) is above this threshold, it will return true.
     * 
* * optional double multi_queue_max_predicted_time_s = 52; * @return Whether the multiQueueMaxPredictedTimeS field is set. */ boolean hasMultiQueueMaxPredictedTimeS(); /** *
     * Hard ceiling for ShouldStartLoadingRequest. If (pending-time +
     * predicted-run-time) is above this threshold, it will return true.
     * 
* * optional double multi_queue_max_predicted_time_s = 52; * @return The multiQueueMaxPredictedTimeS. */ double getMultiQueueMaxPredictedTimeS(); /** *
     * The sliding-scale-routing algorithm settings.
     * This algorithm is part of the PUSH_BACK system. It is designed primarily
     * for apps scheduled onto many appservers.
     * Traditional pfe->appserver routing is RANDOM. A pfe will pick an
     * appserver, and send it an AppHttpRequest. The appserver will then PUSH_BACK
     * if its cpu is too high or any number of other PUSH_BACK conditions are
     * triggered. The pfe would then send the request to another appserver, for up
     * to a total of --max_appserver_retries retries (in prod this is set to 11).
     * The sliding-scale-algorithm leverages this system together with
     * RequestOracle to do more intelligent load balancing.
     * When enabled, the first 'ready_clone_attempts' AppHttpRequests for a single
     * user request will PUSH_BACK if there is no ready clone available for this
     * app version on this appserver. Note that for clone scheduler managed clones
     * the first sliding_scale_ready_non_discretionary_clone_attempts will only
     * look for ready reserved clones. (ie, those requested by clone scheduler).
     * This is in addition to the rest of the PUSH_BACK conditions.
     * After that, the next 'low_predicted_time_attempts'
     * for a single user request will PUSH_BACK if the predicted pending time for
     * the request exceeds a proportional target. An example helps to illustrate.
     * In this example, this app is on more than 11 appservers,
     * --max_appserver_retries=11, ready_clone_attempts=2,
     * low_predicted_time_attempts=5, and sliding_scale_max_predicted_time_s=1000.
     * This results in the following flow:
     *   Attempt Number  |  AppServer will PUSH_BACK if...
     *  ----------------------------------------------------------
     *               0   |  app version has no ready clones
     *               1   |  app version has no ready clones
     *               2   |  predicted pending time is >200ms
     *               3   |  predicted pending time is >400ms
     *               4   |  predicted pending time is >600ms
     *               5   |  predicted pending time is >800ms
     *               6   |  predicted pending time is >1000ms
     *           7..11   |  normal PUSH_BACK logic, nothing extra
     * The goal of this routing logic is to route around hot appservers, find
     * ready clones. A nice property is that in the steady state, no extra work is
     * involved. It's only when there will be pending delays does the pfe perform
     * extra hops for the request, in proportion to the extent of the pending
     * delay.
     * 
* * optional bool enable_sliding_scale_routing = 58; * @return Whether the enableSlidingScaleRouting field is set. */ boolean hasEnableSlidingScaleRouting(); /** *
     * The sliding-scale-routing algorithm settings.
     * This algorithm is part of the PUSH_BACK system. It is designed primarily
     * for apps scheduled onto many appservers.
     * Traditional pfe->appserver routing is RANDOM. A pfe will pick an
     * appserver, and send it an AppHttpRequest. The appserver will then PUSH_BACK
     * if its cpu is too high or any number of other PUSH_BACK conditions are
     * triggered. The pfe would then send the request to another appserver, for up
     * to a total of --max_appserver_retries retries (in prod this is set to 11).
     * The sliding-scale-algorithm leverages this system together with
     * RequestOracle to do more intelligent load balancing.
     * When enabled, the first 'ready_clone_attempts' AppHttpRequests for a single
     * user request will PUSH_BACK if there is no ready clone available for this
     * app version on this appserver. Note that for clone scheduler managed clones
     * the first sliding_scale_ready_non_discretionary_clone_attempts will only
     * look for ready reserved clones. (ie, those requested by clone scheduler).
     * This is in addition to the rest of the PUSH_BACK conditions.
     * After that, the next 'low_predicted_time_attempts'
     * for a single user request will PUSH_BACK if the predicted pending time for
     * the request exceeds a proportional target. An example helps to illustrate.
     * In this example, this app is on more than 11 appservers,
     * --max_appserver_retries=11, ready_clone_attempts=2,
     * low_predicted_time_attempts=5, and sliding_scale_max_predicted_time_s=1000.
     * This results in the following flow:
     *   Attempt Number  |  AppServer will PUSH_BACK if...
     *  ----------------------------------------------------------
     *               0   |  app version has no ready clones
     *               1   |  app version has no ready clones
     *               2   |  predicted pending time is >200ms
     *               3   |  predicted pending time is >400ms
     *               4   |  predicted pending time is >600ms
     *               5   |  predicted pending time is >800ms
     *               6   |  predicted pending time is >1000ms
     *           7..11   |  normal PUSH_BACK logic, nothing extra
     * The goal of this routing logic is to route around hot appservers, find
     * ready clones. A nice property is that in the steady state, no extra work is
     * involved. It's only when there will be pending delays does the pfe perform
     * extra hops for the request, in proportion to the extent of the pending
     * delay.
     * 
* * optional bool enable_sliding_scale_routing = 58; * @return The enableSlidingScaleRouting. */ boolean getEnableSlidingScaleRouting(); /** * optional int32 sliding_scale_ready_clone_attempts = 59; * @return Whether the slidingScaleReadyCloneAttempts field is set. */ boolean hasSlidingScaleReadyCloneAttempts(); /** * optional int32 sliding_scale_ready_clone_attempts = 59; * @return The slidingScaleReadyCloneAttempts. */ int getSlidingScaleReadyCloneAttempts(); /** * optional int32 sliding_scale_ready_non_discretionary_clone_attempts = 72; * @return Whether the slidingScaleReadyNonDiscretionaryCloneAttempts field is set. */ boolean hasSlidingScaleReadyNonDiscretionaryCloneAttempts(); /** * optional int32 sliding_scale_ready_non_discretionary_clone_attempts = 72; * @return The slidingScaleReadyNonDiscretionaryCloneAttempts. */ int getSlidingScaleReadyNonDiscretionaryCloneAttempts(); /** * optional int32 sliding_scale_low_predicted_time_attempts = 60; * @return Whether the slidingScaleLowPredictedTimeAttempts field is set. */ boolean hasSlidingScaleLowPredictedTimeAttempts(); /** * optional int32 sliding_scale_low_predicted_time_attempts = 60; * @return The slidingScaleLowPredictedTimeAttempts. */ int getSlidingScaleLowPredictedTimeAttempts(); /** * optional double sliding_scale_max_predicted_time_s = 61; * @return Whether the slidingScaleMaxPredictedTimeS field is set. */ boolean hasSlidingScaleMaxPredictedTimeS(); /** * optional double sliding_scale_max_predicted_time_s = 61; * @return The slidingScaleMaxPredictedTimeS. */ double getSlidingScaleMaxPredictedTimeS(); /** *
     * If present, only applies during the ready_clone phase. Will trigger
     * sliding-scale PUSH_BACK if the app version is not under this active clone
     * threshold.
     * 
* * optional int32 sliding_scale_max_active_clones = 63; * @return Whether the slidingScaleMaxActiveClones field is set. */ boolean hasSlidingScaleMaxActiveClones(); /** *
     * If present, only applies during the ready_clone phase. Will trigger
     * sliding-scale PUSH_BACK if the app version is not under this active clone
     * threshold.
     * 
* * optional int32 sliding_scale_max_active_clones = 63; * @return The slidingScaleMaxActiveClones. */ int getSlidingScaleMaxActiveClones(); /** *
     * The clone-reducer algorithm settings.
     * This runs independent of the existing LRU eviction and excess-idle-clone
     * algorithms, and its purpose is to cull unnecessary clones from the cache.
     * Always ignores reserved clones.
     * 
* * optional bool enable_clone_reducer = 64; * @return Whether the enableCloneReducer field is set. */ boolean hasEnableCloneReducer(); /** *
     * The clone-reducer algorithm settings.
     * This runs independent of the existing LRU eviction and excess-idle-clone
     * algorithms, and its purpose is to cull unnecessary clones from the cache.
     * Always ignores reserved clones.
     * 
* * optional bool enable_clone_reducer = 64; * @return The enableCloneReducer. */ boolean getEnableCloneReducer(); /** *
     * Minimum age of clones to consider for culling.
     * 
* * optional int32 clone_reducer_min_age_s = 65; * @return Whether the cloneReducerMinAgeS field is set. */ boolean hasCloneReducerMinAgeS(); /** *
     * Minimum age of clones to consider for culling.
     * 
* * optional int32 clone_reducer_min_age_s = 65; * @return The cloneReducerMinAgeS. */ int getCloneReducerMinAgeS(); /** *
     * Minimum desired utilization of clones. This is a ratio threshold, and
     * evaluated against the rate1m of active_time as measured in sec/sec. Clones
     * with utilizations below this will be culled.
     * 
* * optional double clone_reducer_min_utilization_1m = 66; * @return Whether the cloneReducerMinUtilization1m field is set. */ boolean hasCloneReducerMinUtilization1M(); /** *
     * Minimum desired utilization of clones. This is a ratio threshold, and
     * evaluated against the rate1m of active_time as measured in sec/sec. Clones
     * with utilizations below this will be culled.
     * 
* * optional double clone_reducer_min_utilization_1m = 66; * @return The cloneReducerMinUtilization1m. */ double getCloneReducerMinUtilization1M(); /** *
     * Do not cull an app version unless it has more non-reserved clones than
     * this.
     * 
* * optional int32 clone_reducer_min_clones = 67; * @return Whether the cloneReducerMinClones field is set. */ boolean hasCloneReducerMinClones(); /** *
     * Do not cull an app version unless it has more non-reserved clones than
     * this.
     * 
* * optional int32 clone_reducer_min_clones = 67; * @return The cloneReducerMinClones. */ int getCloneReducerMinClones(); } /** *
   * Settings intended for a supervisor to implement.
   * Next tag: 75
   * 
* * Protobuf type {@code java.apphosting.SupervisorSettings} */ public static final class SupervisorSettings extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:java.apphosting.SupervisorSettings) SupervisorSettingsOrBuilder { private static final long serialVersionUID = 0L; // Use SupervisorSettings.newBuilder() to construct. private SupervisorSettings(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private SupervisorSettings() { hardPrivateMemoryMultiplier_ = java.util.Collections.emptyList(); javaVmType_ = 0; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new SupervisorSettings(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_SupervisorSettings_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_SupervisorSettings_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.apphosting.base.protos.ClonePb.SupervisorSettings.class, com.google.apphosting.base.protos.ClonePb.SupervisorSettings.Builder.class); } /** *
     * For java processes, this determines which VM is used.  OpenJDK
     * has two VMs: the client VM (lightweight and fast start-up) and
     * the server VM (slower to warm up but better steady-state
     * performance).  The primary difference is the way that hotspot
     * compilation works: the client VM compiles after fewer iterations
     * (1500) but spends less time optimizing the generated machine
     * code, while the server VM observes the code for many more
     * iterations (10000) before compiling and optimizes more
     * aggressively.  If this is unset, the client compiler will be used.
     * 
* * Protobuf enum {@code java.apphosting.SupervisorSettings.JavaVmType} */ public enum JavaVmType implements com.google.protobuf.ProtocolMessageEnum { /** *
       * java -client
       * 
* * CLIENT = 0; */ CLIENT(0), /** *
       * java -server
       * 
* * SERVER = 1; */ SERVER(1), ; /** *
       * java -client
       * 
* * CLIENT = 0; */ public static final int CLIENT_VALUE = 0; /** *
       * java -server
       * 
* * SERVER = 1; */ public static final int SERVER_VALUE = 1; public final int getNumber() { return value; } /** * @param value The numeric wire value of the corresponding enum entry. * @return The enum associated with the given numeric wire value. * @deprecated Use {@link #forNumber(int)} instead. */ @java.lang.Deprecated public static JavaVmType valueOf(int value) { return forNumber(value); } /** * @param value The numeric wire value of the corresponding enum entry. * @return The enum associated with the given numeric wire value. */ public static JavaVmType forNumber(int value) { switch (value) { case 0: return CLIENT; case 1: return SERVER; default: return null; } } public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { return internalValueMap; } private static final com.google.protobuf.Internal.EnumLiteMap< JavaVmType> internalValueMap = new com.google.protobuf.Internal.EnumLiteMap() { public JavaVmType findValueByNumber(int number) { return JavaVmType.forNumber(number); } }; public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { return getDescriptor().getValues().get(ordinal()); } public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { return getDescriptor(); } public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { return com.google.apphosting.base.protos.ClonePb.SupervisorSettings.getDescriptor().getEnumTypes().get(0); } private static final JavaVmType[] VALUES = values(); public static JavaVmType valueOf( com.google.protobuf.Descriptors.EnumValueDescriptor desc) { if (desc.getType() != getDescriptor()) { throw new java.lang.IllegalArgumentException( "EnumValueDescriptor is not for this type."); } return VALUES[desc.getIndex()]; } private final int value; private JavaVmType(int value) { this.value = value; } // @@protoc_insertion_point(enum_scope:java.apphosting.SupervisorSettings.JavaVmType) } private int bitField0_; private int bitField1_; public static final int SOFT_VIRTUAL_MEMORY_LIMIT_MB_FIELD_NUMBER = 3; private int softVirtualMemoryLimitMb_ = 0; /** *
     * Soft virtual and private memory limits for the Clone process. When either
     * of these limits are exceeded, the Clone process will be killed politely
     * after handling a request.
     * 
* * optional int32 soft_virtual_memory_limit_mb = 3; * @return Whether the softVirtualMemoryLimitMb field is set. */ @java.lang.Override public boolean hasSoftVirtualMemoryLimitMb() { return ((bitField0_ & 0x00000001) != 0); } /** *
     * Soft virtual and private memory limits for the Clone process. When either
     * of these limits are exceeded, the Clone process will be killed politely
     * after handling a request.
     * 
* * optional int32 soft_virtual_memory_limit_mb = 3; * @return The softVirtualMemoryLimitMb. */ @java.lang.Override public int getSoftVirtualMemoryLimitMb() { return softVirtualMemoryLimitMb_; } public static final int SOFT_PRIVATE_MEMORY_LIMIT_MB_FIELD_NUMBER = 8; private int softPrivateMemoryLimitMb_ = 0; /** * optional int32 soft_private_memory_limit_mb = 8; * @return Whether the softPrivateMemoryLimitMb field is set. */ @java.lang.Override public boolean hasSoftPrivateMemoryLimitMb() { return ((bitField0_ & 0x00000002) != 0); } /** * optional int32 soft_private_memory_limit_mb = 8; * @return The softPrivateMemoryLimitMb. */ @java.lang.Override public int getSoftPrivateMemoryLimitMb() { return softPrivateMemoryLimitMb_; } public static final int MEDIUM_PRIVATE_MEMORY_LIMIT_MB_FIELD_NUMBER = 35; private int mediumPrivateMemoryLimitMb_ = 0; /** *
     * Medium private memory limit for the clone process. Whereas the soft limit
     * is enforced at the end of requests, this medium limit will be checked
     * periodically. Clones in excess of this limit will be sent a shutdown
     * request. Applies only to background servers.
     * 
* * optional int32 medium_private_memory_limit_mb = 35; * @return Whether the mediumPrivateMemoryLimitMb field is set. */ @java.lang.Override public boolean hasMediumPrivateMemoryLimitMb() { return ((bitField0_ & 0x00000004) != 0); } /** *
     * Medium private memory limit for the clone process. Whereas the soft limit
     * is enforced at the end of requests, this medium limit will be checked
     * periodically. Clones in excess of this limit will be sent a shutdown
     * request. Applies only to background servers.
     * 
* * optional int32 medium_private_memory_limit_mb = 35; * @return The mediumPrivateMemoryLimitMb. */ @java.lang.Override public int getMediumPrivateMemoryLimitMb() { return mediumPrivateMemoryLimitMb_; } public static final int HARD_PRIVATE_MEMORY_LIMIT_MB_FIELD_NUMBER = 9; private int hardPrivateMemoryLimitMb_ = 0; /** *
     * Hard private memory limit for the clone process. Whereas the soft limit is
     * enforced at the end of requests, this hard limit will be checked
     * periodically. Clones in excess of this limit will be killed immediately.
     * 
* * optional int32 hard_private_memory_limit_mb = 9; * @return Whether the hardPrivateMemoryLimitMb field is set. */ @java.lang.Override public boolean hasHardPrivateMemoryLimitMb() { return ((bitField0_ & 0x00000008) != 0); } /** *
     * Hard private memory limit for the clone process. Whereas the soft limit is
     * enforced at the end of requests, this hard limit will be checked
     * periodically. Clones in excess of this limit will be killed immediately.
     * 
* * optional int32 hard_private_memory_limit_mb = 9; * @return The hardPrivateMemoryLimitMb. */ @java.lang.Override public int getHardPrivateMemoryLimitMb() { return hardPrivateMemoryLimitMb_; } public static final int HARD_PRIVATE_MEMORY_MULTIPLIER_FIELD_NUMBER = 74; @SuppressWarnings("serial") private java.util.List hardPrivateMemoryMultiplier_; /** *
     * Hard private memory multiplier for the clone process. This is an input to
     * the calculation of the hard memory limit, and it is specified per runtime.
     * The hard private memory multiplier takes precedence over the default
     * per-runtime multiplier.
     * 
* * repeated .java.apphosting.MemoryMultiplier hard_private_memory_multiplier = 74; */ @java.lang.Override public java.util.List getHardPrivateMemoryMultiplierList() { return hardPrivateMemoryMultiplier_; } /** *
     * Hard private memory multiplier for the clone process. This is an input to
     * the calculation of the hard memory limit, and it is specified per runtime.
     * The hard private memory multiplier takes precedence over the default
     * per-runtime multiplier.
     * 
* * repeated .java.apphosting.MemoryMultiplier hard_private_memory_multiplier = 74; */ @java.lang.Override public java.util.List getHardPrivateMemoryMultiplierOrBuilderList() { return hardPrivateMemoryMultiplier_; } /** *
     * Hard private memory multiplier for the clone process. This is an input to
     * the calculation of the hard memory limit, and it is specified per runtime.
     * The hard private memory multiplier takes precedence over the default
     * per-runtime multiplier.
     * 
* * repeated .java.apphosting.MemoryMultiplier hard_private_memory_multiplier = 74; */ @java.lang.Override public int getHardPrivateMemoryMultiplierCount() { return hardPrivateMemoryMultiplier_.size(); } /** *
     * Hard private memory multiplier for the clone process. This is an input to
     * the calculation of the hard memory limit, and it is specified per runtime.
     * The hard private memory multiplier takes precedence over the default
     * per-runtime multiplier.
     * 
* * repeated .java.apphosting.MemoryMultiplier hard_private_memory_multiplier = 74; */ @java.lang.Override public com.google.apphosting.base.protos.ClonePb.MemoryMultiplier getHardPrivateMemoryMultiplier(int index) { return hardPrivateMemoryMultiplier_.get(index); } /** *
     * Hard private memory multiplier for the clone process. This is an input to
     * the calculation of the hard memory limit, and it is specified per runtime.
     * The hard private memory multiplier takes precedence over the default
     * per-runtime multiplier.
     * 
* * repeated .java.apphosting.MemoryMultiplier hard_private_memory_multiplier = 74; */ @java.lang.Override public com.google.apphosting.base.protos.ClonePb.MemoryMultiplierOrBuilder getHardPrivateMemoryMultiplierOrBuilder( int index) { return hardPrivateMemoryMultiplier_.get(index); } public static final int JAVA_CLONE_HEAP_SIZE_MB_FIELD_NUMBER = 29; private int javaCloneHeapSizeMb_ = 0; /** *
     * Heap size, for java processes.
     * DEPRECATED in updateable runtimes (go/runtime-updates). Appserver ignores
     * the value set here, but you can customize the value of --max_jvm_heap_size
     * through runtime updates.
     * 
* * optional int32 java_clone_heap_size_mb = 29; * @return Whether the javaCloneHeapSizeMb field is set. */ @java.lang.Override public boolean hasJavaCloneHeapSizeMb() { return ((bitField0_ & 0x00000010) != 0); } /** *
     * Heap size, for java processes.
     * DEPRECATED in updateable runtimes (go/runtime-updates). Appserver ignores
     * the value set here, but you can customize the value of --max_jvm_heap_size
     * through runtime updates.
     * 
* * optional int32 java_clone_heap_size_mb = 29; * @return The javaCloneHeapSizeMb. */ @java.lang.Override public int getJavaCloneHeapSizeMb() { return javaCloneHeapSizeMb_; } public static final int JAVA_CLONE_PERM_GEN_SIZE_MB_FIELD_NUMBER = 62; private int javaClonePermGenSizeMb_ = 0; /** *
     * Perm-gen size, for java processes.
     * DEPRECATED in updateable runtimes (go/runtime-updates). Appserver ignores
     * the value set here, but you can customize the value of
     * --max_jvm_perm_gen_size through runtime updates.
     * 
* * optional int32 java_clone_perm_gen_size_mb = 62; * @return Whether the javaClonePermGenSizeMb field is set. */ @java.lang.Override public boolean hasJavaClonePermGenSizeMb() { return ((bitField0_ & 0x00000020) != 0); } /** *
     * Perm-gen size, for java processes.
     * DEPRECATED in updateable runtimes (go/runtime-updates). Appserver ignores
     * the value set here, but you can customize the value of
     * --max_jvm_perm_gen_size through runtime updates.
     * 
* * optional int32 java_clone_perm_gen_size_mb = 62; * @return The javaClonePermGenSizeMb. */ @java.lang.Override public int getJavaClonePermGenSizeMb() { return javaClonePermGenSizeMb_; } public static final int JAVA_VM_TYPE_FIELD_NUMBER = 34; private int javaVmType_ = 0; /** *
     * DEPRECATED in updateable runtimes (go/runtime-updates). Appserver ignores
     * the value set here, but you can customize the value of --vm_type through
     * runtime updates.
     * 
* * optional .java.apphosting.SupervisorSettings.JavaVmType java_vm_type = 34; * @return Whether the javaVmType field is set. */ @java.lang.Override public boolean hasJavaVmType() { return ((bitField0_ & 0x00000040) != 0); } /** *
     * DEPRECATED in updateable runtimes (go/runtime-updates). Appserver ignores
     * the value set here, but you can customize the value of --vm_type through
     * runtime updates.
     * 
* * optional .java.apphosting.SupervisorSettings.JavaVmType java_vm_type = 34; * @return The javaVmType. */ @java.lang.Override public com.google.apphosting.base.protos.ClonePb.SupervisorSettings.JavaVmType getJavaVmType() { com.google.apphosting.base.protos.ClonePb.SupervisorSettings.JavaVmType result = com.google.apphosting.base.protos.ClonePb.SupervisorSettings.JavaVmType.forNumber(javaVmType_); return result == null ? com.google.apphosting.base.protos.ClonePb.SupervisorSettings.JavaVmType.CLIENT : result; } public static final int WAIT_FOR_ACTIVE_CLONES_MIN_PENDING_TIME_S_FIELD_NUMBER = 39; private double waitForActiveClonesMinPendingTimeS_ = 0D; /** *
     * ShouldWaitForClone will return true if pending time (i.e. the time this
     * request has already sat on the pending queue up until now) is below this
     * threshold.
     * NOTE: Also used by ShouldStartLoadingRequest as a hard floor. If
     * pending time is below this threshold, then it will return false.
     * NOTE: With 1.6.2, it is *only* used by ShouldStartLoadingRequest.
     * 
* * optional double wait_for_active_clones_min_pending_time_s = 39; * @return Whether the waitForActiveClonesMinPendingTimeS field is set. */ @java.lang.Override public boolean hasWaitForActiveClonesMinPendingTimeS() { return ((bitField0_ & 0x00000080) != 0); } /** *
     * ShouldWaitForClone will return true if pending time (i.e. the time this
     * request has already sat on the pending queue up until now) is below this
     * threshold.
     * NOTE: Also used by ShouldStartLoadingRequest as a hard floor. If
     * pending time is below this threshold, then it will return false.
     * NOTE: With 1.6.2, it is *only* used by ShouldStartLoadingRequest.
     * 
* * optional double wait_for_active_clones_min_pending_time_s = 39; * @return The waitForActiveClonesMinPendingTimeS. */ @java.lang.Override public double getWaitForActiveClonesMinPendingTimeS() { return waitForActiveClonesMinPendingTimeS_; } public static final int WAIT_FOR_ACTIVE_CLONES_MAX_PENDING_TIME_S_FIELD_NUMBER = 41; private double waitForActiveClonesMaxPendingTimeS_ = 0D; /** *
     * ShouldWaitForClone will return false if pending time (i.e. the time this
     * request has already sat on the pending queue up until now) is above this
     * threshold.
     * NOTE: Also used by ShouldStartLoadingRequest as a hard ceiling. If
     * pending time is above this threshold, then it will return true.
     * NOTE: With 1.6.2, it is *only* used by ShouldStartLoadingRequest.
     * 
* * optional double wait_for_active_clones_max_pending_time_s = 41; * @return Whether the waitForActiveClonesMaxPendingTimeS field is set. */ @java.lang.Override public boolean hasWaitForActiveClonesMaxPendingTimeS() { return ((bitField0_ & 0x00000100) != 0); } /** *
     * ShouldWaitForClone will return false if pending time (i.e. the time this
     * request has already sat on the pending queue up until now) is above this
     * threshold.
     * NOTE: Also used by ShouldStartLoadingRequest as a hard ceiling. If
     * pending time is above this threshold, then it will return true.
     * NOTE: With 1.6.2, it is *only* used by ShouldStartLoadingRequest.
     * 
* * optional double wait_for_active_clones_max_pending_time_s = 41; * @return The waitForActiveClonesMaxPendingTimeS. */ @java.lang.Override public double getWaitForActiveClonesMaxPendingTimeS() { return waitForActiveClonesMaxPendingTimeS_; } public static final int MAX_CLONE_SUCCESSFUL_REQUESTS_FIELD_NUMBER = 5; private int maxCloneSuccessfulRequests_ = 0; /** *
     * Max requests a Clone can serve before it is killed.
     * 
* * optional int32 max_clone_successful_requests = 5; * @return Whether the maxCloneSuccessfulRequests field is set. */ @java.lang.Override public boolean hasMaxCloneSuccessfulRequests() { return ((bitField0_ & 0x00000200) != 0); } /** *
     * Max requests a Clone can serve before it is killed.
     * 
* * optional int32 max_clone_successful_requests = 5; * @return The maxCloneSuccessfulRequests. */ @java.lang.Override public int getMaxCloneSuccessfulRequests() { return maxCloneSuccessfulRequests_; } public static final int MAX_CLONE_SEQUENTIAL_ERRORS_FIELD_NUMBER = 6; private int maxCloneSequentialErrors_ = 0; /** *
     * Max sequential errors a Clone can serve before it is killed.
     * 
* * optional int32 max_clone_sequential_errors = 6; * @return Whether the maxCloneSequentialErrors field is set. */ @java.lang.Override public boolean hasMaxCloneSequentialErrors() { return ((bitField0_ & 0x00000400) != 0); } /** *
     * Max sequential errors a Clone can serve before it is killed.
     * 
* * optional int32 max_clone_sequential_errors = 6; * @return The maxCloneSequentialErrors. */ @java.lang.Override public int getMaxCloneSequentialErrors() { return maxCloneSequentialErrors_; } public static final int MAX_ACTIVE_REQUESTS_FIELD_NUMBER = 7; private int maxActiveRequests_ = 0; /** *
     * Maximum number of concurrent outstanding (aka active) requests to allow for
     * this app or version on this appserver.
     * 
* * optional int32 max_active_requests = 7; * @return Whether the maxActiveRequests field is set. */ @java.lang.Override public boolean hasMaxActiveRequests() { return ((bitField0_ & 0x00000800) != 0); } /** *
     * Maximum number of concurrent outstanding (aka active) requests to allow for
     * this app or version on this appserver.
     * 
* * optional int32 max_active_requests = 7; * @return The maxActiveRequests. */ @java.lang.Override public int getMaxActiveRequests() { return maxActiveRequests_; } public static final int MAX_ACTIVE_CLONES_FIELD_NUMBER = 27; private int maxActiveClones_ = 0; /** *
     * Maximum number of active clones to allow for this app or version on this
     * appserver. An active clone is any clone that is currently processing at
     * least one request.
     * 
* * optional int32 max_active_clones = 27; * @return Whether the maxActiveClones field is set. */ @java.lang.Override public boolean hasMaxActiveClones() { return ((bitField0_ & 0x00001000) != 0); } /** *
     * Maximum number of active clones to allow for this app or version on this
     * appserver. An active clone is any clone that is currently processing at
     * least one request.
     * 
* * optional int32 max_active_clones = 27; * @return The maxActiveClones. */ @java.lang.Override public int getMaxActiveClones() { return maxActiveClones_; } public static final int THROTTLE_LOADING_REQUESTS_FIELD_NUMBER = 26; private boolean throttleLoadingRequests_ = false; /** *
     * Determines whether the appserver will throttle loading requests for this
     * app version.  Default: true for non-servers, false for servers.
     * 
* * optional bool throttle_loading_requests = 26; * @return Whether the throttleLoadingRequests field is set. */ @java.lang.Override public boolean hasThrottleLoadingRequests() { return ((bitField0_ & 0x00002000) != 0); } /** *
     * Determines whether the appserver will throttle loading requests for this
     * app version.  Default: true for non-servers, false for servers.
     * 
* * optional bool throttle_loading_requests = 26; * @return The throttleLoadingRequests. */ @java.lang.Override public boolean getThrottleLoadingRequests() { return throttleLoadingRequests_; } public static final int MAX_LOADING_REQUESTS_FIELD_NUMBER = 19; private int maxLoadingRequests_ = 0; /** *
     * Maximum number of recently started concurrent loading requests to allow.
     * 
* * optional int32 max_loading_requests = 19; * @return Whether the maxLoadingRequests field is set. */ @java.lang.Override public boolean hasMaxLoadingRequests() { return ((bitField0_ & 0x00004000) != 0); } /** *
     * Maximum number of recently started concurrent loading requests to allow.
     * 
* * optional int32 max_loading_requests = 19; * @return The maxLoadingRequests. */ @java.lang.Override public int getMaxLoadingRequests() { return maxLoadingRequests_; } public static final int REQUEST_DEADLINE_S_FIELD_NUMBER = 11; private double requestDeadlineS_ = 0D; /** *
     * Overrides the time a runtime is given to process a request. Excludes time
     * spent in a pending queue, and only refers to time spent in the runtime.
     * 
* * optional double request_deadline_s = 11; * @return Whether the requestDeadlineS field is set. */ @java.lang.Override public boolean hasRequestDeadlineS() { return ((bitField0_ & 0x00008000) != 0); } /** *
     * Overrides the time a runtime is given to process a request. Excludes time
     * spent in a pending queue, and only refers to time spent in the runtime.
     * 
* * optional double request_deadline_s = 11; * @return The requestDeadlineS. */ @java.lang.Override public double getRequestDeadlineS() { return requestDeadlineS_; } public static final int OFFLINE_REQUEST_DEADLINE_S_FIELD_NUMBER = 18; private double offlineRequestDeadlineS_ = 0D; /** *
     * Same as request_deadline_s, but for offline requests.
     * 
* * optional double offline_request_deadline_s = 18; * @return Whether the offlineRequestDeadlineS field is set. */ @java.lang.Override public boolean hasOfflineRequestDeadlineS() { return ((bitField0_ & 0x00010000) != 0); } /** *
     * Same as request_deadline_s, but for offline requests.
     * 
* * optional double offline_request_deadline_s = 18; * @return The offlineRequestDeadlineS. */ @java.lang.Override public double getOfflineRequestDeadlineS() { return offlineRequestDeadlineS_; } public static final int WARMING_REQUEST_DEADLINE_S_FIELD_NUMBER = 20; private double warmingRequestDeadlineS_ = 0D; /** *
     * Same as request_deadline_s, but for warming requests.
     * 
* * optional double warming_request_deadline_s = 20; * @return Whether the warmingRequestDeadlineS field is set. */ @java.lang.Override public boolean hasWarmingRequestDeadlineS() { return ((bitField0_ & 0x00020000) != 0); } /** *
     * Same as request_deadline_s, but for warming requests.
     * 
* * optional double warming_request_deadline_s = 20; * @return The warmingRequestDeadlineS. */ @java.lang.Override public double getWarmingRequestDeadlineS() { return warmingRequestDeadlineS_; } public static final int LOADING_REQUEST_DEADLINE_S_FIELD_NUMBER = 32; private double loadingRequestDeadlineS_ = 0D; /** *
     * Same as request_deadline_s, but for loading requests.
     * 
* * optional double loading_request_deadline_s = 32; * @return Whether the loadingRequestDeadlineS field is set. */ @java.lang.Override public boolean hasLoadingRequestDeadlineS() { return ((bitField0_ & 0x00040000) != 0); } /** *
     * Same as request_deadline_s, but for loading requests.
     * 
* * optional double loading_request_deadline_s = 32; * @return The loadingRequestDeadlineS. */ @java.lang.Override public double getLoadingRequestDeadlineS() { return loadingRequestDeadlineS_; } public static final int SHUTDOWN_REQUEST_DEADLINE_S_FIELD_NUMBER = 33; private double shutdownRequestDeadlineS_ = 0D; /** *
     * Same as request_deadline_s, but for shutdown requests.
     * 
* * optional double shutdown_request_deadline_s = 33; * @return Whether the shutdownRequestDeadlineS field is set. */ @java.lang.Override public boolean hasShutdownRequestDeadlineS() { return ((bitField0_ & 0x00080000) != 0); } /** *
     * Same as request_deadline_s, but for shutdown requests.
     * 
* * optional double shutdown_request_deadline_s = 33; * @return The shutdownRequestDeadlineS. */ @java.lang.Override public double getShutdownRequestDeadlineS() { return shutdownRequestDeadlineS_; } public static final int MAX_PENDING_DELAY_S_FIELD_NUMBER = 12; private double maxPendingDelayS_ = 0D; /** *
     * Overrides the time to allow a request to sit in the pending queue.
     * 
* * optional double max_pending_delay_s = 12; * @return Whether the maxPendingDelayS field is set. */ @java.lang.Override public boolean hasMaxPendingDelayS() { return ((bitField0_ & 0x00100000) != 0); } /** *
     * Overrides the time to allow a request to sit in the pending queue.
     * 
* * optional double max_pending_delay_s = 12; * @return The maxPendingDelayS. */ @java.lang.Override public double getMaxPendingDelayS() { return maxPendingDelayS_; } public static final int LOADING_MAX_PENDING_DELAY_BOOST_FACTOR_FIELD_NUMBER = 73; private double loadingMaxPendingDelayBoostFactor_ = 0D; /** *
     * Boost factor for max_pending_delay_s. Don't use if we don't have to
     * b/122049200
     * 
* * optional double loading_max_pending_delay_boost_factor = 73; * @return Whether the loadingMaxPendingDelayBoostFactor field is set. */ @java.lang.Override public boolean hasLoadingMaxPendingDelayBoostFactor() { return ((bitField0_ & 0x00200000) != 0); } /** *
     * Boost factor for max_pending_delay_s. Don't use if we don't have to
     * b/122049200
     * 
* * optional double loading_max_pending_delay_boost_factor = 73; * @return The loadingMaxPendingDelayBoostFactor. */ @java.lang.Override public double getLoadingMaxPendingDelayBoostFactor() { return loadingMaxPendingDelayBoostFactor_; } public static final int MAX_PENDING_DELAY_BOOST_LIMIT_FACTOR_FIELD_NUMBER = 70; private double maxPendingDelayBoostLimitFactor_ = 0D; /** *
     * Allows the request to sit in a pending queue up to `max pending delay`
     * times max_pending_delay_s_boost_limit_factor if a loading request for
     * this appversion is being executed.  0 effectively disables this
     * functionality for the app.
     * 
* * optional double max_pending_delay_boost_limit_factor = 70; * @return Whether the maxPendingDelayBoostLimitFactor field is set. */ @java.lang.Override public boolean hasMaxPendingDelayBoostLimitFactor() { return ((bitField0_ & 0x00400000) != 0); } /** *
     * Allows the request to sit in a pending queue up to `max pending delay`
     * times max_pending_delay_s_boost_limit_factor if a loading request for
     * this appversion is being executed.  0 effectively disables this
     * functionality for the app.
     * 
* * optional double max_pending_delay_boost_limit_factor = 70; * @return The maxPendingDelayBoostLimitFactor. */ @java.lang.Override public double getMaxPendingDelayBoostLimitFactor() { return maxPendingDelayBoostLimitFactor_; } public static final int PUSH_BACK_MAX_PENDING_REQUESTS_FIELD_NUMBER = 16; private int pushBackMaxPendingRequests_ = 0; /** *
     * Maximum number of pending requests for an app version on one
     * appserver. Once this is exceeded we will begin returning PUSH_BACK to new
     * requests to a given app version.
     * 
* * optional int32 push_back_max_pending_requests = 16; * @return Whether the pushBackMaxPendingRequests field is set. */ @java.lang.Override public boolean hasPushBackMaxPendingRequests() { return ((bitField0_ & 0x00800000) != 0); } /** *
     * Maximum number of pending requests for an app version on one
     * appserver. Once this is exceeded we will begin returning PUSH_BACK to new
     * requests to a given app version.
     * 
* * optional int32 push_back_max_pending_requests = 16; * @return The pushBackMaxPendingRequests. */ @java.lang.Override public int getPushBackMaxPendingRequests() { return pushBackMaxPendingRequests_; } public static final int MAX_CPU_RATE_FIELD_NUMBER = 21; private double maxCpuRate_ = 0D; /** *
     * Maximum cpu rate to allow for any clone belonging to this version, enforced
     * by the throttler.
     * TODO(b/125948820) although this field is called a rate, it is treated in
     * the code as a mhz value.
     * 
* * optional double max_cpu_rate = 21; * @return Whether the maxCpuRate field is set. */ @java.lang.Override public boolean hasMaxCpuRate() { return ((bitField0_ & 0x01000000) != 0); } /** *
     * Maximum cpu rate to allow for any clone belonging to this version, enforced
     * by the throttler.
     * TODO(b/125948820) although this field is called a rate, it is treated in
     * the code as a mhz value.
     * 
* * optional double max_cpu_rate = 21; * @return The maxCpuRate. */ @java.lang.Override public double getMaxCpuRate() { return maxCpuRate_; } public static final int CPU_RATE_PADDING_FIELD_NUMBER = 71; private double cpuRatePadding_ = 0D; /** *
     * Padding for maximum cpu rate of this clone. It will be ignored if
     * max_cpu_rate is set. Otherwise, it will be added to the instance class
     * specific mcycle value as defined by --instance_class_cpu_mhz.
     * TODO(b/125948820) although this field is called a rate, it is treated in
     * the code as a mhz value.
     * 
* * optional double cpu_rate_padding = 71; * @return Whether the cpuRatePadding field is set. */ @java.lang.Override public boolean hasCpuRatePadding() { return ((bitField0_ & 0x02000000) != 0); } /** *
     * Padding for maximum cpu rate of this clone. It will be ignored if
     * max_cpu_rate is set. Otherwise, it will be added to the instance class
     * specific mcycle value as defined by --instance_class_cpu_mhz.
     * TODO(b/125948820) although this field is called a rate, it is treated in
     * the code as a mhz value.
     * 
* * optional double cpu_rate_padding = 71; * @return The cpuRatePadding. */ @java.lang.Override public double getCpuRatePadding() { return cpuRatePadding_; } public static final int STARTUP_CPU_RATE_FIELD_NUMBER = 69; private double startupCpuRate_ = 0D; /** *
     * CPU rate to start any clone belonging to this version, and held until
     * first loading request is finished or a timeout.
     * Note that this value is NOT mcycles. To prevent accidental
     * misconfiguration, this value is sanity-checked in version_settings.cc.
     * 
* * optional double startup_cpu_rate = 69; * @return Whether the startupCpuRate field is set. */ @java.lang.Override public boolean hasStartupCpuRate() { return ((bitField0_ & 0x04000000) != 0); } /** *
     * CPU rate to start any clone belonging to this version, and held until
     * first loading request is finished or a timeout.
     * Note that this value is NOT mcycles. To prevent accidental
     * misconfiguration, this value is sanity-checked in version_settings.cc.
     * 
* * optional double startup_cpu_rate = 69; * @return The startupCpuRate. */ @java.lang.Override public double getStartupCpuRate() { return startupCpuRate_; } public static final int MAX_CONCURRENT_REQUESTS_FIELD_NUMBER = 23; private int maxConcurrentRequests_ = 0; /** *
     * Maximum number of concurrent non-background requests one clone process may
     * serve.
     * 
* * optional int32 max_concurrent_requests = 23; * @return Whether the maxConcurrentRequests field is set. */ @java.lang.Override public boolean hasMaxConcurrentRequests() { return ((bitField0_ & 0x08000000) != 0); } /** *
     * Maximum number of concurrent non-background requests one clone process may
     * serve.
     * 
* * optional int32 max_concurrent_requests = 23; * @return The maxConcurrentRequests. */ @java.lang.Override public int getMaxConcurrentRequests() { return maxConcurrentRequests_; } public static final int CPU_SHARES_FIELD_NUMBER = 68; private int cpuShares_ = 0; /** *
     * Number of cpu shares for the clone to have.
     * 
* * optional int32 cpu_shares = 68; * @return Whether the cpuShares field is set. */ @java.lang.Override public boolean hasCpuShares() { return ((bitField0_ & 0x10000000) != 0); } /** *
     * Number of cpu shares for the clone to have.
     * 
* * optional int32 cpu_shares = 68; * @return The cpuShares. */ @java.lang.Override public int getCpuShares() { return cpuShares_; } public static final int MIN_CONCURRENT_REQUESTS_FIELD_NUMBER = 54; private int minConcurrentRequests_ = 0; /** *
     * Minimum number of concurrent non-background requests one clone process may
     * serve.
     * 
* * optional int32 min_concurrent_requests = 54; * @return Whether the minConcurrentRequests field is set. */ @java.lang.Override public boolean hasMinConcurrentRequests() { return ((bitField0_ & 0x20000000) != 0); } /** *
     * Minimum number of concurrent non-background requests one clone process may
     * serve.
     * 
* * optional int32 min_concurrent_requests = 54; * @return The minConcurrentRequests. */ @java.lang.Override public int getMinConcurrentRequests() { return minConcurrentRequests_; } public static final int MAX_BACKGROUND_REQUESTS_FIELD_NUMBER = 53; private int maxBackgroundRequests_ = 0; /** *
     * Maximum number of concurrent background requests one clone process may
     * serve.
     * 
* * optional int32 max_background_requests = 53; * @return Whether the maxBackgroundRequests field is set. */ @java.lang.Override public boolean hasMaxBackgroundRequests() { return ((bitField0_ & 0x40000000) != 0); } /** *
     * Maximum number of concurrent background requests one clone process may
     * serve.
     * 
* * optional int32 max_background_requests = 53; * @return The maxBackgroundRequests. */ @java.lang.Override public int getMaxBackgroundRequests() { return maxBackgroundRequests_; } public static final int MAX_CONCURRENT_REQUESTS_TOTAL_SIZE_FIELD_NUMBER = 36; private long maxConcurrentRequestsTotalSize_ = 0L; /** *
     * Maximum size of all http requests one clone process may serve concurrently.
     * Not enforced strictly. Rather, the clone can accept new requests if under
     * this threshold, but once the clone is over this threshold it cannot accept
     * additional requests.
     * 
* * optional int64 max_concurrent_requests_total_size = 36; * @return Whether the maxConcurrentRequestsTotalSize field is set. */ @java.lang.Override public boolean hasMaxConcurrentRequestsTotalSize() { return ((bitField0_ & 0x80000000) != 0); } /** *
     * Maximum size of all http requests one clone process may serve concurrently.
     * Not enforced strictly. Rather, the clone can accept new requests if under
     * this threshold, but once the clone is over this threshold it cannot accept
     * additional requests.
     * 
* * optional int64 max_concurrent_requests_total_size = 36; * @return The maxConcurrentRequestsTotalSize. */ @java.lang.Override public long getMaxConcurrentRequestsTotalSize() { return maxConcurrentRequestsTotalSize_; } public static final int USE_DYNAMIC_MAX_CONCURRENT_REQUESTS_FIELD_NUMBER = 55; private boolean useDynamicMaxConcurrentRequests_ = false; /** *
     * Limit the number of concurrent requests to a clone based on its past CPU
     * usage instead of relying on a static max_concurrent_requests and
     * max_accepting_cpu.
     * 
* * optional bool use_dynamic_max_concurrent_requests = 55; * @return Whether the useDynamicMaxConcurrentRequests field is set. */ @java.lang.Override public boolean hasUseDynamicMaxConcurrentRequests() { return ((bitField1_ & 0x00000001) != 0); } /** *
     * Limit the number of concurrent requests to a clone based on its past CPU
     * usage instead of relying on a static max_concurrent_requests and
     * max_accepting_cpu.
     * 
* * optional bool use_dynamic_max_concurrent_requests = 55; * @return The useDynamicMaxConcurrentRequests. */ @java.lang.Override public boolean getUseDynamicMaxConcurrentRequests() { return useDynamicMaxConcurrentRequests_; } public static final int DYNAMIC_MAX_CONCURRENT_REQUESTS_MAX_CPU_FRACTION_FIELD_NUMBER = 56; private double dynamicMaxConcurrentRequestsMaxCpuFraction_ = 0D; /** *
     * The maximum fraction of a clone's CPU rate that is in use before the
     * dynamic max concurrent requests is lowered.
     * 
* * optional double dynamic_max_concurrent_requests_max_cpu_fraction = 56; * @return Whether the dynamicMaxConcurrentRequestsMaxCpuFraction field is set. */ @java.lang.Override public boolean hasDynamicMaxConcurrentRequestsMaxCpuFraction() { return ((bitField1_ & 0x00000002) != 0); } /** *
     * The maximum fraction of a clone's CPU rate that is in use before the
     * dynamic max concurrent requests is lowered.
     * 
* * optional double dynamic_max_concurrent_requests_max_cpu_fraction = 56; * @return The dynamicMaxConcurrentRequestsMaxCpuFraction. */ @java.lang.Override public double getDynamicMaxConcurrentRequestsMaxCpuFraction() { return dynamicMaxConcurrentRequestsMaxCpuFraction_; } public static final int DYNAMIC_MAX_CONCURRENT_REQUESTS_MIN_CPU_FRACTION_FIELD_NUMBER = 57; private double dynamicMaxConcurrentRequestsMinCpuFraction_ = 0D; /** *
     * The minimum fraction of a clone's CPU rate that is in use before the
     * dynamic max concurrent requests is raised.
     * 
* * optional double dynamic_max_concurrent_requests_min_cpu_fraction = 57; * @return Whether the dynamicMaxConcurrentRequestsMinCpuFraction field is set. */ @java.lang.Override public boolean hasDynamicMaxConcurrentRequestsMinCpuFraction() { return ((bitField1_ & 0x00000004) != 0); } /** *
     * The minimum fraction of a clone's CPU rate that is in use before the
     * dynamic max concurrent requests is raised.
     * 
* * optional double dynamic_max_concurrent_requests_min_cpu_fraction = 57; * @return The dynamicMaxConcurrentRequestsMinCpuFraction. */ @java.lang.Override public double getDynamicMaxConcurrentRequestsMinCpuFraction() { return dynamicMaxConcurrentRequestsMinCpuFraction_; } public static final int MAX_PENDING_REQUESTS_TOTAL_SIZE_FIELD_NUMBER = 37; private long maxPendingRequestsTotalSize_ = 0L; /** *
     * Maximum size of all pending http requests for an app version. Not enforced
     * strictly. Rather, the pending queue can accept new requests if under this
     * threshold, but once the pending queue is over this threshold, additional
     * requests will fail immediately with PENDING_QUEUE_TOO_LARGE.
     * 
* * optional int64 max_pending_requests_total_size = 37; * @return Whether the maxPendingRequestsTotalSize field is set. */ @java.lang.Override public boolean hasMaxPendingRequestsTotalSize() { return ((bitField1_ & 0x00000008) != 0); } /** *
     * Maximum size of all pending http requests for an app version. Not enforced
     * strictly. Rather, the pending queue can accept new requests if under this
     * threshold, but once the pending queue is over this threshold, additional
     * requests will fail immediately with PENDING_QUEUE_TOO_LARGE.
     * 
* * optional int64 max_pending_requests_total_size = 37; * @return The maxPendingRequestsTotalSize. */ @java.lang.Override public long getMaxPendingRequestsTotalSize() { return maxPendingRequestsTotalSize_; } public static final int PUSH_BACK_MAX_PENDING_REQUESTS_TOTAL_SIZE_FIELD_NUMBER = 38; private long pushBackMaxPendingRequestsTotalSize_ = 0L; /** *
     * If pending queue for app version is above this value, then push-back
     * against incoming requests if possible.
     * 
* * optional int64 push_back_max_pending_requests_total_size = 38; * @return Whether the pushBackMaxPendingRequestsTotalSize field is set. */ @java.lang.Override public boolean hasPushBackMaxPendingRequestsTotalSize() { return ((bitField1_ & 0x00000010) != 0); } /** *
     * If pending queue for app version is above this value, then push-back
     * against incoming requests if possible.
     * 
* * optional int64 push_back_max_pending_requests_total_size = 38; * @return The pushBackMaxPendingRequestsTotalSize. */ @java.lang.Override public long getPushBackMaxPendingRequestsTotalSize() { return pushBackMaxPendingRequestsTotalSize_; } public static final int MAX_ACCEPTING_CPU_FIELD_NUMBER = 25; private double maxAcceptingCpu_ = 0D; /** *
     * If positive, then if the clone is running at a cpu rate higher than this
     * (over the last second), we will not send it additional requests, even if it
     * has more space for another request per max_concurrent_requests.
     * 
* * optional double max_accepting_cpu = 25; * @return Whether the maxAcceptingCpu field is set. */ @java.lang.Override public boolean hasMaxAcceptingCpu() { return ((bitField1_ & 0x00000020) != 0); } /** *
     * If positive, then if the clone is running at a cpu rate higher than this
     * (over the last second), we will not send it additional requests, even if it
     * has more space for another request per max_concurrent_requests.
     * 
* * optional double max_accepting_cpu = 25; * @return The maxAcceptingCpu. */ @java.lang.Override public double getMaxAcceptingCpu() { return maxAcceptingCpu_; } public static final int CLONE_LB_POLICY_FIELD_NUMBER = 24; private int cloneLbPolicy_ = 0; /** *
     * How to balance requests across clones for this app version on a given
     * appserver.
     * Type: apphosting::CloneBalancingPolicy::Enum. Can't use that directly
     * because of http://wiki/Main/Proto2WithGenproto, the default value, and
     * apphosting/release/BUILD. Boo!
     * Clone-scheduled apps ignore this field, and use LEAST_ACTIVE by default
     * (eaglepush-controlled).
     * 
* * optional int32 clone_lb_policy = 24 [default = 0]; * @return Whether the cloneLbPolicy field is set. */ @java.lang.Override public boolean hasCloneLbPolicy() { return ((bitField1_ & 0x00000040) != 0); } /** *
     * How to balance requests across clones for this app version on a given
     * appserver.
     * Type: apphosting::CloneBalancingPolicy::Enum. Can't use that directly
     * because of http://wiki/Main/Proto2WithGenproto, the default value, and
     * apphosting/release/BUILD. Boo!
     * Clone-scheduled apps ignore this field, and use LEAST_ACTIVE by default
     * (eaglepush-controlled).
     * 
* * optional int32 clone_lb_policy = 24 [default = 0]; * @return The cloneLbPolicy. */ @java.lang.Override public int getCloneLbPolicy() { return cloneLbPolicy_; } public static final int PROFILER_SETTINGS_FIELD_NUMBER = 48; private com.google.apphosting.base.protos.CommonPb.ProfilerSettings profilerSettings_; /** *
     * The default profiler settings to use if no per-request header is specified.
     * 
* * optional .java.apphosting.ProfilerSettings profiler_settings = 48; * @return Whether the profilerSettings field is set. */ @java.lang.Override public boolean hasProfilerSettings() { return ((bitField1_ & 0x00000080) != 0); } /** *
     * The default profiler settings to use if no per-request header is specified.
     * 
* * optional .java.apphosting.ProfilerSettings profiler_settings = 48; * @return The profilerSettings. */ @java.lang.Override public com.google.apphosting.base.protos.CommonPb.ProfilerSettings getProfilerSettings() { return profilerSettings_ == null ? com.google.apphosting.base.protos.CommonPb.ProfilerSettings.getDefaultInstance() : profilerSettings_; } /** *
     * The default profiler settings to use if no per-request header is specified.
     * 
* * optional .java.apphosting.ProfilerSettings profiler_settings = 48; */ @java.lang.Override public com.google.apphosting.base.protos.CommonPb.ProfilerSettingsOrBuilder getProfilerSettingsOrBuilder() { return profilerSettings_ == null ? com.google.apphosting.base.protos.CommonPb.ProfilerSettings.getDefaultInstance() : profilerSettings_; } public static final int MULTI_QUEUE_WARM_LATENCY_MULTIPLIER_FIELD_NUMBER = 50; private double multiQueueWarmLatencyMultiplier_ = 0D; /** *
     * Parameters that tune the ShouldStartLoadingRequest algorithm. Only active
     * if use_multi_queue.
     * ShouldStartLoadingRequest will compare (pending-time + predicted-run-time)
     * against (average-warm-latency * 'multi_queue_warm_latency_multiplier'). If
     * the predicted time is less, then it will wait; if greater, it will issue a
     * loading request.
     * 
* * optional double multi_queue_warm_latency_multiplier = 50; * @return Whether the multiQueueWarmLatencyMultiplier field is set. */ @java.lang.Override public boolean hasMultiQueueWarmLatencyMultiplier() { return ((bitField1_ & 0x00000100) != 0); } /** *
     * Parameters that tune the ShouldStartLoadingRequest algorithm. Only active
     * if use_multi_queue.
     * ShouldStartLoadingRequest will compare (pending-time + predicted-run-time)
     * against (average-warm-latency * 'multi_queue_warm_latency_multiplier'). If
     * the predicted time is less, then it will wait; if greater, it will issue a
     * loading request.
     * 
* * optional double multi_queue_warm_latency_multiplier = 50; * @return The multiQueueWarmLatencyMultiplier. */ @java.lang.Override public double getMultiQueueWarmLatencyMultiplier() { return multiQueueWarmLatencyMultiplier_; } public static final int MULTI_QUEUE_MIN_PREDICTED_TIME_S_FIELD_NUMBER = 51; private double multiQueueMinPredictedTimeS_ = 0D; /** *
     * Hard floor for ShouldStartLoadingRequest. If (pending-time +
     * predicted-run-time) is below this threshold, it will return false.
     * 
* * optional double multi_queue_min_predicted_time_s = 51; * @return Whether the multiQueueMinPredictedTimeS field is set. */ @java.lang.Override public boolean hasMultiQueueMinPredictedTimeS() { return ((bitField1_ & 0x00000200) != 0); } /** *
     * Hard floor for ShouldStartLoadingRequest. If (pending-time +
     * predicted-run-time) is below this threshold, it will return false.
     * 
* * optional double multi_queue_min_predicted_time_s = 51; * @return The multiQueueMinPredictedTimeS. */ @java.lang.Override public double getMultiQueueMinPredictedTimeS() { return multiQueueMinPredictedTimeS_; } public static final int MULTI_QUEUE_MAX_PREDICTED_TIME_S_FIELD_NUMBER = 52; private double multiQueueMaxPredictedTimeS_ = 0D; /** *
     * Hard ceiling for ShouldStartLoadingRequest. If (pending-time +
     * predicted-run-time) is above this threshold, it will return true.
     * 
* * optional double multi_queue_max_predicted_time_s = 52; * @return Whether the multiQueueMaxPredictedTimeS field is set. */ @java.lang.Override public boolean hasMultiQueueMaxPredictedTimeS() { return ((bitField1_ & 0x00000400) != 0); } /** *
     * Hard ceiling for ShouldStartLoadingRequest. If (pending-time +
     * predicted-run-time) is above this threshold, it will return true.
     * 
* * optional double multi_queue_max_predicted_time_s = 52; * @return The multiQueueMaxPredictedTimeS. */ @java.lang.Override public double getMultiQueueMaxPredictedTimeS() { return multiQueueMaxPredictedTimeS_; } public static final int ENABLE_SLIDING_SCALE_ROUTING_FIELD_NUMBER = 58; private boolean enableSlidingScaleRouting_ = false; /** *
     * The sliding-scale-routing algorithm settings.
     * This algorithm is part of the PUSH_BACK system. It is designed primarily
     * for apps scheduled onto many appservers.
     * Traditional pfe->appserver routing is RANDOM. A pfe will pick an
     * appserver, and send it an AppHttpRequest. The appserver will then PUSH_BACK
     * if its cpu is too high or any number of other PUSH_BACK conditions are
     * triggered. The pfe would then send the request to another appserver, for up
     * to a total of --max_appserver_retries retries (in prod this is set to 11).
     * The sliding-scale-algorithm leverages this system together with
     * RequestOracle to do more intelligent load balancing.
     * When enabled, the first 'ready_clone_attempts' AppHttpRequests for a single
     * user request will PUSH_BACK if there is no ready clone available for this
     * app version on this appserver. Note that for clone scheduler managed clones
     * the first sliding_scale_ready_non_discretionary_clone_attempts will only
     * look for ready reserved clones. (ie, those requested by clone scheduler).
     * This is in addition to the rest of the PUSH_BACK conditions.
     * After that, the next 'low_predicted_time_attempts'
     * for a single user request will PUSH_BACK if the predicted pending time for
     * the request exceeds a proportional target. An example helps to illustrate.
     * In this example, this app is on more than 11 appservers,
     * --max_appserver_retries=11, ready_clone_attempts=2,
     * low_predicted_time_attempts=5, and sliding_scale_max_predicted_time_s=1000.
     * This results in the following flow:
     *   Attempt Number  |  AppServer will PUSH_BACK if...
     *  ----------------------------------------------------------
     *               0   |  app version has no ready clones
     *               1   |  app version has no ready clones
     *               2   |  predicted pending time is >200ms
     *               3   |  predicted pending time is >400ms
     *               4   |  predicted pending time is >600ms
     *               5   |  predicted pending time is >800ms
     *               6   |  predicted pending time is >1000ms
     *           7..11   |  normal PUSH_BACK logic, nothing extra
     * The goal of this routing logic is to route around hot appservers, find
     * ready clones. A nice property is that in the steady state, no extra work is
     * involved. It's only when there will be pending delays does the pfe perform
     * extra hops for the request, in proportion to the extent of the pending
     * delay.
     * 
* * optional bool enable_sliding_scale_routing = 58; * @return Whether the enableSlidingScaleRouting field is set. */ @java.lang.Override public boolean hasEnableSlidingScaleRouting() { return ((bitField1_ & 0x00000800) != 0); } /** *
     * The sliding-scale-routing algorithm settings.
     * This algorithm is part of the PUSH_BACK system. It is designed primarily
     * for apps scheduled onto many appservers.
     * Traditional pfe->appserver routing is RANDOM. A pfe will pick an
     * appserver, and send it an AppHttpRequest. The appserver will then PUSH_BACK
     * if its cpu is too high or any number of other PUSH_BACK conditions are
     * triggered. The pfe would then send the request to another appserver, for up
     * to a total of --max_appserver_retries retries (in prod this is set to 11).
     * The sliding-scale-algorithm leverages this system together with
     * RequestOracle to do more intelligent load balancing.
     * When enabled, the first 'ready_clone_attempts' AppHttpRequests for a single
     * user request will PUSH_BACK if there is no ready clone available for this
     * app version on this appserver. Note that for clone scheduler managed clones
     * the first sliding_scale_ready_non_discretionary_clone_attempts will only
     * look for ready reserved clones. (ie, those requested by clone scheduler).
     * This is in addition to the rest of the PUSH_BACK conditions.
     * After that, the next 'low_predicted_time_attempts'
     * for a single user request will PUSH_BACK if the predicted pending time for
     * the request exceeds a proportional target. An example helps to illustrate.
     * In this example, this app is on more than 11 appservers,
     * --max_appserver_retries=11, ready_clone_attempts=2,
     * low_predicted_time_attempts=5, and sliding_scale_max_predicted_time_s=1000.
     * This results in the following flow:
     *   Attempt Number  |  AppServer will PUSH_BACK if...
     *  ----------------------------------------------------------
     *               0   |  app version has no ready clones
     *               1   |  app version has no ready clones
     *               2   |  predicted pending time is >200ms
     *               3   |  predicted pending time is >400ms
     *               4   |  predicted pending time is >600ms
     *               5   |  predicted pending time is >800ms
     *               6   |  predicted pending time is >1000ms
     *           7..11   |  normal PUSH_BACK logic, nothing extra
     * The goal of this routing logic is to route around hot appservers, find
     * ready clones. A nice property is that in the steady state, no extra work is
     * involved. It's only when there will be pending delays does the pfe perform
     * extra hops for the request, in proportion to the extent of the pending
     * delay.
     * 
* * optional bool enable_sliding_scale_routing = 58; * @return The enableSlidingScaleRouting. */ @java.lang.Override public boolean getEnableSlidingScaleRouting() { return enableSlidingScaleRouting_; } public static final int SLIDING_SCALE_READY_CLONE_ATTEMPTS_FIELD_NUMBER = 59; private int slidingScaleReadyCloneAttempts_ = 0; /** * optional int32 sliding_scale_ready_clone_attempts = 59; * @return Whether the slidingScaleReadyCloneAttempts field is set. */ @java.lang.Override public boolean hasSlidingScaleReadyCloneAttempts() { return ((bitField1_ & 0x00001000) != 0); } /** * optional int32 sliding_scale_ready_clone_attempts = 59; * @return The slidingScaleReadyCloneAttempts. */ @java.lang.Override public int getSlidingScaleReadyCloneAttempts() { return slidingScaleReadyCloneAttempts_; } public static final int SLIDING_SCALE_READY_NON_DISCRETIONARY_CLONE_ATTEMPTS_FIELD_NUMBER = 72; private int slidingScaleReadyNonDiscretionaryCloneAttempts_ = 0; /** * optional int32 sliding_scale_ready_non_discretionary_clone_attempts = 72; * @return Whether the slidingScaleReadyNonDiscretionaryCloneAttempts field is set. */ @java.lang.Override public boolean hasSlidingScaleReadyNonDiscretionaryCloneAttempts() { return ((bitField1_ & 0x00002000) != 0); } /** * optional int32 sliding_scale_ready_non_discretionary_clone_attempts = 72; * @return The slidingScaleReadyNonDiscretionaryCloneAttempts. */ @java.lang.Override public int getSlidingScaleReadyNonDiscretionaryCloneAttempts() { return slidingScaleReadyNonDiscretionaryCloneAttempts_; } public static final int SLIDING_SCALE_LOW_PREDICTED_TIME_ATTEMPTS_FIELD_NUMBER = 60; private int slidingScaleLowPredictedTimeAttempts_ = 0; /** * optional int32 sliding_scale_low_predicted_time_attempts = 60; * @return Whether the slidingScaleLowPredictedTimeAttempts field is set. */ @java.lang.Override public boolean hasSlidingScaleLowPredictedTimeAttempts() { return ((bitField1_ & 0x00004000) != 0); } /** * optional int32 sliding_scale_low_predicted_time_attempts = 60; * @return The slidingScaleLowPredictedTimeAttempts. */ @java.lang.Override public int getSlidingScaleLowPredictedTimeAttempts() { return slidingScaleLowPredictedTimeAttempts_; } public static final int SLIDING_SCALE_MAX_PREDICTED_TIME_S_FIELD_NUMBER = 61; private double slidingScaleMaxPredictedTimeS_ = 0D; /** * optional double sliding_scale_max_predicted_time_s = 61; * @return Whether the slidingScaleMaxPredictedTimeS field is set. */ @java.lang.Override public boolean hasSlidingScaleMaxPredictedTimeS() { return ((bitField1_ & 0x00008000) != 0); } /** * optional double sliding_scale_max_predicted_time_s = 61; * @return The slidingScaleMaxPredictedTimeS. */ @java.lang.Override public double getSlidingScaleMaxPredictedTimeS() { return slidingScaleMaxPredictedTimeS_; } public static final int SLIDING_SCALE_MAX_ACTIVE_CLONES_FIELD_NUMBER = 63; private int slidingScaleMaxActiveClones_ = 0; /** *
     * If present, only applies during the ready_clone phase. Will trigger
     * sliding-scale PUSH_BACK if the app version is not under this active clone
     * threshold.
     * 
* * optional int32 sliding_scale_max_active_clones = 63; * @return Whether the slidingScaleMaxActiveClones field is set. */ @java.lang.Override public boolean hasSlidingScaleMaxActiveClones() { return ((bitField1_ & 0x00010000) != 0); } /** *
     * If present, only applies during the ready_clone phase. Will trigger
     * sliding-scale PUSH_BACK if the app version is not under this active clone
     * threshold.
     * 
* * optional int32 sliding_scale_max_active_clones = 63; * @return The slidingScaleMaxActiveClones. */ @java.lang.Override public int getSlidingScaleMaxActiveClones() { return slidingScaleMaxActiveClones_; } public static final int ENABLE_CLONE_REDUCER_FIELD_NUMBER = 64; private boolean enableCloneReducer_ = false; /** *
     * The clone-reducer algorithm settings.
     * This runs independent of the existing LRU eviction and excess-idle-clone
     * algorithms, and its purpose is to cull unnecessary clones from the cache.
     * Always ignores reserved clones.
     * 
* * optional bool enable_clone_reducer = 64; * @return Whether the enableCloneReducer field is set. */ @java.lang.Override public boolean hasEnableCloneReducer() { return ((bitField1_ & 0x00020000) != 0); } /** *
     * The clone-reducer algorithm settings.
     * This runs independent of the existing LRU eviction and excess-idle-clone
     * algorithms, and its purpose is to cull unnecessary clones from the cache.
     * Always ignores reserved clones.
     * 
* * optional bool enable_clone_reducer = 64; * @return The enableCloneReducer. */ @java.lang.Override public boolean getEnableCloneReducer() { return enableCloneReducer_; } public static final int CLONE_REDUCER_MIN_AGE_S_FIELD_NUMBER = 65; private int cloneReducerMinAgeS_ = 0; /** *
     * Minimum age of clones to consider for culling.
     * 
* * optional int32 clone_reducer_min_age_s = 65; * @return Whether the cloneReducerMinAgeS field is set. */ @java.lang.Override public boolean hasCloneReducerMinAgeS() { return ((bitField1_ & 0x00040000) != 0); } /** *
     * Minimum age of clones to consider for culling.
     * 
* * optional int32 clone_reducer_min_age_s = 65; * @return The cloneReducerMinAgeS. */ @java.lang.Override public int getCloneReducerMinAgeS() { return cloneReducerMinAgeS_; } public static final int CLONE_REDUCER_MIN_UTILIZATION_1M_FIELD_NUMBER = 66; private double cloneReducerMinUtilization1M_ = 0D; /** *
     * Minimum desired utilization of clones. This is a ratio threshold, and
     * evaluated against the rate1m of active_time as measured in sec/sec. Clones
     * with utilizations below this will be culled.
     * 
* * optional double clone_reducer_min_utilization_1m = 66; * @return Whether the cloneReducerMinUtilization1m field is set. */ @java.lang.Override public boolean hasCloneReducerMinUtilization1M() { return ((bitField1_ & 0x00080000) != 0); } /** *
     * Minimum desired utilization of clones. This is a ratio threshold, and
     * evaluated against the rate1m of active_time as measured in sec/sec. Clones
     * with utilizations below this will be culled.
     * 
* * optional double clone_reducer_min_utilization_1m = 66; * @return The cloneReducerMinUtilization1m. */ @java.lang.Override public double getCloneReducerMinUtilization1M() { return cloneReducerMinUtilization1M_; } public static final int CLONE_REDUCER_MIN_CLONES_FIELD_NUMBER = 67; private int cloneReducerMinClones_ = 0; /** *
     * Do not cull an app version unless it has more non-reserved clones than
     * this.
     * 
* * optional int32 clone_reducer_min_clones = 67; * @return Whether the cloneReducerMinClones field is set. */ @java.lang.Override public boolean hasCloneReducerMinClones() { return ((bitField1_ & 0x00100000) != 0); } /** *
     * Do not cull an app version unless it has more non-reserved clones than
     * this.
     * 
* * optional int32 clone_reducer_min_clones = 67; * @return The cloneReducerMinClones. */ @java.lang.Override public int getCloneReducerMinClones() { return cloneReducerMinClones_; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; if (hasProfilerSettings()) { if (!getProfilerSettings().isInitialized()) { memoizedIsInitialized = 0; return false; } } memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (((bitField0_ & 0x00000001) != 0)) { output.writeInt32(3, softVirtualMemoryLimitMb_); } if (((bitField0_ & 0x00000200) != 0)) { output.writeInt32(5, maxCloneSuccessfulRequests_); } if (((bitField0_ & 0x00000400) != 0)) { output.writeInt32(6, maxCloneSequentialErrors_); } if (((bitField0_ & 0x00000800) != 0)) { output.writeInt32(7, maxActiveRequests_); } if (((bitField0_ & 0x00000002) != 0)) { output.writeInt32(8, softPrivateMemoryLimitMb_); } if (((bitField0_ & 0x00000008) != 0)) { output.writeInt32(9, hardPrivateMemoryLimitMb_); } if (((bitField0_ & 0x00008000) != 0)) { output.writeDouble(11, requestDeadlineS_); } if (((bitField0_ & 0x00100000) != 0)) { output.writeDouble(12, maxPendingDelayS_); } if (((bitField0_ & 0x00800000) != 0)) { output.writeInt32(16, pushBackMaxPendingRequests_); } if (((bitField0_ & 0x00010000) != 0)) { output.writeDouble(18, offlineRequestDeadlineS_); } if (((bitField0_ & 0x00004000) != 0)) { output.writeInt32(19, maxLoadingRequests_); } if (((bitField0_ & 0x00020000) != 0)) { output.writeDouble(20, warmingRequestDeadlineS_); } if (((bitField0_ & 0x01000000) != 0)) { output.writeDouble(21, maxCpuRate_); } if (((bitField0_ & 0x08000000) != 0)) { output.writeInt32(23, maxConcurrentRequests_); } if (((bitField1_ & 0x00000040) != 0)) { output.writeInt32(24, cloneLbPolicy_); } if (((bitField1_ & 0x00000020) != 0)) { output.writeDouble(25, maxAcceptingCpu_); } if (((bitField0_ & 0x00002000) != 0)) { output.writeBool(26, throttleLoadingRequests_); } if (((bitField0_ & 0x00001000) != 0)) { output.writeInt32(27, maxActiveClones_); } if (((bitField0_ & 0x00000010) != 0)) { output.writeInt32(29, javaCloneHeapSizeMb_); } if (((bitField0_ & 0x00040000) != 0)) { output.writeDouble(32, loadingRequestDeadlineS_); } if (((bitField0_ & 0x00080000) != 0)) { output.writeDouble(33, shutdownRequestDeadlineS_); } if (((bitField0_ & 0x00000040) != 0)) { output.writeEnum(34, javaVmType_); } if (((bitField0_ & 0x00000004) != 0)) { output.writeInt32(35, mediumPrivateMemoryLimitMb_); } if (((bitField0_ & 0x80000000) != 0)) { output.writeInt64(36, maxConcurrentRequestsTotalSize_); } if (((bitField1_ & 0x00000008) != 0)) { output.writeInt64(37, maxPendingRequestsTotalSize_); } if (((bitField1_ & 0x00000010) != 0)) { output.writeInt64(38, pushBackMaxPendingRequestsTotalSize_); } if (((bitField0_ & 0x00000080) != 0)) { output.writeDouble(39, waitForActiveClonesMinPendingTimeS_); } if (((bitField0_ & 0x00000100) != 0)) { output.writeDouble(41, waitForActiveClonesMaxPendingTimeS_); } if (((bitField1_ & 0x00000080) != 0)) { output.writeMessage(48, getProfilerSettings()); } if (((bitField1_ & 0x00000100) != 0)) { output.writeDouble(50, multiQueueWarmLatencyMultiplier_); } if (((bitField1_ & 0x00000200) != 0)) { output.writeDouble(51, multiQueueMinPredictedTimeS_); } if (((bitField1_ & 0x00000400) != 0)) { output.writeDouble(52, multiQueueMaxPredictedTimeS_); } if (((bitField0_ & 0x40000000) != 0)) { output.writeInt32(53, maxBackgroundRequests_); } if (((bitField0_ & 0x20000000) != 0)) { output.writeInt32(54, minConcurrentRequests_); } if (((bitField1_ & 0x00000001) != 0)) { output.writeBool(55, useDynamicMaxConcurrentRequests_); } if (((bitField1_ & 0x00000002) != 0)) { output.writeDouble(56, dynamicMaxConcurrentRequestsMaxCpuFraction_); } if (((bitField1_ & 0x00000004) != 0)) { output.writeDouble(57, dynamicMaxConcurrentRequestsMinCpuFraction_); } if (((bitField1_ & 0x00000800) != 0)) { output.writeBool(58, enableSlidingScaleRouting_); } if (((bitField1_ & 0x00001000) != 0)) { output.writeInt32(59, slidingScaleReadyCloneAttempts_); } if (((bitField1_ & 0x00004000) != 0)) { output.writeInt32(60, slidingScaleLowPredictedTimeAttempts_); } if (((bitField1_ & 0x00008000) != 0)) { output.writeDouble(61, slidingScaleMaxPredictedTimeS_); } if (((bitField0_ & 0x00000020) != 0)) { output.writeInt32(62, javaClonePermGenSizeMb_); } if (((bitField1_ & 0x00010000) != 0)) { output.writeInt32(63, slidingScaleMaxActiveClones_); } if (((bitField1_ & 0x00020000) != 0)) { output.writeBool(64, enableCloneReducer_); } if (((bitField1_ & 0x00040000) != 0)) { output.writeInt32(65, cloneReducerMinAgeS_); } if (((bitField1_ & 0x00080000) != 0)) { output.writeDouble(66, cloneReducerMinUtilization1M_); } if (((bitField1_ & 0x00100000) != 0)) { output.writeInt32(67, cloneReducerMinClones_); } if (((bitField0_ & 0x10000000) != 0)) { output.writeInt32(68, cpuShares_); } if (((bitField0_ & 0x04000000) != 0)) { output.writeDouble(69, startupCpuRate_); } if (((bitField0_ & 0x00400000) != 0)) { output.writeDouble(70, maxPendingDelayBoostLimitFactor_); } if (((bitField0_ & 0x02000000) != 0)) { output.writeDouble(71, cpuRatePadding_); } if (((bitField1_ & 0x00002000) != 0)) { output.writeInt32(72, slidingScaleReadyNonDiscretionaryCloneAttempts_); } if (((bitField0_ & 0x00200000) != 0)) { output.writeDouble(73, loadingMaxPendingDelayBoostFactor_); } for (int i = 0; i < hardPrivateMemoryMultiplier_.size(); i++) { output.writeMessage(74, hardPrivateMemoryMultiplier_.get(i)); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (((bitField0_ & 0x00000001) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(3, softVirtualMemoryLimitMb_); } if (((bitField0_ & 0x00000200) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(5, maxCloneSuccessfulRequests_); } if (((bitField0_ & 0x00000400) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(6, maxCloneSequentialErrors_); } if (((bitField0_ & 0x00000800) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(7, maxActiveRequests_); } if (((bitField0_ & 0x00000002) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(8, softPrivateMemoryLimitMb_); } if (((bitField0_ & 0x00000008) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(9, hardPrivateMemoryLimitMb_); } if (((bitField0_ & 0x00008000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(11, requestDeadlineS_); } if (((bitField0_ & 0x00100000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(12, maxPendingDelayS_); } if (((bitField0_ & 0x00800000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(16, pushBackMaxPendingRequests_); } if (((bitField0_ & 0x00010000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(18, offlineRequestDeadlineS_); } if (((bitField0_ & 0x00004000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(19, maxLoadingRequests_); } if (((bitField0_ & 0x00020000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(20, warmingRequestDeadlineS_); } if (((bitField0_ & 0x01000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(21, maxCpuRate_); } if (((bitField0_ & 0x08000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(23, maxConcurrentRequests_); } if (((bitField1_ & 0x00000040) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(24, cloneLbPolicy_); } if (((bitField1_ & 0x00000020) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(25, maxAcceptingCpu_); } if (((bitField0_ & 0x00002000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(26, throttleLoadingRequests_); } if (((bitField0_ & 0x00001000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(27, maxActiveClones_); } if (((bitField0_ & 0x00000010) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(29, javaCloneHeapSizeMb_); } if (((bitField0_ & 0x00040000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(32, loadingRequestDeadlineS_); } if (((bitField0_ & 0x00080000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(33, shutdownRequestDeadlineS_); } if (((bitField0_ & 0x00000040) != 0)) { size += com.google.protobuf.CodedOutputStream .computeEnumSize(34, javaVmType_); } if (((bitField0_ & 0x00000004) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(35, mediumPrivateMemoryLimitMb_); } if (((bitField0_ & 0x80000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(36, maxConcurrentRequestsTotalSize_); } if (((bitField1_ & 0x00000008) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(37, maxPendingRequestsTotalSize_); } if (((bitField1_ & 0x00000010) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(38, pushBackMaxPendingRequestsTotalSize_); } if (((bitField0_ & 0x00000080) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(39, waitForActiveClonesMinPendingTimeS_); } if (((bitField0_ & 0x00000100) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(41, waitForActiveClonesMaxPendingTimeS_); } if (((bitField1_ & 0x00000080) != 0)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(48, getProfilerSettings()); } if (((bitField1_ & 0x00000100) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(50, multiQueueWarmLatencyMultiplier_); } if (((bitField1_ & 0x00000200) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(51, multiQueueMinPredictedTimeS_); } if (((bitField1_ & 0x00000400) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(52, multiQueueMaxPredictedTimeS_); } if (((bitField0_ & 0x40000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(53, maxBackgroundRequests_); } if (((bitField0_ & 0x20000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(54, minConcurrentRequests_); } if (((bitField1_ & 0x00000001) != 0)) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(55, useDynamicMaxConcurrentRequests_); } if (((bitField1_ & 0x00000002) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(56, dynamicMaxConcurrentRequestsMaxCpuFraction_); } if (((bitField1_ & 0x00000004) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(57, dynamicMaxConcurrentRequestsMinCpuFraction_); } if (((bitField1_ & 0x00000800) != 0)) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(58, enableSlidingScaleRouting_); } if (((bitField1_ & 0x00001000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(59, slidingScaleReadyCloneAttempts_); } if (((bitField1_ & 0x00004000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(60, slidingScaleLowPredictedTimeAttempts_); } if (((bitField1_ & 0x00008000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(61, slidingScaleMaxPredictedTimeS_); } if (((bitField0_ & 0x00000020) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(62, javaClonePermGenSizeMb_); } if (((bitField1_ & 0x00010000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(63, slidingScaleMaxActiveClones_); } if (((bitField1_ & 0x00020000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(64, enableCloneReducer_); } if (((bitField1_ & 0x00040000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(65, cloneReducerMinAgeS_); } if (((bitField1_ & 0x00080000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(66, cloneReducerMinUtilization1M_); } if (((bitField1_ & 0x00100000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(67, cloneReducerMinClones_); } if (((bitField0_ & 0x10000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(68, cpuShares_); } if (((bitField0_ & 0x04000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(69, startupCpuRate_); } if (((bitField0_ & 0x00400000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(70, maxPendingDelayBoostLimitFactor_); } if (((bitField0_ & 0x02000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(71, cpuRatePadding_); } if (((bitField1_ & 0x00002000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(72, slidingScaleReadyNonDiscretionaryCloneAttempts_); } if (((bitField0_ & 0x00200000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(73, loadingMaxPendingDelayBoostFactor_); } for (int i = 0; i < hardPrivateMemoryMultiplier_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(74, hardPrivateMemoryMultiplier_.get(i)); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof com.google.apphosting.base.protos.ClonePb.SupervisorSettings)) { return super.equals(obj); } com.google.apphosting.base.protos.ClonePb.SupervisorSettings other = (com.google.apphosting.base.protos.ClonePb.SupervisorSettings) obj; if (hasSoftVirtualMemoryLimitMb() != other.hasSoftVirtualMemoryLimitMb()) return false; if (hasSoftVirtualMemoryLimitMb()) { if (getSoftVirtualMemoryLimitMb() != other.getSoftVirtualMemoryLimitMb()) return false; } if (hasSoftPrivateMemoryLimitMb() != other.hasSoftPrivateMemoryLimitMb()) return false; if (hasSoftPrivateMemoryLimitMb()) { if (getSoftPrivateMemoryLimitMb() != other.getSoftPrivateMemoryLimitMb()) return false; } if (hasMediumPrivateMemoryLimitMb() != other.hasMediumPrivateMemoryLimitMb()) return false; if (hasMediumPrivateMemoryLimitMb()) { if (getMediumPrivateMemoryLimitMb() != other.getMediumPrivateMemoryLimitMb()) return false; } if (hasHardPrivateMemoryLimitMb() != other.hasHardPrivateMemoryLimitMb()) return false; if (hasHardPrivateMemoryLimitMb()) { if (getHardPrivateMemoryLimitMb() != other.getHardPrivateMemoryLimitMb()) return false; } if (!getHardPrivateMemoryMultiplierList() .equals(other.getHardPrivateMemoryMultiplierList())) return false; if (hasJavaCloneHeapSizeMb() != other.hasJavaCloneHeapSizeMb()) return false; if (hasJavaCloneHeapSizeMb()) { if (getJavaCloneHeapSizeMb() != other.getJavaCloneHeapSizeMb()) return false; } if (hasJavaClonePermGenSizeMb() != other.hasJavaClonePermGenSizeMb()) return false; if (hasJavaClonePermGenSizeMb()) { if (getJavaClonePermGenSizeMb() != other.getJavaClonePermGenSizeMb()) return false; } if (hasJavaVmType() != other.hasJavaVmType()) return false; if (hasJavaVmType()) { if (javaVmType_ != other.javaVmType_) return false; } if (hasWaitForActiveClonesMinPendingTimeS() != other.hasWaitForActiveClonesMinPendingTimeS()) return false; if (hasWaitForActiveClonesMinPendingTimeS()) { if (java.lang.Double.doubleToLongBits(getWaitForActiveClonesMinPendingTimeS()) != java.lang.Double.doubleToLongBits( other.getWaitForActiveClonesMinPendingTimeS())) return false; } if (hasWaitForActiveClonesMaxPendingTimeS() != other.hasWaitForActiveClonesMaxPendingTimeS()) return false; if (hasWaitForActiveClonesMaxPendingTimeS()) { if (java.lang.Double.doubleToLongBits(getWaitForActiveClonesMaxPendingTimeS()) != java.lang.Double.doubleToLongBits( other.getWaitForActiveClonesMaxPendingTimeS())) return false; } if (hasMaxCloneSuccessfulRequests() != other.hasMaxCloneSuccessfulRequests()) return false; if (hasMaxCloneSuccessfulRequests()) { if (getMaxCloneSuccessfulRequests() != other.getMaxCloneSuccessfulRequests()) return false; } if (hasMaxCloneSequentialErrors() != other.hasMaxCloneSequentialErrors()) return false; if (hasMaxCloneSequentialErrors()) { if (getMaxCloneSequentialErrors() != other.getMaxCloneSequentialErrors()) return false; } if (hasMaxActiveRequests() != other.hasMaxActiveRequests()) return false; if (hasMaxActiveRequests()) { if (getMaxActiveRequests() != other.getMaxActiveRequests()) return false; } if (hasMaxActiveClones() != other.hasMaxActiveClones()) return false; if (hasMaxActiveClones()) { if (getMaxActiveClones() != other.getMaxActiveClones()) return false; } if (hasThrottleLoadingRequests() != other.hasThrottleLoadingRequests()) return false; if (hasThrottleLoadingRequests()) { if (getThrottleLoadingRequests() != other.getThrottleLoadingRequests()) return false; } if (hasMaxLoadingRequests() != other.hasMaxLoadingRequests()) return false; if (hasMaxLoadingRequests()) { if (getMaxLoadingRequests() != other.getMaxLoadingRequests()) return false; } if (hasRequestDeadlineS() != other.hasRequestDeadlineS()) return false; if (hasRequestDeadlineS()) { if (java.lang.Double.doubleToLongBits(getRequestDeadlineS()) != java.lang.Double.doubleToLongBits( other.getRequestDeadlineS())) return false; } if (hasOfflineRequestDeadlineS() != other.hasOfflineRequestDeadlineS()) return false; if (hasOfflineRequestDeadlineS()) { if (java.lang.Double.doubleToLongBits(getOfflineRequestDeadlineS()) != java.lang.Double.doubleToLongBits( other.getOfflineRequestDeadlineS())) return false; } if (hasWarmingRequestDeadlineS() != other.hasWarmingRequestDeadlineS()) return false; if (hasWarmingRequestDeadlineS()) { if (java.lang.Double.doubleToLongBits(getWarmingRequestDeadlineS()) != java.lang.Double.doubleToLongBits( other.getWarmingRequestDeadlineS())) return false; } if (hasLoadingRequestDeadlineS() != other.hasLoadingRequestDeadlineS()) return false; if (hasLoadingRequestDeadlineS()) { if (java.lang.Double.doubleToLongBits(getLoadingRequestDeadlineS()) != java.lang.Double.doubleToLongBits( other.getLoadingRequestDeadlineS())) return false; } if (hasShutdownRequestDeadlineS() != other.hasShutdownRequestDeadlineS()) return false; if (hasShutdownRequestDeadlineS()) { if (java.lang.Double.doubleToLongBits(getShutdownRequestDeadlineS()) != java.lang.Double.doubleToLongBits( other.getShutdownRequestDeadlineS())) return false; } if (hasMaxPendingDelayS() != other.hasMaxPendingDelayS()) return false; if (hasMaxPendingDelayS()) { if (java.lang.Double.doubleToLongBits(getMaxPendingDelayS()) != java.lang.Double.doubleToLongBits( other.getMaxPendingDelayS())) return false; } if (hasLoadingMaxPendingDelayBoostFactor() != other.hasLoadingMaxPendingDelayBoostFactor()) return false; if (hasLoadingMaxPendingDelayBoostFactor()) { if (java.lang.Double.doubleToLongBits(getLoadingMaxPendingDelayBoostFactor()) != java.lang.Double.doubleToLongBits( other.getLoadingMaxPendingDelayBoostFactor())) return false; } if (hasMaxPendingDelayBoostLimitFactor() != other.hasMaxPendingDelayBoostLimitFactor()) return false; if (hasMaxPendingDelayBoostLimitFactor()) { if (java.lang.Double.doubleToLongBits(getMaxPendingDelayBoostLimitFactor()) != java.lang.Double.doubleToLongBits( other.getMaxPendingDelayBoostLimitFactor())) return false; } if (hasPushBackMaxPendingRequests() != other.hasPushBackMaxPendingRequests()) return false; if (hasPushBackMaxPendingRequests()) { if (getPushBackMaxPendingRequests() != other.getPushBackMaxPendingRequests()) return false; } if (hasMaxCpuRate() != other.hasMaxCpuRate()) return false; if (hasMaxCpuRate()) { if (java.lang.Double.doubleToLongBits(getMaxCpuRate()) != java.lang.Double.doubleToLongBits( other.getMaxCpuRate())) return false; } if (hasCpuRatePadding() != other.hasCpuRatePadding()) return false; if (hasCpuRatePadding()) { if (java.lang.Double.doubleToLongBits(getCpuRatePadding()) != java.lang.Double.doubleToLongBits( other.getCpuRatePadding())) return false; } if (hasStartupCpuRate() != other.hasStartupCpuRate()) return false; if (hasStartupCpuRate()) { if (java.lang.Double.doubleToLongBits(getStartupCpuRate()) != java.lang.Double.doubleToLongBits( other.getStartupCpuRate())) return false; } if (hasMaxConcurrentRequests() != other.hasMaxConcurrentRequests()) return false; if (hasMaxConcurrentRequests()) { if (getMaxConcurrentRequests() != other.getMaxConcurrentRequests()) return false; } if (hasCpuShares() != other.hasCpuShares()) return false; if (hasCpuShares()) { if (getCpuShares() != other.getCpuShares()) return false; } if (hasMinConcurrentRequests() != other.hasMinConcurrentRequests()) return false; if (hasMinConcurrentRequests()) { if (getMinConcurrentRequests() != other.getMinConcurrentRequests()) return false; } if (hasMaxBackgroundRequests() != other.hasMaxBackgroundRequests()) return false; if (hasMaxBackgroundRequests()) { if (getMaxBackgroundRequests() != other.getMaxBackgroundRequests()) return false; } if (hasMaxConcurrentRequestsTotalSize() != other.hasMaxConcurrentRequestsTotalSize()) return false; if (hasMaxConcurrentRequestsTotalSize()) { if (getMaxConcurrentRequestsTotalSize() != other.getMaxConcurrentRequestsTotalSize()) return false; } if (hasUseDynamicMaxConcurrentRequests() != other.hasUseDynamicMaxConcurrentRequests()) return false; if (hasUseDynamicMaxConcurrentRequests()) { if (getUseDynamicMaxConcurrentRequests() != other.getUseDynamicMaxConcurrentRequests()) return false; } if (hasDynamicMaxConcurrentRequestsMaxCpuFraction() != other.hasDynamicMaxConcurrentRequestsMaxCpuFraction()) return false; if (hasDynamicMaxConcurrentRequestsMaxCpuFraction()) { if (java.lang.Double.doubleToLongBits(getDynamicMaxConcurrentRequestsMaxCpuFraction()) != java.lang.Double.doubleToLongBits( other.getDynamicMaxConcurrentRequestsMaxCpuFraction())) return false; } if (hasDynamicMaxConcurrentRequestsMinCpuFraction() != other.hasDynamicMaxConcurrentRequestsMinCpuFraction()) return false; if (hasDynamicMaxConcurrentRequestsMinCpuFraction()) { if (java.lang.Double.doubleToLongBits(getDynamicMaxConcurrentRequestsMinCpuFraction()) != java.lang.Double.doubleToLongBits( other.getDynamicMaxConcurrentRequestsMinCpuFraction())) return false; } if (hasMaxPendingRequestsTotalSize() != other.hasMaxPendingRequestsTotalSize()) return false; if (hasMaxPendingRequestsTotalSize()) { if (getMaxPendingRequestsTotalSize() != other.getMaxPendingRequestsTotalSize()) return false; } if (hasPushBackMaxPendingRequestsTotalSize() != other.hasPushBackMaxPendingRequestsTotalSize()) return false; if (hasPushBackMaxPendingRequestsTotalSize()) { if (getPushBackMaxPendingRequestsTotalSize() != other.getPushBackMaxPendingRequestsTotalSize()) return false; } if (hasMaxAcceptingCpu() != other.hasMaxAcceptingCpu()) return false; if (hasMaxAcceptingCpu()) { if (java.lang.Double.doubleToLongBits(getMaxAcceptingCpu()) != java.lang.Double.doubleToLongBits( other.getMaxAcceptingCpu())) return false; } if (hasCloneLbPolicy() != other.hasCloneLbPolicy()) return false; if (hasCloneLbPolicy()) { if (getCloneLbPolicy() != other.getCloneLbPolicy()) return false; } if (hasProfilerSettings() != other.hasProfilerSettings()) return false; if (hasProfilerSettings()) { if (!getProfilerSettings() .equals(other.getProfilerSettings())) return false; } if (hasMultiQueueWarmLatencyMultiplier() != other.hasMultiQueueWarmLatencyMultiplier()) return false; if (hasMultiQueueWarmLatencyMultiplier()) { if (java.lang.Double.doubleToLongBits(getMultiQueueWarmLatencyMultiplier()) != java.lang.Double.doubleToLongBits( other.getMultiQueueWarmLatencyMultiplier())) return false; } if (hasMultiQueueMinPredictedTimeS() != other.hasMultiQueueMinPredictedTimeS()) return false; if (hasMultiQueueMinPredictedTimeS()) { if (java.lang.Double.doubleToLongBits(getMultiQueueMinPredictedTimeS()) != java.lang.Double.doubleToLongBits( other.getMultiQueueMinPredictedTimeS())) return false; } if (hasMultiQueueMaxPredictedTimeS() != other.hasMultiQueueMaxPredictedTimeS()) return false; if (hasMultiQueueMaxPredictedTimeS()) { if (java.lang.Double.doubleToLongBits(getMultiQueueMaxPredictedTimeS()) != java.lang.Double.doubleToLongBits( other.getMultiQueueMaxPredictedTimeS())) return false; } if (hasEnableSlidingScaleRouting() != other.hasEnableSlidingScaleRouting()) return false; if (hasEnableSlidingScaleRouting()) { if (getEnableSlidingScaleRouting() != other.getEnableSlidingScaleRouting()) return false; } if (hasSlidingScaleReadyCloneAttempts() != other.hasSlidingScaleReadyCloneAttempts()) return false; if (hasSlidingScaleReadyCloneAttempts()) { if (getSlidingScaleReadyCloneAttempts() != other.getSlidingScaleReadyCloneAttempts()) return false; } if (hasSlidingScaleReadyNonDiscretionaryCloneAttempts() != other.hasSlidingScaleReadyNonDiscretionaryCloneAttempts()) return false; if (hasSlidingScaleReadyNonDiscretionaryCloneAttempts()) { if (getSlidingScaleReadyNonDiscretionaryCloneAttempts() != other.getSlidingScaleReadyNonDiscretionaryCloneAttempts()) return false; } if (hasSlidingScaleLowPredictedTimeAttempts() != other.hasSlidingScaleLowPredictedTimeAttempts()) return false; if (hasSlidingScaleLowPredictedTimeAttempts()) { if (getSlidingScaleLowPredictedTimeAttempts() != other.getSlidingScaleLowPredictedTimeAttempts()) return false; } if (hasSlidingScaleMaxPredictedTimeS() != other.hasSlidingScaleMaxPredictedTimeS()) return false; if (hasSlidingScaleMaxPredictedTimeS()) { if (java.lang.Double.doubleToLongBits(getSlidingScaleMaxPredictedTimeS()) != java.lang.Double.doubleToLongBits( other.getSlidingScaleMaxPredictedTimeS())) return false; } if (hasSlidingScaleMaxActiveClones() != other.hasSlidingScaleMaxActiveClones()) return false; if (hasSlidingScaleMaxActiveClones()) { if (getSlidingScaleMaxActiveClones() != other.getSlidingScaleMaxActiveClones()) return false; } if (hasEnableCloneReducer() != other.hasEnableCloneReducer()) return false; if (hasEnableCloneReducer()) { if (getEnableCloneReducer() != other.getEnableCloneReducer()) return false; } if (hasCloneReducerMinAgeS() != other.hasCloneReducerMinAgeS()) return false; if (hasCloneReducerMinAgeS()) { if (getCloneReducerMinAgeS() != other.getCloneReducerMinAgeS()) return false; } if (hasCloneReducerMinUtilization1M() != other.hasCloneReducerMinUtilization1M()) return false; if (hasCloneReducerMinUtilization1M()) { if (java.lang.Double.doubleToLongBits(getCloneReducerMinUtilization1M()) != java.lang.Double.doubleToLongBits( other.getCloneReducerMinUtilization1M())) return false; } if (hasCloneReducerMinClones() != other.hasCloneReducerMinClones()) return false; if (hasCloneReducerMinClones()) { if (getCloneReducerMinClones() != other.getCloneReducerMinClones()) return false; } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasSoftVirtualMemoryLimitMb()) { hash = (37 * hash) + SOFT_VIRTUAL_MEMORY_LIMIT_MB_FIELD_NUMBER; hash = (53 * hash) + getSoftVirtualMemoryLimitMb(); } if (hasSoftPrivateMemoryLimitMb()) { hash = (37 * hash) + SOFT_PRIVATE_MEMORY_LIMIT_MB_FIELD_NUMBER; hash = (53 * hash) + getSoftPrivateMemoryLimitMb(); } if (hasMediumPrivateMemoryLimitMb()) { hash = (37 * hash) + MEDIUM_PRIVATE_MEMORY_LIMIT_MB_FIELD_NUMBER; hash = (53 * hash) + getMediumPrivateMemoryLimitMb(); } if (hasHardPrivateMemoryLimitMb()) { hash = (37 * hash) + HARD_PRIVATE_MEMORY_LIMIT_MB_FIELD_NUMBER; hash = (53 * hash) + getHardPrivateMemoryLimitMb(); } if (getHardPrivateMemoryMultiplierCount() > 0) { hash = (37 * hash) + HARD_PRIVATE_MEMORY_MULTIPLIER_FIELD_NUMBER; hash = (53 * hash) + getHardPrivateMemoryMultiplierList().hashCode(); } if (hasJavaCloneHeapSizeMb()) { hash = (37 * hash) + JAVA_CLONE_HEAP_SIZE_MB_FIELD_NUMBER; hash = (53 * hash) + getJavaCloneHeapSizeMb(); } if (hasJavaClonePermGenSizeMb()) { hash = (37 * hash) + JAVA_CLONE_PERM_GEN_SIZE_MB_FIELD_NUMBER; hash = (53 * hash) + getJavaClonePermGenSizeMb(); } if (hasJavaVmType()) { hash = (37 * hash) + JAVA_VM_TYPE_FIELD_NUMBER; hash = (53 * hash) + javaVmType_; } if (hasWaitForActiveClonesMinPendingTimeS()) { hash = (37 * hash) + WAIT_FOR_ACTIVE_CLONES_MIN_PENDING_TIME_S_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getWaitForActiveClonesMinPendingTimeS())); } if (hasWaitForActiveClonesMaxPendingTimeS()) { hash = (37 * hash) + WAIT_FOR_ACTIVE_CLONES_MAX_PENDING_TIME_S_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getWaitForActiveClonesMaxPendingTimeS())); } if (hasMaxCloneSuccessfulRequests()) { hash = (37 * hash) + MAX_CLONE_SUCCESSFUL_REQUESTS_FIELD_NUMBER; hash = (53 * hash) + getMaxCloneSuccessfulRequests(); } if (hasMaxCloneSequentialErrors()) { hash = (37 * hash) + MAX_CLONE_SEQUENTIAL_ERRORS_FIELD_NUMBER; hash = (53 * hash) + getMaxCloneSequentialErrors(); } if (hasMaxActiveRequests()) { hash = (37 * hash) + MAX_ACTIVE_REQUESTS_FIELD_NUMBER; hash = (53 * hash) + getMaxActiveRequests(); } if (hasMaxActiveClones()) { hash = (37 * hash) + MAX_ACTIVE_CLONES_FIELD_NUMBER; hash = (53 * hash) + getMaxActiveClones(); } if (hasThrottleLoadingRequests()) { hash = (37 * hash) + THROTTLE_LOADING_REQUESTS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getThrottleLoadingRequests()); } if (hasMaxLoadingRequests()) { hash = (37 * hash) + MAX_LOADING_REQUESTS_FIELD_NUMBER; hash = (53 * hash) + getMaxLoadingRequests(); } if (hasRequestDeadlineS()) { hash = (37 * hash) + REQUEST_DEADLINE_S_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getRequestDeadlineS())); } if (hasOfflineRequestDeadlineS()) { hash = (37 * hash) + OFFLINE_REQUEST_DEADLINE_S_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getOfflineRequestDeadlineS())); } if (hasWarmingRequestDeadlineS()) { hash = (37 * hash) + WARMING_REQUEST_DEADLINE_S_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getWarmingRequestDeadlineS())); } if (hasLoadingRequestDeadlineS()) { hash = (37 * hash) + LOADING_REQUEST_DEADLINE_S_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getLoadingRequestDeadlineS())); } if (hasShutdownRequestDeadlineS()) { hash = (37 * hash) + SHUTDOWN_REQUEST_DEADLINE_S_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getShutdownRequestDeadlineS())); } if (hasMaxPendingDelayS()) { hash = (37 * hash) + MAX_PENDING_DELAY_S_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getMaxPendingDelayS())); } if (hasLoadingMaxPendingDelayBoostFactor()) { hash = (37 * hash) + LOADING_MAX_PENDING_DELAY_BOOST_FACTOR_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getLoadingMaxPendingDelayBoostFactor())); } if (hasMaxPendingDelayBoostLimitFactor()) { hash = (37 * hash) + MAX_PENDING_DELAY_BOOST_LIMIT_FACTOR_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getMaxPendingDelayBoostLimitFactor())); } if (hasPushBackMaxPendingRequests()) { hash = (37 * hash) + PUSH_BACK_MAX_PENDING_REQUESTS_FIELD_NUMBER; hash = (53 * hash) + getPushBackMaxPendingRequests(); } if (hasMaxCpuRate()) { hash = (37 * hash) + MAX_CPU_RATE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getMaxCpuRate())); } if (hasCpuRatePadding()) { hash = (37 * hash) + CPU_RATE_PADDING_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getCpuRatePadding())); } if (hasStartupCpuRate()) { hash = (37 * hash) + STARTUP_CPU_RATE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getStartupCpuRate())); } if (hasMaxConcurrentRequests()) { hash = (37 * hash) + MAX_CONCURRENT_REQUESTS_FIELD_NUMBER; hash = (53 * hash) + getMaxConcurrentRequests(); } if (hasCpuShares()) { hash = (37 * hash) + CPU_SHARES_FIELD_NUMBER; hash = (53 * hash) + getCpuShares(); } if (hasMinConcurrentRequests()) { hash = (37 * hash) + MIN_CONCURRENT_REQUESTS_FIELD_NUMBER; hash = (53 * hash) + getMinConcurrentRequests(); } if (hasMaxBackgroundRequests()) { hash = (37 * hash) + MAX_BACKGROUND_REQUESTS_FIELD_NUMBER; hash = (53 * hash) + getMaxBackgroundRequests(); } if (hasMaxConcurrentRequestsTotalSize()) { hash = (37 * hash) + MAX_CONCURRENT_REQUESTS_TOTAL_SIZE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getMaxConcurrentRequestsTotalSize()); } if (hasUseDynamicMaxConcurrentRequests()) { hash = (37 * hash) + USE_DYNAMIC_MAX_CONCURRENT_REQUESTS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getUseDynamicMaxConcurrentRequests()); } if (hasDynamicMaxConcurrentRequestsMaxCpuFraction()) { hash = (37 * hash) + DYNAMIC_MAX_CONCURRENT_REQUESTS_MAX_CPU_FRACTION_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getDynamicMaxConcurrentRequestsMaxCpuFraction())); } if (hasDynamicMaxConcurrentRequestsMinCpuFraction()) { hash = (37 * hash) + DYNAMIC_MAX_CONCURRENT_REQUESTS_MIN_CPU_FRACTION_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getDynamicMaxConcurrentRequestsMinCpuFraction())); } if (hasMaxPendingRequestsTotalSize()) { hash = (37 * hash) + MAX_PENDING_REQUESTS_TOTAL_SIZE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getMaxPendingRequestsTotalSize()); } if (hasPushBackMaxPendingRequestsTotalSize()) { hash = (37 * hash) + PUSH_BACK_MAX_PENDING_REQUESTS_TOTAL_SIZE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getPushBackMaxPendingRequestsTotalSize()); } if (hasMaxAcceptingCpu()) { hash = (37 * hash) + MAX_ACCEPTING_CPU_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getMaxAcceptingCpu())); } if (hasCloneLbPolicy()) { hash = (37 * hash) + CLONE_LB_POLICY_FIELD_NUMBER; hash = (53 * hash) + getCloneLbPolicy(); } if (hasProfilerSettings()) { hash = (37 * hash) + PROFILER_SETTINGS_FIELD_NUMBER; hash = (53 * hash) + getProfilerSettings().hashCode(); } if (hasMultiQueueWarmLatencyMultiplier()) { hash = (37 * hash) + MULTI_QUEUE_WARM_LATENCY_MULTIPLIER_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getMultiQueueWarmLatencyMultiplier())); } if (hasMultiQueueMinPredictedTimeS()) { hash = (37 * hash) + MULTI_QUEUE_MIN_PREDICTED_TIME_S_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getMultiQueueMinPredictedTimeS())); } if (hasMultiQueueMaxPredictedTimeS()) { hash = (37 * hash) + MULTI_QUEUE_MAX_PREDICTED_TIME_S_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getMultiQueueMaxPredictedTimeS())); } if (hasEnableSlidingScaleRouting()) { hash = (37 * hash) + ENABLE_SLIDING_SCALE_ROUTING_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getEnableSlidingScaleRouting()); } if (hasSlidingScaleReadyCloneAttempts()) { hash = (37 * hash) + SLIDING_SCALE_READY_CLONE_ATTEMPTS_FIELD_NUMBER; hash = (53 * hash) + getSlidingScaleReadyCloneAttempts(); } if (hasSlidingScaleReadyNonDiscretionaryCloneAttempts()) { hash = (37 * hash) + SLIDING_SCALE_READY_NON_DISCRETIONARY_CLONE_ATTEMPTS_FIELD_NUMBER; hash = (53 * hash) + getSlidingScaleReadyNonDiscretionaryCloneAttempts(); } if (hasSlidingScaleLowPredictedTimeAttempts()) { hash = (37 * hash) + SLIDING_SCALE_LOW_PREDICTED_TIME_ATTEMPTS_FIELD_NUMBER; hash = (53 * hash) + getSlidingScaleLowPredictedTimeAttempts(); } if (hasSlidingScaleMaxPredictedTimeS()) { hash = (37 * hash) + SLIDING_SCALE_MAX_PREDICTED_TIME_S_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getSlidingScaleMaxPredictedTimeS())); } if (hasSlidingScaleMaxActiveClones()) { hash = (37 * hash) + SLIDING_SCALE_MAX_ACTIVE_CLONES_FIELD_NUMBER; hash = (53 * hash) + getSlidingScaleMaxActiveClones(); } if (hasEnableCloneReducer()) { hash = (37 * hash) + ENABLE_CLONE_REDUCER_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getEnableCloneReducer()); } if (hasCloneReducerMinAgeS()) { hash = (37 * hash) + CLONE_REDUCER_MIN_AGE_S_FIELD_NUMBER; hash = (53 * hash) + getCloneReducerMinAgeS(); } if (hasCloneReducerMinUtilization1M()) { hash = (37 * hash) + CLONE_REDUCER_MIN_UTILIZATION_1M_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getCloneReducerMinUtilization1M())); } if (hasCloneReducerMinClones()) { hash = (37 * hash) + CLONE_REDUCER_MIN_CLONES_FIELD_NUMBER; hash = (53 * hash) + getCloneReducerMinClones(); } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static com.google.apphosting.base.protos.ClonePb.SupervisorSettings parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apphosting.base.protos.ClonePb.SupervisorSettings parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.SupervisorSettings parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apphosting.base.protos.ClonePb.SupervisorSettings parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.SupervisorSettings parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apphosting.base.protos.ClonePb.SupervisorSettings parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.SupervisorSettings parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.google.apphosting.base.protos.ClonePb.SupervisorSettings parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.SupervisorSettings parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static com.google.apphosting.base.protos.ClonePb.SupervisorSettings parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static com.google.apphosting.base.protos.ClonePb.SupervisorSettings parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.google.apphosting.base.protos.ClonePb.SupervisorSettings parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(com.google.apphosting.base.protos.ClonePb.SupervisorSettings prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * Settings intended for a supervisor to implement.
     * Next tag: 75
     * 
* * Protobuf type {@code java.apphosting.SupervisorSettings} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:java.apphosting.SupervisorSettings) com.google.apphosting.base.protos.ClonePb.SupervisorSettingsOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_SupervisorSettings_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_SupervisorSettings_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.apphosting.base.protos.ClonePb.SupervisorSettings.class, com.google.apphosting.base.protos.ClonePb.SupervisorSettings.Builder.class); } // Construct using com.google.apphosting.base.protos.ClonePb.SupervisorSettings.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { getHardPrivateMemoryMultiplierFieldBuilder(); getProfilerSettingsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; bitField1_ = 0; softVirtualMemoryLimitMb_ = 0; softPrivateMemoryLimitMb_ = 0; mediumPrivateMemoryLimitMb_ = 0; hardPrivateMemoryLimitMb_ = 0; if (hardPrivateMemoryMultiplierBuilder_ == null) { hardPrivateMemoryMultiplier_ = java.util.Collections.emptyList(); } else { hardPrivateMemoryMultiplier_ = null; hardPrivateMemoryMultiplierBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000010); javaCloneHeapSizeMb_ = 0; javaClonePermGenSizeMb_ = 0; javaVmType_ = 0; waitForActiveClonesMinPendingTimeS_ = 0D; waitForActiveClonesMaxPendingTimeS_ = 0D; maxCloneSuccessfulRequests_ = 0; maxCloneSequentialErrors_ = 0; maxActiveRequests_ = 0; maxActiveClones_ = 0; throttleLoadingRequests_ = false; maxLoadingRequests_ = 0; requestDeadlineS_ = 0D; offlineRequestDeadlineS_ = 0D; warmingRequestDeadlineS_ = 0D; loadingRequestDeadlineS_ = 0D; shutdownRequestDeadlineS_ = 0D; maxPendingDelayS_ = 0D; loadingMaxPendingDelayBoostFactor_ = 0D; maxPendingDelayBoostLimitFactor_ = 0D; pushBackMaxPendingRequests_ = 0; maxCpuRate_ = 0D; cpuRatePadding_ = 0D; startupCpuRate_ = 0D; maxConcurrentRequests_ = 0; cpuShares_ = 0; minConcurrentRequests_ = 0; maxBackgroundRequests_ = 0; maxConcurrentRequestsTotalSize_ = 0L; useDynamicMaxConcurrentRequests_ = false; dynamicMaxConcurrentRequestsMaxCpuFraction_ = 0D; dynamicMaxConcurrentRequestsMinCpuFraction_ = 0D; maxPendingRequestsTotalSize_ = 0L; pushBackMaxPendingRequestsTotalSize_ = 0L; maxAcceptingCpu_ = 0D; cloneLbPolicy_ = 0; profilerSettings_ = null; if (profilerSettingsBuilder_ != null) { profilerSettingsBuilder_.dispose(); profilerSettingsBuilder_ = null; } multiQueueWarmLatencyMultiplier_ = 0D; multiQueueMinPredictedTimeS_ = 0D; multiQueueMaxPredictedTimeS_ = 0D; enableSlidingScaleRouting_ = false; slidingScaleReadyCloneAttempts_ = 0; slidingScaleReadyNonDiscretionaryCloneAttempts_ = 0; slidingScaleLowPredictedTimeAttempts_ = 0; slidingScaleMaxPredictedTimeS_ = 0D; slidingScaleMaxActiveClones_ = 0; enableCloneReducer_ = false; cloneReducerMinAgeS_ = 0; cloneReducerMinUtilization1M_ = 0D; cloneReducerMinClones_ = 0; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return com.google.apphosting.base.protos.ClonePb.internal_static_java_apphosting_SupervisorSettings_descriptor; } @java.lang.Override public com.google.apphosting.base.protos.ClonePb.SupervisorSettings getDefaultInstanceForType() { return com.google.apphosting.base.protos.ClonePb.SupervisorSettings.getDefaultInstance(); } @java.lang.Override public com.google.apphosting.base.protos.ClonePb.SupervisorSettings build() { com.google.apphosting.base.protos.ClonePb.SupervisorSettings result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public com.google.apphosting.base.protos.ClonePb.SupervisorSettings buildPartial() { com.google.apphosting.base.protos.ClonePb.SupervisorSettings result = new com.google.apphosting.base.protos.ClonePb.SupervisorSettings(this); buildPartialRepeatedFields(result); if (bitField0_ != 0) { buildPartial0(result); } if (bitField1_ != 0) { buildPartial1(result); } onBuilt(); return result; } private void buildPartialRepeatedFields(com.google.apphosting.base.protos.ClonePb.SupervisorSettings result) { if (hardPrivateMemoryMultiplierBuilder_ == null) { if (((bitField0_ & 0x00000010) != 0)) { hardPrivateMemoryMultiplier_ = java.util.Collections.unmodifiableList(hardPrivateMemoryMultiplier_); bitField0_ = (bitField0_ & ~0x00000010); } result.hardPrivateMemoryMultiplier_ = hardPrivateMemoryMultiplier_; } else { result.hardPrivateMemoryMultiplier_ = hardPrivateMemoryMultiplierBuilder_.build(); } } private void buildPartial0(com.google.apphosting.base.protos.ClonePb.SupervisorSettings result) { int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { result.softVirtualMemoryLimitMb_ = softVirtualMemoryLimitMb_; to_bitField0_ |= 0x00000001; } if (((from_bitField0_ & 0x00000002) != 0)) { result.softPrivateMemoryLimitMb_ = softPrivateMemoryLimitMb_; to_bitField0_ |= 0x00000002; } if (((from_bitField0_ & 0x00000004) != 0)) { result.mediumPrivateMemoryLimitMb_ = mediumPrivateMemoryLimitMb_; to_bitField0_ |= 0x00000004; } if (((from_bitField0_ & 0x00000008) != 0)) { result.hardPrivateMemoryLimitMb_ = hardPrivateMemoryLimitMb_; to_bitField0_ |= 0x00000008; } if (((from_bitField0_ & 0x00000020) != 0)) { result.javaCloneHeapSizeMb_ = javaCloneHeapSizeMb_; to_bitField0_ |= 0x00000010; } if (((from_bitField0_ & 0x00000040) != 0)) { result.javaClonePermGenSizeMb_ = javaClonePermGenSizeMb_; to_bitField0_ |= 0x00000020; } if (((from_bitField0_ & 0x00000080) != 0)) { result.javaVmType_ = javaVmType_; to_bitField0_ |= 0x00000040; } if (((from_bitField0_ & 0x00000100) != 0)) { result.waitForActiveClonesMinPendingTimeS_ = waitForActiveClonesMinPendingTimeS_; to_bitField0_ |= 0x00000080; } if (((from_bitField0_ & 0x00000200) != 0)) { result.waitForActiveClonesMaxPendingTimeS_ = waitForActiveClonesMaxPendingTimeS_; to_bitField0_ |= 0x00000100; } if (((from_bitField0_ & 0x00000400) != 0)) { result.maxCloneSuccessfulRequests_ = maxCloneSuccessfulRequests_; to_bitField0_ |= 0x00000200; } if (((from_bitField0_ & 0x00000800) != 0)) { result.maxCloneSequentialErrors_ = maxCloneSequentialErrors_; to_bitField0_ |= 0x00000400; } if (((from_bitField0_ & 0x00001000) != 0)) { result.maxActiveRequests_ = maxActiveRequests_; to_bitField0_ |= 0x00000800; } if (((from_bitField0_ & 0x00002000) != 0)) { result.maxActiveClones_ = maxActiveClones_; to_bitField0_ |= 0x00001000; } if (((from_bitField0_ & 0x00004000) != 0)) { result.throttleLoadingRequests_ = throttleLoadingRequests_; to_bitField0_ |= 0x00002000; } if (((from_bitField0_ & 0x00008000) != 0)) { result.maxLoadingRequests_ = maxLoadingRequests_; to_bitField0_ |= 0x00004000; } if (((from_bitField0_ & 0x00010000) != 0)) { result.requestDeadlineS_ = requestDeadlineS_; to_bitField0_ |= 0x00008000; } if (((from_bitField0_ & 0x00020000) != 0)) { result.offlineRequestDeadlineS_ = offlineRequestDeadlineS_; to_bitField0_ |= 0x00010000; } if (((from_bitField0_ & 0x00040000) != 0)) { result.warmingRequestDeadlineS_ = warmingRequestDeadlineS_; to_bitField0_ |= 0x00020000; } if (((from_bitField0_ & 0x00080000) != 0)) { result.loadingRequestDeadlineS_ = loadingRequestDeadlineS_; to_bitField0_ |= 0x00040000; } if (((from_bitField0_ & 0x00100000) != 0)) { result.shutdownRequestDeadlineS_ = shutdownRequestDeadlineS_; to_bitField0_ |= 0x00080000; } if (((from_bitField0_ & 0x00200000) != 0)) { result.maxPendingDelayS_ = maxPendingDelayS_; to_bitField0_ |= 0x00100000; } if (((from_bitField0_ & 0x00400000) != 0)) { result.loadingMaxPendingDelayBoostFactor_ = loadingMaxPendingDelayBoostFactor_; to_bitField0_ |= 0x00200000; } if (((from_bitField0_ & 0x00800000) != 0)) { result.maxPendingDelayBoostLimitFactor_ = maxPendingDelayBoostLimitFactor_; to_bitField0_ |= 0x00400000; } if (((from_bitField0_ & 0x01000000) != 0)) { result.pushBackMaxPendingRequests_ = pushBackMaxPendingRequests_; to_bitField0_ |= 0x00800000; } if (((from_bitField0_ & 0x02000000) != 0)) { result.maxCpuRate_ = maxCpuRate_; to_bitField0_ |= 0x01000000; } if (((from_bitField0_ & 0x04000000) != 0)) { result.cpuRatePadding_ = cpuRatePadding_; to_bitField0_ |= 0x02000000; } if (((from_bitField0_ & 0x08000000) != 0)) { result.startupCpuRate_ = startupCpuRate_; to_bitField0_ |= 0x04000000; } if (((from_bitField0_ & 0x10000000) != 0)) { result.maxConcurrentRequests_ = maxConcurrentRequests_; to_bitField0_ |= 0x08000000; } if (((from_bitField0_ & 0x20000000) != 0)) { result.cpuShares_ = cpuShares_; to_bitField0_ |= 0x10000000; } if (((from_bitField0_ & 0x40000000) != 0)) { result.minConcurrentRequests_ = minConcurrentRequests_; to_bitField0_ |= 0x20000000; } if (((from_bitField0_ & 0x80000000) != 0)) { result.maxBackgroundRequests_ = maxBackgroundRequests_; to_bitField0_ |= 0x40000000; } result.bitField0_ |= to_bitField0_; } private void buildPartial1(com.google.apphosting.base.protos.ClonePb.SupervisorSettings result) { int from_bitField1_ = bitField1_; int to_bitField0_ = 0; if (((from_bitField1_ & 0x00000001) != 0)) { result.maxConcurrentRequestsTotalSize_ = maxConcurrentRequestsTotalSize_; to_bitField0_ |= 0x80000000; } int to_bitField1_ = 0; if (((from_bitField1_ & 0x00000002) != 0)) { result.useDynamicMaxConcurrentRequests_ = useDynamicMaxConcurrentRequests_; to_bitField1_ |= 0x00000001; } if (((from_bitField1_ & 0x00000004) != 0)) { result.dynamicMaxConcurrentRequestsMaxCpuFraction_ = dynamicMaxConcurrentRequestsMaxCpuFraction_; to_bitField1_ |= 0x00000002; } if (((from_bitField1_ & 0x00000008) != 0)) { result.dynamicMaxConcurrentRequestsMinCpuFraction_ = dynamicMaxConcurrentRequestsMinCpuFraction_; to_bitField1_ |= 0x00000004; } if (((from_bitField1_ & 0x00000010) != 0)) { result.maxPendingRequestsTotalSize_ = maxPendingRequestsTotalSize_; to_bitField1_ |= 0x00000008; } if (((from_bitField1_ & 0x00000020) != 0)) { result.pushBackMaxPendingRequestsTotalSize_ = pushBackMaxPendingRequestsTotalSize_; to_bitField1_ |= 0x00000010; } if (((from_bitField1_ & 0x00000040) != 0)) { result.maxAcceptingCpu_ = maxAcceptingCpu_; to_bitField1_ |= 0x00000020; } if (((from_bitField1_ & 0x00000080) != 0)) { result.cloneLbPolicy_ = cloneLbPolicy_; to_bitField1_ |= 0x00000040; } if (((from_bitField1_ & 0x00000100) != 0)) { result.profilerSettings_ = profilerSettingsBuilder_ == null ? profilerSettings_ : profilerSettingsBuilder_.build(); to_bitField1_ |= 0x00000080; } if (((from_bitField1_ & 0x00000200) != 0)) { result.multiQueueWarmLatencyMultiplier_ = multiQueueWarmLatencyMultiplier_; to_bitField1_ |= 0x00000100; } if (((from_bitField1_ & 0x00000400) != 0)) { result.multiQueueMinPredictedTimeS_ = multiQueueMinPredictedTimeS_; to_bitField1_ |= 0x00000200; } if (((from_bitField1_ & 0x00000800) != 0)) { result.multiQueueMaxPredictedTimeS_ = multiQueueMaxPredictedTimeS_; to_bitField1_ |= 0x00000400; } if (((from_bitField1_ & 0x00001000) != 0)) { result.enableSlidingScaleRouting_ = enableSlidingScaleRouting_; to_bitField1_ |= 0x00000800; } if (((from_bitField1_ & 0x00002000) != 0)) { result.slidingScaleReadyCloneAttempts_ = slidingScaleReadyCloneAttempts_; to_bitField1_ |= 0x00001000; } if (((from_bitField1_ & 0x00004000) != 0)) { result.slidingScaleReadyNonDiscretionaryCloneAttempts_ = slidingScaleReadyNonDiscretionaryCloneAttempts_; to_bitField1_ |= 0x00002000; } if (((from_bitField1_ & 0x00008000) != 0)) { result.slidingScaleLowPredictedTimeAttempts_ = slidingScaleLowPredictedTimeAttempts_; to_bitField1_ |= 0x00004000; } if (((from_bitField1_ & 0x00010000) != 0)) { result.slidingScaleMaxPredictedTimeS_ = slidingScaleMaxPredictedTimeS_; to_bitField1_ |= 0x00008000; } if (((from_bitField1_ & 0x00020000) != 0)) { result.slidingScaleMaxActiveClones_ = slidingScaleMaxActiveClones_; to_bitField1_ |= 0x00010000; } if (((from_bitField1_ & 0x00040000) != 0)) { result.enableCloneReducer_ = enableCloneReducer_; to_bitField1_ |= 0x00020000; } if (((from_bitField1_ & 0x00080000) != 0)) { result.cloneReducerMinAgeS_ = cloneReducerMinAgeS_; to_bitField1_ |= 0x00040000; } if (((from_bitField1_ & 0x00100000) != 0)) { result.cloneReducerMinUtilization1M_ = cloneReducerMinUtilization1M_; to_bitField1_ |= 0x00080000; } if (((from_bitField1_ & 0x00200000) != 0)) { result.cloneReducerMinClones_ = cloneReducerMinClones_; to_bitField1_ |= 0x00100000; } result.bitField0_ |= to_bitField0_; result.bitField1_ |= to_bitField1_; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof com.google.apphosting.base.protos.ClonePb.SupervisorSettings) { return mergeFrom((com.google.apphosting.base.protos.ClonePb.SupervisorSettings)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(com.google.apphosting.base.protos.ClonePb.SupervisorSettings other) { if (other == com.google.apphosting.base.protos.ClonePb.SupervisorSettings.getDefaultInstance()) return this; if (other.hasSoftVirtualMemoryLimitMb()) { setSoftVirtualMemoryLimitMb(other.getSoftVirtualMemoryLimitMb()); } if (other.hasSoftPrivateMemoryLimitMb()) { setSoftPrivateMemoryLimitMb(other.getSoftPrivateMemoryLimitMb()); } if (other.hasMediumPrivateMemoryLimitMb()) { setMediumPrivateMemoryLimitMb(other.getMediumPrivateMemoryLimitMb()); } if (other.hasHardPrivateMemoryLimitMb()) { setHardPrivateMemoryLimitMb(other.getHardPrivateMemoryLimitMb()); } if (hardPrivateMemoryMultiplierBuilder_ == null) { if (!other.hardPrivateMemoryMultiplier_.isEmpty()) { if (hardPrivateMemoryMultiplier_.isEmpty()) { hardPrivateMemoryMultiplier_ = other.hardPrivateMemoryMultiplier_; bitField0_ = (bitField0_ & ~0x00000010); } else { ensureHardPrivateMemoryMultiplierIsMutable(); hardPrivateMemoryMultiplier_.addAll(other.hardPrivateMemoryMultiplier_); } onChanged(); } } else { if (!other.hardPrivateMemoryMultiplier_.isEmpty()) { if (hardPrivateMemoryMultiplierBuilder_.isEmpty()) { hardPrivateMemoryMultiplierBuilder_.dispose(); hardPrivateMemoryMultiplierBuilder_ = null; hardPrivateMemoryMultiplier_ = other.hardPrivateMemoryMultiplier_; bitField0_ = (bitField0_ & ~0x00000010); hardPrivateMemoryMultiplierBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getHardPrivateMemoryMultiplierFieldBuilder() : null; } else { hardPrivateMemoryMultiplierBuilder_.addAllMessages(other.hardPrivateMemoryMultiplier_); } } } if (other.hasJavaCloneHeapSizeMb()) { setJavaCloneHeapSizeMb(other.getJavaCloneHeapSizeMb()); } if (other.hasJavaClonePermGenSizeMb()) { setJavaClonePermGenSizeMb(other.getJavaClonePermGenSizeMb()); } if (other.hasJavaVmType()) { setJavaVmType(other.getJavaVmType()); } if (other.hasWaitForActiveClonesMinPendingTimeS()) { setWaitForActiveClonesMinPendingTimeS(other.getWaitForActiveClonesMinPendingTimeS()); } if (other.hasWaitForActiveClonesMaxPendingTimeS()) { setWaitForActiveClonesMaxPendingTimeS(other.getWaitForActiveClonesMaxPendingTimeS()); } if (other.hasMaxCloneSuccessfulRequests()) { setMaxCloneSuccessfulRequests(other.getMaxCloneSuccessfulRequests()); } if (other.hasMaxCloneSequentialErrors()) { setMaxCloneSequentialErrors(other.getMaxCloneSequentialErrors()); } if (other.hasMaxActiveRequests()) { setMaxActiveRequests(other.getMaxActiveRequests()); } if (other.hasMaxActiveClones()) { setMaxActiveClones(other.getMaxActiveClones()); } if (other.hasThrottleLoadingRequests()) { setThrottleLoadingRequests(other.getThrottleLoadingRequests()); } if (other.hasMaxLoadingRequests()) { setMaxLoadingRequests(other.getMaxLoadingRequests()); } if (other.hasRequestDeadlineS()) { setRequestDeadlineS(other.getRequestDeadlineS()); } if (other.hasOfflineRequestDeadlineS()) { setOfflineRequestDeadlineS(other.getOfflineRequestDeadlineS()); } if (other.hasWarmingRequestDeadlineS()) { setWarmingRequestDeadlineS(other.getWarmingRequestDeadlineS()); } if (other.hasLoadingRequestDeadlineS()) { setLoadingRequestDeadlineS(other.getLoadingRequestDeadlineS()); } if (other.hasShutdownRequestDeadlineS()) { setShutdownRequestDeadlineS(other.getShutdownRequestDeadlineS()); } if (other.hasMaxPendingDelayS()) { setMaxPendingDelayS(other.getMaxPendingDelayS()); } if (other.hasLoadingMaxPendingDelayBoostFactor()) { setLoadingMaxPendingDelayBoostFactor(other.getLoadingMaxPendingDelayBoostFactor()); } if (other.hasMaxPendingDelayBoostLimitFactor()) { setMaxPendingDelayBoostLimitFactor(other.getMaxPendingDelayBoostLimitFactor()); } if (other.hasPushBackMaxPendingRequests()) { setPushBackMaxPendingRequests(other.getPushBackMaxPendingRequests()); } if (other.hasMaxCpuRate()) { setMaxCpuRate(other.getMaxCpuRate()); } if (other.hasCpuRatePadding()) { setCpuRatePadding(other.getCpuRatePadding()); } if (other.hasStartupCpuRate()) { setStartupCpuRate(other.getStartupCpuRate()); } if (other.hasMaxConcurrentRequests()) { setMaxConcurrentRequests(other.getMaxConcurrentRequests()); } if (other.hasCpuShares()) { setCpuShares(other.getCpuShares()); } if (other.hasMinConcurrentRequests()) { setMinConcurrentRequests(other.getMinConcurrentRequests()); } if (other.hasMaxBackgroundRequests()) { setMaxBackgroundRequests(other.getMaxBackgroundRequests()); } if (other.hasMaxConcurrentRequestsTotalSize()) { setMaxConcurrentRequestsTotalSize(other.getMaxConcurrentRequestsTotalSize()); } if (other.hasUseDynamicMaxConcurrentRequests()) { setUseDynamicMaxConcurrentRequests(other.getUseDynamicMaxConcurrentRequests()); } if (other.hasDynamicMaxConcurrentRequestsMaxCpuFraction()) { setDynamicMaxConcurrentRequestsMaxCpuFraction(other.getDynamicMaxConcurrentRequestsMaxCpuFraction()); } if (other.hasDynamicMaxConcurrentRequestsMinCpuFraction()) { setDynamicMaxConcurrentRequestsMinCpuFraction(other.getDynamicMaxConcurrentRequestsMinCpuFraction()); } if (other.hasMaxPendingRequestsTotalSize()) { setMaxPendingRequestsTotalSize(other.getMaxPendingRequestsTotalSize()); } if (other.hasPushBackMaxPendingRequestsTotalSize()) { setPushBackMaxPendingRequestsTotalSize(other.getPushBackMaxPendingRequestsTotalSize()); } if (other.hasMaxAcceptingCpu()) { setMaxAcceptingCpu(other.getMaxAcceptingCpu()); } if (other.hasCloneLbPolicy()) { setCloneLbPolicy(other.getCloneLbPolicy()); } if (other.hasProfilerSettings()) { mergeProfilerSettings(other.getProfilerSettings()); } if (other.hasMultiQueueWarmLatencyMultiplier()) { setMultiQueueWarmLatencyMultiplier(other.getMultiQueueWarmLatencyMultiplier()); } if (other.hasMultiQueueMinPredictedTimeS()) { setMultiQueueMinPredictedTimeS(other.getMultiQueueMinPredictedTimeS()); } if (other.hasMultiQueueMaxPredictedTimeS()) { setMultiQueueMaxPredictedTimeS(other.getMultiQueueMaxPredictedTimeS()); } if (other.hasEnableSlidingScaleRouting()) { setEnableSlidingScaleRouting(other.getEnableSlidingScaleRouting()); } if (other.hasSlidingScaleReadyCloneAttempts()) { setSlidingScaleReadyCloneAttempts(other.getSlidingScaleReadyCloneAttempts()); } if (other.hasSlidingScaleReadyNonDiscretionaryCloneAttempts()) { setSlidingScaleReadyNonDiscretionaryCloneAttempts(other.getSlidingScaleReadyNonDiscretionaryCloneAttempts()); } if (other.hasSlidingScaleLowPredictedTimeAttempts()) { setSlidingScaleLowPredictedTimeAttempts(other.getSlidingScaleLowPredictedTimeAttempts()); } if (other.hasSlidingScaleMaxPredictedTimeS()) { setSlidingScaleMaxPredictedTimeS(other.getSlidingScaleMaxPredictedTimeS()); } if (other.hasSlidingScaleMaxActiveClones()) { setSlidingScaleMaxActiveClones(other.getSlidingScaleMaxActiveClones()); } if (other.hasEnableCloneReducer()) { setEnableCloneReducer(other.getEnableCloneReducer()); } if (other.hasCloneReducerMinAgeS()) { setCloneReducerMinAgeS(other.getCloneReducerMinAgeS()); } if (other.hasCloneReducerMinUtilization1M()) { setCloneReducerMinUtilization1M(other.getCloneReducerMinUtilization1M()); } if (other.hasCloneReducerMinClones()) { setCloneReducerMinClones(other.getCloneReducerMinClones()); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { if (hasProfilerSettings()) { if (!getProfilerSettings().isInitialized()) { return false; } } return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 24: { softVirtualMemoryLimitMb_ = input.readInt32(); bitField0_ |= 0x00000001; break; } // case 24 case 40: { maxCloneSuccessfulRequests_ = input.readInt32(); bitField0_ |= 0x00000400; break; } // case 40 case 48: { maxCloneSequentialErrors_ = input.readInt32(); bitField0_ |= 0x00000800; break; } // case 48 case 56: { maxActiveRequests_ = input.readInt32(); bitField0_ |= 0x00001000; break; } // case 56 case 64: { softPrivateMemoryLimitMb_ = input.readInt32(); bitField0_ |= 0x00000002; break; } // case 64 case 72: { hardPrivateMemoryLimitMb_ = input.readInt32(); bitField0_ |= 0x00000008; break; } // case 72 case 89: { requestDeadlineS_ = input.readDouble(); bitField0_ |= 0x00010000; break; } // case 89 case 97: { maxPendingDelayS_ = input.readDouble(); bitField0_ |= 0x00200000; break; } // case 97 case 128: { pushBackMaxPendingRequests_ = input.readInt32(); bitField0_ |= 0x01000000; break; } // case 128 case 145: { offlineRequestDeadlineS_ = input.readDouble(); bitField0_ |= 0x00020000; break; } // case 145 case 152: { maxLoadingRequests_ = input.readInt32(); bitField0_ |= 0x00008000; break; } // case 152 case 161: { warmingRequestDeadlineS_ = input.readDouble(); bitField0_ |= 0x00040000; break; } // case 161 case 169: { maxCpuRate_ = input.readDouble(); bitField0_ |= 0x02000000; break; } // case 169 case 184: { maxConcurrentRequests_ = input.readInt32(); bitField0_ |= 0x10000000; break; } // case 184 case 192: { cloneLbPolicy_ = input.readInt32(); bitField1_ |= 0x00000080; break; } // case 192 case 201: { maxAcceptingCpu_ = input.readDouble(); bitField1_ |= 0x00000040; break; } // case 201 case 208: { throttleLoadingRequests_ = input.readBool(); bitField0_ |= 0x00004000; break; } // case 208 case 216: { maxActiveClones_ = input.readInt32(); bitField0_ |= 0x00002000; break; } // case 216 case 232: { javaCloneHeapSizeMb_ = input.readInt32(); bitField0_ |= 0x00000020; break; } // case 232 case 257: { loadingRequestDeadlineS_ = input.readDouble(); bitField0_ |= 0x00080000; break; } // case 257 case 265: { shutdownRequestDeadlineS_ = input.readDouble(); bitField0_ |= 0x00100000; break; } // case 265 case 272: { int tmpRaw = input.readEnum(); com.google.apphosting.base.protos.ClonePb.SupervisorSettings.JavaVmType tmpValue = com.google.apphosting.base.protos.ClonePb.SupervisorSettings.JavaVmType.forNumber(tmpRaw); if (tmpValue == null) { mergeUnknownVarintField(34, tmpRaw); } else { javaVmType_ = tmpRaw; bitField0_ |= 0x00000080; } break; } // case 272 case 280: { mediumPrivateMemoryLimitMb_ = input.readInt32(); bitField0_ |= 0x00000004; break; } // case 280 case 288: { maxConcurrentRequestsTotalSize_ = input.readInt64(); bitField1_ |= 0x00000001; break; } // case 288 case 296: { maxPendingRequestsTotalSize_ = input.readInt64(); bitField1_ |= 0x00000010; break; } // case 296 case 304: { pushBackMaxPendingRequestsTotalSize_ = input.readInt64(); bitField1_ |= 0x00000020; break; } // case 304 case 313: { waitForActiveClonesMinPendingTimeS_ = input.readDouble(); bitField0_ |= 0x00000100; break; } // case 313 case 329: { waitForActiveClonesMaxPendingTimeS_ = input.readDouble(); bitField0_ |= 0x00000200; break; } // case 329 case 386: { input.readMessage( getProfilerSettingsFieldBuilder().getBuilder(), extensionRegistry); bitField1_ |= 0x00000100; break; } // case 386 case 401: { multiQueueWarmLatencyMultiplier_ = input.readDouble(); bitField1_ |= 0x00000200; break; } // case 401 case 409: { multiQueueMinPredictedTimeS_ = input.readDouble(); bitField1_ |= 0x00000400; break; } // case 409 case 417: { multiQueueMaxPredictedTimeS_ = input.readDouble(); bitField1_ |= 0x00000800; break; } // case 417 case 424: { maxBackgroundRequests_ = input.readInt32(); bitField0_ |= 0x80000000; break; } // case 424 case 432: { minConcurrentRequests_ = input.readInt32(); bitField0_ |= 0x40000000; break; } // case 432 case 440: { useDynamicMaxConcurrentRequests_ = input.readBool(); bitField1_ |= 0x00000002; break; } // case 440 case 449: { dynamicMaxConcurrentRequestsMaxCpuFraction_ = input.readDouble(); bitField1_ |= 0x00000004; break; } // case 449 case 457: { dynamicMaxConcurrentRequestsMinCpuFraction_ = input.readDouble(); bitField1_ |= 0x00000008; break; } // case 457 case 464: { enableSlidingScaleRouting_ = input.readBool(); bitField1_ |= 0x00001000; break; } // case 464 case 472: { slidingScaleReadyCloneAttempts_ = input.readInt32(); bitField1_ |= 0x00002000; break; } // case 472 case 480: { slidingScaleLowPredictedTimeAttempts_ = input.readInt32(); bitField1_ |= 0x00008000; break; } // case 480 case 489: { slidingScaleMaxPredictedTimeS_ = input.readDouble(); bitField1_ |= 0x00010000; break; } // case 489 case 496: { javaClonePermGenSizeMb_ = input.readInt32(); bitField0_ |= 0x00000040; break; } // case 496 case 504: { slidingScaleMaxActiveClones_ = input.readInt32(); bitField1_ |= 0x00020000; break; } // case 504 case 512: { enableCloneReducer_ = input.readBool(); bitField1_ |= 0x00040000; break; } // case 512 case 520: { cloneReducerMinAgeS_ = input.readInt32(); bitField1_ |= 0x00080000; break; } // case 520 case 529: { cloneReducerMinUtilization1M_ = input.readDouble(); bitField1_ |= 0x00100000; break; } // case 529 case 536: { cloneReducerMinClones_ = input.readInt32(); bitField1_ |= 0x00200000; break; } // case 536 case 544: { cpuShares_ = input.readInt32(); bitField0_ |= 0x20000000; break; } // case 544 case 553: { startupCpuRate_ = input.readDouble(); bitField0_ |= 0x08000000; break; } // case 553 case 561: { maxPendingDelayBoostLimitFactor_ = input.readDouble(); bitField0_ |= 0x00800000; break; } // case 561 case 569: { cpuRatePadding_ = input.readDouble(); bitField0_ |= 0x04000000; break; } // case 569 case 576: { slidingScaleReadyNonDiscretionaryCloneAttempts_ = input.readInt32(); bitField1_ |= 0x00004000; break; } // case 576 case 585: { loadingMaxPendingDelayBoostFactor_ = input.readDouble(); bitField0_ |= 0x00400000; break; } // case 585 case 594: { com.google.apphosting.base.protos.ClonePb.MemoryMultiplier m = input.readMessage( com.google.apphosting.base.protos.ClonePb.MemoryMultiplier.PARSER, extensionRegistry); if (hardPrivateMemoryMultiplierBuilder_ == null) { ensureHardPrivateMemoryMultiplierIsMutable(); hardPrivateMemoryMultiplier_.add(m); } else { hardPrivateMemoryMultiplierBuilder_.addMessage(m); } break; } // case 594 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private int bitField1_; private int softVirtualMemoryLimitMb_ ; /** *
       * Soft virtual and private memory limits for the Clone process. When either
       * of these limits are exceeded, the Clone process will be killed politely
       * after handling a request.
       * 
* * optional int32 soft_virtual_memory_limit_mb = 3; * @return Whether the softVirtualMemoryLimitMb field is set. */ @java.lang.Override public boolean hasSoftVirtualMemoryLimitMb() { return ((bitField0_ & 0x00000001) != 0); } /** *
       * Soft virtual and private memory limits for the Clone process. When either
       * of these limits are exceeded, the Clone process will be killed politely
       * after handling a request.
       * 
* * optional int32 soft_virtual_memory_limit_mb = 3; * @return The softVirtualMemoryLimitMb. */ @java.lang.Override public int getSoftVirtualMemoryLimitMb() { return softVirtualMemoryLimitMb_; } /** *
       * Soft virtual and private memory limits for the Clone process. When either
       * of these limits are exceeded, the Clone process will be killed politely
       * after handling a request.
       * 
* * optional int32 soft_virtual_memory_limit_mb = 3; * @param value The softVirtualMemoryLimitMb to set. * @return This builder for chaining. */ public Builder setSoftVirtualMemoryLimitMb(int value) { softVirtualMemoryLimitMb_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } /** *
       * Soft virtual and private memory limits for the Clone process. When either
       * of these limits are exceeded, the Clone process will be killed politely
       * after handling a request.
       * 
* * optional int32 soft_virtual_memory_limit_mb = 3; * @return This builder for chaining. */ public Builder clearSoftVirtualMemoryLimitMb() { bitField0_ = (bitField0_ & ~0x00000001); softVirtualMemoryLimitMb_ = 0; onChanged(); return this; } private int softPrivateMemoryLimitMb_ ; /** * optional int32 soft_private_memory_limit_mb = 8; * @return Whether the softPrivateMemoryLimitMb field is set. */ @java.lang.Override public boolean hasSoftPrivateMemoryLimitMb() { return ((bitField0_ & 0x00000002) != 0); } /** * optional int32 soft_private_memory_limit_mb = 8; * @return The softPrivateMemoryLimitMb. */ @java.lang.Override public int getSoftPrivateMemoryLimitMb() { return softPrivateMemoryLimitMb_; } /** * optional int32 soft_private_memory_limit_mb = 8; * @param value The softPrivateMemoryLimitMb to set. * @return This builder for chaining. */ public Builder setSoftPrivateMemoryLimitMb(int value) { softPrivateMemoryLimitMb_ = value; bitField0_ |= 0x00000002; onChanged(); return this; } /** * optional int32 soft_private_memory_limit_mb = 8; * @return This builder for chaining. */ public Builder clearSoftPrivateMemoryLimitMb() { bitField0_ = (bitField0_ & ~0x00000002); softPrivateMemoryLimitMb_ = 0; onChanged(); return this; } private int mediumPrivateMemoryLimitMb_ ; /** *
       * Medium private memory limit for the clone process. Whereas the soft limit
       * is enforced at the end of requests, this medium limit will be checked
       * periodically. Clones in excess of this limit will be sent a shutdown
       * request. Applies only to background servers.
       * 
* * optional int32 medium_private_memory_limit_mb = 35; * @return Whether the mediumPrivateMemoryLimitMb field is set. */ @java.lang.Override public boolean hasMediumPrivateMemoryLimitMb() { return ((bitField0_ & 0x00000004) != 0); } /** *
       * Medium private memory limit for the clone process. Whereas the soft limit
       * is enforced at the end of requests, this medium limit will be checked
       * periodically. Clones in excess of this limit will be sent a shutdown
       * request. Applies only to background servers.
       * 
* * optional int32 medium_private_memory_limit_mb = 35; * @return The mediumPrivateMemoryLimitMb. */ @java.lang.Override public int getMediumPrivateMemoryLimitMb() { return mediumPrivateMemoryLimitMb_; } /** *
       * Medium private memory limit for the clone process. Whereas the soft limit
       * is enforced at the end of requests, this medium limit will be checked
       * periodically. Clones in excess of this limit will be sent a shutdown
       * request. Applies only to background servers.
       * 
* * optional int32 medium_private_memory_limit_mb = 35; * @param value The mediumPrivateMemoryLimitMb to set. * @return This builder for chaining. */ public Builder setMediumPrivateMemoryLimitMb(int value) { mediumPrivateMemoryLimitMb_ = value; bitField0_ |= 0x00000004; onChanged(); return this; } /** *
       * Medium private memory limit for the clone process. Whereas the soft limit
       * is enforced at the end of requests, this medium limit will be checked
       * periodically. Clones in excess of this limit will be sent a shutdown
       * request. Applies only to background servers.
       * 
* * optional int32 medium_private_memory_limit_mb = 35; * @return This builder for chaining. */ public Builder clearMediumPrivateMemoryLimitMb() { bitField0_ = (bitField0_ & ~0x00000004); mediumPrivateMemoryLimitMb_ = 0; onChanged(); return this; } private int hardPrivateMemoryLimitMb_ ; /** *
       * Hard private memory limit for the clone process. Whereas the soft limit is
       * enforced at the end of requests, this hard limit will be checked
       * periodically. Clones in excess of this limit will be killed immediately.
       * 
* * optional int32 hard_private_memory_limit_mb = 9; * @return Whether the hardPrivateMemoryLimitMb field is set. */ @java.lang.Override public boolean hasHardPrivateMemoryLimitMb() { return ((bitField0_ & 0x00000008) != 0); } /** *
       * Hard private memory limit for the clone process. Whereas the soft limit is
       * enforced at the end of requests, this hard limit will be checked
       * periodically. Clones in excess of this limit will be killed immediately.
       * 
* * optional int32 hard_private_memory_limit_mb = 9; * @return The hardPrivateMemoryLimitMb. */ @java.lang.Override public int getHardPrivateMemoryLimitMb() { return hardPrivateMemoryLimitMb_; } /** *
       * Hard private memory limit for the clone process. Whereas the soft limit is
       * enforced at the end of requests, this hard limit will be checked
       * periodically. Clones in excess of this limit will be killed immediately.
       * 
* * optional int32 hard_private_memory_limit_mb = 9; * @param value The hardPrivateMemoryLimitMb to set. * @return This builder for chaining. */ public Builder setHardPrivateMemoryLimitMb(int value) { hardPrivateMemoryLimitMb_ = value; bitField0_ |= 0x00000008; onChanged(); return this; } /** *
       * Hard private memory limit for the clone process. Whereas the soft limit is
       * enforced at the end of requests, this hard limit will be checked
       * periodically. Clones in excess of this limit will be killed immediately.
       * 
* * optional int32 hard_private_memory_limit_mb = 9; * @return This builder for chaining. */ public Builder clearHardPrivateMemoryLimitMb() { bitField0_ = (bitField0_ & ~0x00000008); hardPrivateMemoryLimitMb_ = 0; onChanged(); return this; } private java.util.List hardPrivateMemoryMultiplier_ = java.util.Collections.emptyList(); private void ensureHardPrivateMemoryMultiplierIsMutable() { if (!((bitField0_ & 0x00000010) != 0)) { hardPrivateMemoryMultiplier_ = new java.util.ArrayList(hardPrivateMemoryMultiplier_); bitField0_ |= 0x00000010; } } private com.google.protobuf.RepeatedFieldBuilderV3< com.google.apphosting.base.protos.ClonePb.MemoryMultiplier, com.google.apphosting.base.protos.ClonePb.MemoryMultiplier.Builder, com.google.apphosting.base.protos.ClonePb.MemoryMultiplierOrBuilder> hardPrivateMemoryMultiplierBuilder_; /** *
       * Hard private memory multiplier for the clone process. This is an input to
       * the calculation of the hard memory limit, and it is specified per runtime.
       * The hard private memory multiplier takes precedence over the default
       * per-runtime multiplier.
       * 
* * repeated .java.apphosting.MemoryMultiplier hard_private_memory_multiplier = 74; */ public java.util.List getHardPrivateMemoryMultiplierList() { if (hardPrivateMemoryMultiplierBuilder_ == null) { return java.util.Collections.unmodifiableList(hardPrivateMemoryMultiplier_); } else { return hardPrivateMemoryMultiplierBuilder_.getMessageList(); } } /** *
       * Hard private memory multiplier for the clone process. This is an input to
       * the calculation of the hard memory limit, and it is specified per runtime.
       * The hard private memory multiplier takes precedence over the default
       * per-runtime multiplier.
       * 
* * repeated .java.apphosting.MemoryMultiplier hard_private_memory_multiplier = 74; */ public int getHardPrivateMemoryMultiplierCount() { if (hardPrivateMemoryMultiplierBuilder_ == null) { return hardPrivateMemoryMultiplier_.size(); } else { return hardPrivateMemoryMultiplierBuilder_.getCount(); } } /** *
       * Hard private memory multiplier for the clone process. This is an input to
       * the calculation of the hard memory limit, and it is specified per runtime.
       * The hard private memory multiplier takes precedence over the default
       * per-runtime multiplier.
       * 
* * repeated .java.apphosting.MemoryMultiplier hard_private_memory_multiplier = 74; */ public com.google.apphosting.base.protos.ClonePb.MemoryMultiplier getHardPrivateMemoryMultiplier(int index) { if (hardPrivateMemoryMultiplierBuilder_ == null) { return hardPrivateMemoryMultiplier_.get(index); } else { return hardPrivateMemoryMultiplierBuilder_.getMessage(index); } } /** *
       * Hard private memory multiplier for the clone process. This is an input to
       * the calculation of the hard memory limit, and it is specified per runtime.
       * The hard private memory multiplier takes precedence over the default
       * per-runtime multiplier.
       * 
* * repeated .java.apphosting.MemoryMultiplier hard_private_memory_multiplier = 74; */ public Builder setHardPrivateMemoryMultiplier( int index, com.google.apphosting.base.protos.ClonePb.MemoryMultiplier value) { if (hardPrivateMemoryMultiplierBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureHardPrivateMemoryMultiplierIsMutable(); hardPrivateMemoryMultiplier_.set(index, value); onChanged(); } else { hardPrivateMemoryMultiplierBuilder_.setMessage(index, value); } return this; } /** *
       * Hard private memory multiplier for the clone process. This is an input to
       * the calculation of the hard memory limit, and it is specified per runtime.
       * The hard private memory multiplier takes precedence over the default
       * per-runtime multiplier.
       * 
* * repeated .java.apphosting.MemoryMultiplier hard_private_memory_multiplier = 74; */ public Builder setHardPrivateMemoryMultiplier( int index, com.google.apphosting.base.protos.ClonePb.MemoryMultiplier.Builder builderForValue) { if (hardPrivateMemoryMultiplierBuilder_ == null) { ensureHardPrivateMemoryMultiplierIsMutable(); hardPrivateMemoryMultiplier_.set(index, builderForValue.build()); onChanged(); } else { hardPrivateMemoryMultiplierBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
       * Hard private memory multiplier for the clone process. This is an input to
       * the calculation of the hard memory limit, and it is specified per runtime.
       * The hard private memory multiplier takes precedence over the default
       * per-runtime multiplier.
       * 
* * repeated .java.apphosting.MemoryMultiplier hard_private_memory_multiplier = 74; */ public Builder addHardPrivateMemoryMultiplier(com.google.apphosting.base.protos.ClonePb.MemoryMultiplier value) { if (hardPrivateMemoryMultiplierBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureHardPrivateMemoryMultiplierIsMutable(); hardPrivateMemoryMultiplier_.add(value); onChanged(); } else { hardPrivateMemoryMultiplierBuilder_.addMessage(value); } return this; } /** *
       * Hard private memory multiplier for the clone process. This is an input to
       * the calculation of the hard memory limit, and it is specified per runtime.
       * The hard private memory multiplier takes precedence over the default
       * per-runtime multiplier.
       * 
* * repeated .java.apphosting.MemoryMultiplier hard_private_memory_multiplier = 74; */ public Builder addHardPrivateMemoryMultiplier( int index, com.google.apphosting.base.protos.ClonePb.MemoryMultiplier value) { if (hardPrivateMemoryMultiplierBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureHardPrivateMemoryMultiplierIsMutable(); hardPrivateMemoryMultiplier_.add(index, value); onChanged(); } else { hardPrivateMemoryMultiplierBuilder_.addMessage(index, value); } return this; } /** *
       * Hard private memory multiplier for the clone process. This is an input to
       * the calculation of the hard memory limit, and it is specified per runtime.
       * The hard private memory multiplier takes precedence over the default
       * per-runtime multiplier.
       * 
* * repeated .java.apphosting.MemoryMultiplier hard_private_memory_multiplier = 74; */ public Builder addHardPrivateMemoryMultiplier( com.google.apphosting.base.protos.ClonePb.MemoryMultiplier.Builder builderForValue) { if (hardPrivateMemoryMultiplierBuilder_ == null) { ensureHardPrivateMemoryMultiplierIsMutable(); hardPrivateMemoryMultiplier_.add(builderForValue.build()); onChanged(); } else { hardPrivateMemoryMultiplierBuilder_.addMessage(builderForValue.build()); } return this; } /** *
       * Hard private memory multiplier for the clone process. This is an input to
       * the calculation of the hard memory limit, and it is specified per runtime.
       * The hard private memory multiplier takes precedence over the default
       * per-runtime multiplier.
       * 
* * repeated .java.apphosting.MemoryMultiplier hard_private_memory_multiplier = 74; */ public Builder addHardPrivateMemoryMultiplier( int index, com.google.apphosting.base.protos.ClonePb.MemoryMultiplier.Builder builderForValue) { if (hardPrivateMemoryMultiplierBuilder_ == null) { ensureHardPrivateMemoryMultiplierIsMutable(); hardPrivateMemoryMultiplier_.add(index, builderForValue.build()); onChanged(); } else { hardPrivateMemoryMultiplierBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
       * Hard private memory multiplier for the clone process. This is an input to
       * the calculation of the hard memory limit, and it is specified per runtime.
       * The hard private memory multiplier takes precedence over the default
       * per-runtime multiplier.
       * 
* * repeated .java.apphosting.MemoryMultiplier hard_private_memory_multiplier = 74; */ public Builder addAllHardPrivateMemoryMultiplier( java.lang.Iterable values) { if (hardPrivateMemoryMultiplierBuilder_ == null) { ensureHardPrivateMemoryMultiplierIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, hardPrivateMemoryMultiplier_); onChanged(); } else { hardPrivateMemoryMultiplierBuilder_.addAllMessages(values); } return this; } /** *
       * Hard private memory multiplier for the clone process. This is an input to
       * the calculation of the hard memory limit, and it is specified per runtime.
       * The hard private memory multiplier takes precedence over the default
       * per-runtime multiplier.
       * 
* * repeated .java.apphosting.MemoryMultiplier hard_private_memory_multiplier = 74; */ public Builder clearHardPrivateMemoryMultiplier() { if (hardPrivateMemoryMultiplierBuilder_ == null) { hardPrivateMemoryMultiplier_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000010); onChanged(); } else { hardPrivateMemoryMultiplierBuilder_.clear(); } return this; } /** *
       * Hard private memory multiplier for the clone process. This is an input to
       * the calculation of the hard memory limit, and it is specified per runtime.
       * The hard private memory multiplier takes precedence over the default
       * per-runtime multiplier.
       * 
* * repeated .java.apphosting.MemoryMultiplier hard_private_memory_multiplier = 74; */ public Builder removeHardPrivateMemoryMultiplier(int index) { if (hardPrivateMemoryMultiplierBuilder_ == null) { ensureHardPrivateMemoryMultiplierIsMutable(); hardPrivateMemoryMultiplier_.remove(index); onChanged(); } else { hardPrivateMemoryMultiplierBuilder_.remove(index); } return this; } /** *
       * Hard private memory multiplier for the clone process. This is an input to
       * the calculation of the hard memory limit, and it is specified per runtime.
       * The hard private memory multiplier takes precedence over the default
       * per-runtime multiplier.
       * 
* * repeated .java.apphosting.MemoryMultiplier hard_private_memory_multiplier = 74; */ public com.google.apphosting.base.protos.ClonePb.MemoryMultiplier.Builder getHardPrivateMemoryMultiplierBuilder( int index) { return getHardPrivateMemoryMultiplierFieldBuilder().getBuilder(index); } /** *
       * Hard private memory multiplier for the clone process. This is an input to
       * the calculation of the hard memory limit, and it is specified per runtime.
       * The hard private memory multiplier takes precedence over the default
       * per-runtime multiplier.
       * 
* * repeated .java.apphosting.MemoryMultiplier hard_private_memory_multiplier = 74; */ public com.google.apphosting.base.protos.ClonePb.MemoryMultiplierOrBuilder getHardPrivateMemoryMultiplierOrBuilder( int index) { if (hardPrivateMemoryMultiplierBuilder_ == null) { return hardPrivateMemoryMultiplier_.get(index); } else { return hardPrivateMemoryMultiplierBuilder_.getMessageOrBuilder(index); } } /** *
       * Hard private memory multiplier for the clone process. This is an input to
       * the calculation of the hard memory limit, and it is specified per runtime.
       * The hard private memory multiplier takes precedence over the default
       * per-runtime multiplier.
       * 
* * repeated .java.apphosting.MemoryMultiplier hard_private_memory_multiplier = 74; */ public java.util.List getHardPrivateMemoryMultiplierOrBuilderList() { if (hardPrivateMemoryMultiplierBuilder_ != null) { return hardPrivateMemoryMultiplierBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(hardPrivateMemoryMultiplier_); } } /** *
       * Hard private memory multiplier for the clone process. This is an input to
       * the calculation of the hard memory limit, and it is specified per runtime.
       * The hard private memory multiplier takes precedence over the default
       * per-runtime multiplier.
       * 
* * repeated .java.apphosting.MemoryMultiplier hard_private_memory_multiplier = 74; */ public com.google.apphosting.base.protos.ClonePb.MemoryMultiplier.Builder addHardPrivateMemoryMultiplierBuilder() { return getHardPrivateMemoryMultiplierFieldBuilder().addBuilder( com.google.apphosting.base.protos.ClonePb.MemoryMultiplier.getDefaultInstance()); } /** *
       * Hard private memory multiplier for the clone process. This is an input to
       * the calculation of the hard memory limit, and it is specified per runtime.
       * The hard private memory multiplier takes precedence over the default
       * per-runtime multiplier.
       * 
* * repeated .java.apphosting.MemoryMultiplier hard_private_memory_multiplier = 74; */ public com.google.apphosting.base.protos.ClonePb.MemoryMultiplier.Builder addHardPrivateMemoryMultiplierBuilder( int index) { return getHardPrivateMemoryMultiplierFieldBuilder().addBuilder( index, com.google.apphosting.base.protos.ClonePb.MemoryMultiplier.getDefaultInstance()); } /** *
       * Hard private memory multiplier for the clone process. This is an input to
       * the calculation of the hard memory limit, and it is specified per runtime.
       * The hard private memory multiplier takes precedence over the default
       * per-runtime multiplier.
       * 
* * repeated .java.apphosting.MemoryMultiplier hard_private_memory_multiplier = 74; */ public java.util.List getHardPrivateMemoryMultiplierBuilderList() { return getHardPrivateMemoryMultiplierFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< com.google.apphosting.base.protos.ClonePb.MemoryMultiplier, com.google.apphosting.base.protos.ClonePb.MemoryMultiplier.Builder, com.google.apphosting.base.protos.ClonePb.MemoryMultiplierOrBuilder> getHardPrivateMemoryMultiplierFieldBuilder() { if (hardPrivateMemoryMultiplierBuilder_ == null) { hardPrivateMemoryMultiplierBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< com.google.apphosting.base.protos.ClonePb.MemoryMultiplier, com.google.apphosting.base.protos.ClonePb.MemoryMultiplier.Builder, com.google.apphosting.base.protos.ClonePb.MemoryMultiplierOrBuilder>( hardPrivateMemoryMultiplier_, ((bitField0_ & 0x00000010) != 0), getParentForChildren(), isClean()); hardPrivateMemoryMultiplier_ = null; } return hardPrivateMemoryMultiplierBuilder_; } private int javaCloneHeapSizeMb_ ; /** *
       * Heap size, for java processes.
       * DEPRECATED in updateable runtimes (go/runtime-updates). Appserver ignores
       * the value set here, but you can customize the value of --max_jvm_heap_size
       * through runtime updates.
       * 
* * optional int32 java_clone_heap_size_mb = 29; * @return Whether the javaCloneHeapSizeMb field is set. */ @java.lang.Override public boolean hasJavaCloneHeapSizeMb() { return ((bitField0_ & 0x00000020) != 0); } /** *
       * Heap size, for java processes.
       * DEPRECATED in updateable runtimes (go/runtime-updates). Appserver ignores
       * the value set here, but you can customize the value of --max_jvm_heap_size
       * through runtime updates.
       * 
* * optional int32 java_clone_heap_size_mb = 29; * @return The javaCloneHeapSizeMb. */ @java.lang.Override public int getJavaCloneHeapSizeMb() { return javaCloneHeapSizeMb_; } /** *
       * Heap size, for java processes.
       * DEPRECATED in updateable runtimes (go/runtime-updates). Appserver ignores
       * the value set here, but you can customize the value of --max_jvm_heap_size
       * through runtime updates.
       * 
* * optional int32 java_clone_heap_size_mb = 29; * @param value The javaCloneHeapSizeMb to set. * @return This builder for chaining. */ public Builder setJavaCloneHeapSizeMb(int value) { javaCloneHeapSizeMb_ = value; bitField0_ |= 0x00000020; onChanged(); return this; } /** *
       * Heap size, for java processes.
       * DEPRECATED in updateable runtimes (go/runtime-updates). Appserver ignores
       * the value set here, but you can customize the value of --max_jvm_heap_size
       * through runtime updates.
       * 
* * optional int32 java_clone_heap_size_mb = 29; * @return This builder for chaining. */ public Builder clearJavaCloneHeapSizeMb() { bitField0_ = (bitField0_ & ~0x00000020); javaCloneHeapSizeMb_ = 0; onChanged(); return this; } private int javaClonePermGenSizeMb_ ; /** *
       * Perm-gen size, for java processes.
       * DEPRECATED in updateable runtimes (go/runtime-updates). Appserver ignores
       * the value set here, but you can customize the value of
       * --max_jvm_perm_gen_size through runtime updates.
       * 
* * optional int32 java_clone_perm_gen_size_mb = 62; * @return Whether the javaClonePermGenSizeMb field is set. */ @java.lang.Override public boolean hasJavaClonePermGenSizeMb() { return ((bitField0_ & 0x00000040) != 0); } /** *
       * Perm-gen size, for java processes.
       * DEPRECATED in updateable runtimes (go/runtime-updates). Appserver ignores
       * the value set here, but you can customize the value of
       * --max_jvm_perm_gen_size through runtime updates.
       * 
* * optional int32 java_clone_perm_gen_size_mb = 62; * @return The javaClonePermGenSizeMb. */ @java.lang.Override public int getJavaClonePermGenSizeMb() { return javaClonePermGenSizeMb_; } /** *
       * Perm-gen size, for java processes.
       * DEPRECATED in updateable runtimes (go/runtime-updates). Appserver ignores
       * the value set here, but you can customize the value of
       * --max_jvm_perm_gen_size through runtime updates.
       * 
* * optional int32 java_clone_perm_gen_size_mb = 62; * @param value The javaClonePermGenSizeMb to set. * @return This builder for chaining. */ public Builder setJavaClonePermGenSizeMb(int value) { javaClonePermGenSizeMb_ = value; bitField0_ |= 0x00000040; onChanged(); return this; } /** *
       * Perm-gen size, for java processes.
       * DEPRECATED in updateable runtimes (go/runtime-updates). Appserver ignores
       * the value set here, but you can customize the value of
       * --max_jvm_perm_gen_size through runtime updates.
       * 
* * optional int32 java_clone_perm_gen_size_mb = 62; * @return This builder for chaining. */ public Builder clearJavaClonePermGenSizeMb() { bitField0_ = (bitField0_ & ~0x00000040); javaClonePermGenSizeMb_ = 0; onChanged(); return this; } private int javaVmType_ = 0; /** *
       * DEPRECATED in updateable runtimes (go/runtime-updates). Appserver ignores
       * the value set here, but you can customize the value of --vm_type through
       * runtime updates.
       * 
* * optional .java.apphosting.SupervisorSettings.JavaVmType java_vm_type = 34; * @return Whether the javaVmType field is set. */ @java.lang.Override public boolean hasJavaVmType() { return ((bitField0_ & 0x00000080) != 0); } /** *
       * DEPRECATED in updateable runtimes (go/runtime-updates). Appserver ignores
       * the value set here, but you can customize the value of --vm_type through
       * runtime updates.
       * 
* * optional .java.apphosting.SupervisorSettings.JavaVmType java_vm_type = 34; * @return The javaVmType. */ @java.lang.Override public com.google.apphosting.base.protos.ClonePb.SupervisorSettings.JavaVmType getJavaVmType() { com.google.apphosting.base.protos.ClonePb.SupervisorSettings.JavaVmType result = com.google.apphosting.base.protos.ClonePb.SupervisorSettings.JavaVmType.forNumber(javaVmType_); return result == null ? com.google.apphosting.base.protos.ClonePb.SupervisorSettings.JavaVmType.CLIENT : result; } /** *
       * DEPRECATED in updateable runtimes (go/runtime-updates). Appserver ignores
       * the value set here, but you can customize the value of --vm_type through
       * runtime updates.
       * 
* * optional .java.apphosting.SupervisorSettings.JavaVmType java_vm_type = 34; * @param value The javaVmType to set. * @return This builder for chaining. */ public Builder setJavaVmType(com.google.apphosting.base.protos.ClonePb.SupervisorSettings.JavaVmType value) { if (value == null) { throw new NullPointerException(); } bitField0_ |= 0x00000080; javaVmType_ = value.getNumber(); onChanged(); return this; } /** *
       * DEPRECATED in updateable runtimes (go/runtime-updates). Appserver ignores
       * the value set here, but you can customize the value of --vm_type through
       * runtime updates.
       * 
* * optional .java.apphosting.SupervisorSettings.JavaVmType java_vm_type = 34; * @return This builder for chaining. */ public Builder clearJavaVmType() { bitField0_ = (bitField0_ & ~0x00000080); javaVmType_ = 0; onChanged(); return this; } private double waitForActiveClonesMinPendingTimeS_ ; /** *
       * ShouldWaitForClone will return true if pending time (i.e. the time this
       * request has already sat on the pending queue up until now) is below this
       * threshold.
       * NOTE: Also used by ShouldStartLoadingRequest as a hard floor. If
       * pending time is below this threshold, then it will return false.
       * NOTE: With 1.6.2, it is *only* used by ShouldStartLoadingRequest.
       * 
* * optional double wait_for_active_clones_min_pending_time_s = 39; * @return Whether the waitForActiveClonesMinPendingTimeS field is set. */ @java.lang.Override public boolean hasWaitForActiveClonesMinPendingTimeS() { return ((bitField0_ & 0x00000100) != 0); } /** *
       * ShouldWaitForClone will return true if pending time (i.e. the time this
       * request has already sat on the pending queue up until now) is below this
       * threshold.
       * NOTE: Also used by ShouldStartLoadingRequest as a hard floor. If
       * pending time is below this threshold, then it will return false.
       * NOTE: With 1.6.2, it is *only* used by ShouldStartLoadingRequest.
       * 
* * optional double wait_for_active_clones_min_pending_time_s = 39; * @return The waitForActiveClonesMinPendingTimeS. */ @java.lang.Override public double getWaitForActiveClonesMinPendingTimeS() { return waitForActiveClonesMinPendingTimeS_; } /** *
       * ShouldWaitForClone will return true if pending time (i.e. the time this
       * request has already sat on the pending queue up until now) is below this
       * threshold.
       * NOTE: Also used by ShouldStartLoadingRequest as a hard floor. If
       * pending time is below this threshold, then it will return false.
       * NOTE: With 1.6.2, it is *only* used by ShouldStartLoadingRequest.
       * 
* * optional double wait_for_active_clones_min_pending_time_s = 39; * @param value The waitForActiveClonesMinPendingTimeS to set. * @return This builder for chaining. */ public Builder setWaitForActiveClonesMinPendingTimeS(double value) { waitForActiveClonesMinPendingTimeS_ = value; bitField0_ |= 0x00000100; onChanged(); return this; } /** *
       * ShouldWaitForClone will return true if pending time (i.e. the time this
       * request has already sat on the pending queue up until now) is below this
       * threshold.
       * NOTE: Also used by ShouldStartLoadingRequest as a hard floor. If
       * pending time is below this threshold, then it will return false.
       * NOTE: With 1.6.2, it is *only* used by ShouldStartLoadingRequest.
       * 
* * optional double wait_for_active_clones_min_pending_time_s = 39; * @return This builder for chaining. */ public Builder clearWaitForActiveClonesMinPendingTimeS() { bitField0_ = (bitField0_ & ~0x00000100); waitForActiveClonesMinPendingTimeS_ = 0D; onChanged(); return this; } private double waitForActiveClonesMaxPendingTimeS_ ; /** *
       * ShouldWaitForClone will return false if pending time (i.e. the time this
       * request has already sat on the pending queue up until now) is above this
       * threshold.
       * NOTE: Also used by ShouldStartLoadingRequest as a hard ceiling. If
       * pending time is above this threshold, then it will return true.
       * NOTE: With 1.6.2, it is *only* used by ShouldStartLoadingRequest.
       * 
* * optional double wait_for_active_clones_max_pending_time_s = 41; * @return Whether the waitForActiveClonesMaxPendingTimeS field is set. */ @java.lang.Override public boolean hasWaitForActiveClonesMaxPendingTimeS() { return ((bitField0_ & 0x00000200) != 0); } /** *
       * ShouldWaitForClone will return false if pending time (i.e. the time this
       * request has already sat on the pending queue up until now) is above this
       * threshold.
       * NOTE: Also used by ShouldStartLoadingRequest as a hard ceiling. If
       * pending time is above this threshold, then it will return true.
       * NOTE: With 1.6.2, it is *only* used by ShouldStartLoadingRequest.
       * 
* * optional double wait_for_active_clones_max_pending_time_s = 41; * @return The waitForActiveClonesMaxPendingTimeS. */ @java.lang.Override public double getWaitForActiveClonesMaxPendingTimeS() { return waitForActiveClonesMaxPendingTimeS_; } /** *
       * ShouldWaitForClone will return false if pending time (i.e. the time this
       * request has already sat on the pending queue up until now) is above this
       * threshold.
       * NOTE: Also used by ShouldStartLoadingRequest as a hard ceiling. If
       * pending time is above this threshold, then it will return true.
       * NOTE: With 1.6.2, it is *only* used by ShouldStartLoadingRequest.
       * 
* * optional double wait_for_active_clones_max_pending_time_s = 41; * @param value The waitForActiveClonesMaxPendingTimeS to set. * @return This builder for chaining. */ public Builder setWaitForActiveClonesMaxPendingTimeS(double value) { waitForActiveClonesMaxPendingTimeS_ = value; bitField0_ |= 0x00000200; onChanged(); return this; } /** *
       * ShouldWaitForClone will return false if pending time (i.e. the time this
       * request has already sat on the pending queue up until now) is above this
       * threshold.
       * NOTE: Also used by ShouldStartLoadingRequest as a hard ceiling. If
       * pending time is above this threshold, then it will return true.
       * NOTE: With 1.6.2, it is *only* used by ShouldStartLoadingRequest.
       * 
* * optional double wait_for_active_clones_max_pending_time_s = 41; * @return This builder for chaining. */ public Builder clearWaitForActiveClonesMaxPendingTimeS() { bitField0_ = (bitField0_ & ~0x00000200); waitForActiveClonesMaxPendingTimeS_ = 0D; onChanged(); return this; } private int maxCloneSuccessfulRequests_ ; /** *
       * Max requests a Clone can serve before it is killed.
       * 
* * optional int32 max_clone_successful_requests = 5; * @return Whether the maxCloneSuccessfulRequests field is set. */ @java.lang.Override public boolean hasMaxCloneSuccessfulRequests() { return ((bitField0_ & 0x00000400) != 0); } /** *
       * Max requests a Clone can serve before it is killed.
       * 
* * optional int32 max_clone_successful_requests = 5; * @return The maxCloneSuccessfulRequests. */ @java.lang.Override public int getMaxCloneSuccessfulRequests() { return maxCloneSuccessfulRequests_; } /** *
       * Max requests a Clone can serve before it is killed.
       * 
* * optional int32 max_clone_successful_requests = 5; * @param value The maxCloneSuccessfulRequests to set. * @return This builder for chaining. */ public Builder setMaxCloneSuccessfulRequests(int value) { maxCloneSuccessfulRequests_ = value; bitField0_ |= 0x00000400; onChanged(); return this; } /** *
       * Max requests a Clone can serve before it is killed.
       * 
* * optional int32 max_clone_successful_requests = 5; * @return This builder for chaining. */ public Builder clearMaxCloneSuccessfulRequests() { bitField0_ = (bitField0_ & ~0x00000400); maxCloneSuccessfulRequests_ = 0; onChanged(); return this; } private int maxCloneSequentialErrors_ ; /** *
       * Max sequential errors a Clone can serve before it is killed.
       * 
* * optional int32 max_clone_sequential_errors = 6; * @return Whether the maxCloneSequentialErrors field is set. */ @java.lang.Override public boolean hasMaxCloneSequentialErrors() { return ((bitField0_ & 0x00000800) != 0); } /** *
       * Max sequential errors a Clone can serve before it is killed.
       * 
* * optional int32 max_clone_sequential_errors = 6; * @return The maxCloneSequentialErrors. */ @java.lang.Override public int getMaxCloneSequentialErrors() { return maxCloneSequentialErrors_; } /** *
       * Max sequential errors a Clone can serve before it is killed.
       * 
* * optional int32 max_clone_sequential_errors = 6; * @param value The maxCloneSequentialErrors to set. * @return This builder for chaining. */ public Builder setMaxCloneSequentialErrors(int value) { maxCloneSequentialErrors_ = value; bitField0_ |= 0x00000800; onChanged(); return this; } /** *
       * Max sequential errors a Clone can serve before it is killed.
       * 
* * optional int32 max_clone_sequential_errors = 6; * @return This builder for chaining. */ public Builder clearMaxCloneSequentialErrors() { bitField0_ = (bitField0_ & ~0x00000800); maxCloneSequentialErrors_ = 0; onChanged(); return this; } private int maxActiveRequests_ ; /** *
       * Maximum number of concurrent outstanding (aka active) requests to allow for
       * this app or version on this appserver.
       * 
* * optional int32 max_active_requests = 7; * @return Whether the maxActiveRequests field is set. */ @java.lang.Override public boolean hasMaxActiveRequests() { return ((bitField0_ & 0x00001000) != 0); } /** *
       * Maximum number of concurrent outstanding (aka active) requests to allow for
       * this app or version on this appserver.
       * 
* * optional int32 max_active_requests = 7; * @return The maxActiveRequests. */ @java.lang.Override public int getMaxActiveRequests() { return maxActiveRequests_; } /** *
       * Maximum number of concurrent outstanding (aka active) requests to allow for
       * this app or version on this appserver.
       * 
* * optional int32 max_active_requests = 7; * @param value The maxActiveRequests to set. * @return This builder for chaining. */ public Builder setMaxActiveRequests(int value) { maxActiveRequests_ = value; bitField0_ |= 0x00001000; onChanged(); return this; } /** *
       * Maximum number of concurrent outstanding (aka active) requests to allow for
       * this app or version on this appserver.
       * 
* * optional int32 max_active_requests = 7; * @return This builder for chaining. */ public Builder clearMaxActiveRequests() { bitField0_ = (bitField0_ & ~0x00001000); maxActiveRequests_ = 0; onChanged(); return this; } private int maxActiveClones_ ; /** *
       * Maximum number of active clones to allow for this app or version on this
       * appserver. An active clone is any clone that is currently processing at
       * least one request.
       * 
* * optional int32 max_active_clones = 27; * @return Whether the maxActiveClones field is set. */ @java.lang.Override public boolean hasMaxActiveClones() { return ((bitField0_ & 0x00002000) != 0); } /** *
       * Maximum number of active clones to allow for this app or version on this
       * appserver. An active clone is any clone that is currently processing at
       * least one request.
       * 
* * optional int32 max_active_clones = 27; * @return The maxActiveClones. */ @java.lang.Override public int getMaxActiveClones() { return maxActiveClones_; } /** *
       * Maximum number of active clones to allow for this app or version on this
       * appserver. An active clone is any clone that is currently processing at
       * least one request.
       * 
* * optional int32 max_active_clones = 27; * @param value The maxActiveClones to set. * @return This builder for chaining. */ public Builder setMaxActiveClones(int value) { maxActiveClones_ = value; bitField0_ |= 0x00002000; onChanged(); return this; } /** *
       * Maximum number of active clones to allow for this app or version on this
       * appserver. An active clone is any clone that is currently processing at
       * least one request.
       * 
* * optional int32 max_active_clones = 27; * @return This builder for chaining. */ public Builder clearMaxActiveClones() { bitField0_ = (bitField0_ & ~0x00002000); maxActiveClones_ = 0; onChanged(); return this; } private boolean throttleLoadingRequests_ ; /** *
       * Determines whether the appserver will throttle loading requests for this
       * app version.  Default: true for non-servers, false for servers.
       * 
* * optional bool throttle_loading_requests = 26; * @return Whether the throttleLoadingRequests field is set. */ @java.lang.Override public boolean hasThrottleLoadingRequests() { return ((bitField0_ & 0x00004000) != 0); } /** *
       * Determines whether the appserver will throttle loading requests for this
       * app version.  Default: true for non-servers, false for servers.
       * 
* * optional bool throttle_loading_requests = 26; * @return The throttleLoadingRequests. */ @java.lang.Override public boolean getThrottleLoadingRequests() { return throttleLoadingRequests_; } /** *
       * Determines whether the appserver will throttle loading requests for this
       * app version.  Default: true for non-servers, false for servers.
       * 
* * optional bool throttle_loading_requests = 26; * @param value The throttleLoadingRequests to set. * @return This builder for chaining. */ public Builder setThrottleLoadingRequests(boolean value) { throttleLoadingRequests_ = value; bitField0_ |= 0x00004000; onChanged(); return this; } /** *
       * Determines whether the appserver will throttle loading requests for this
       * app version.  Default: true for non-servers, false for servers.
       * 
* * optional bool throttle_loading_requests = 26; * @return This builder for chaining. */ public Builder clearThrottleLoadingRequests() { bitField0_ = (bitField0_ & ~0x00004000); throttleLoadingRequests_ = false; onChanged(); return this; } private int maxLoadingRequests_ ; /** *
       * Maximum number of recently started concurrent loading requests to allow.
       * 
* * optional int32 max_loading_requests = 19; * @return Whether the maxLoadingRequests field is set. */ @java.lang.Override public boolean hasMaxLoadingRequests() { return ((bitField0_ & 0x00008000) != 0); } /** *
       * Maximum number of recently started concurrent loading requests to allow.
       * 
* * optional int32 max_loading_requests = 19; * @return The maxLoadingRequests. */ @java.lang.Override public int getMaxLoadingRequests() { return maxLoadingRequests_; } /** *
       * Maximum number of recently started concurrent loading requests to allow.
       * 
* * optional int32 max_loading_requests = 19; * @param value The maxLoadingRequests to set. * @return This builder for chaining. */ public Builder setMaxLoadingRequests(int value) { maxLoadingRequests_ = value; bitField0_ |= 0x00008000; onChanged(); return this; } /** *
       * Maximum number of recently started concurrent loading requests to allow.
       * 
* * optional int32 max_loading_requests = 19; * @return This builder for chaining. */ public Builder clearMaxLoadingRequests() { bitField0_ = (bitField0_ & ~0x00008000); maxLoadingRequests_ = 0; onChanged(); return this; } private double requestDeadlineS_ ; /** *
       * Overrides the time a runtime is given to process a request. Excludes time
       * spent in a pending queue, and only refers to time spent in the runtime.
       * 
* * optional double request_deadline_s = 11; * @return Whether the requestDeadlineS field is set. */ @java.lang.Override public boolean hasRequestDeadlineS() { return ((bitField0_ & 0x00010000) != 0); } /** *
       * Overrides the time a runtime is given to process a request. Excludes time
       * spent in a pending queue, and only refers to time spent in the runtime.
       * 
* * optional double request_deadline_s = 11; * @return The requestDeadlineS. */ @java.lang.Override public double getRequestDeadlineS() { return requestDeadlineS_; } /** *
       * Overrides the time a runtime is given to process a request. Excludes time
       * spent in a pending queue, and only refers to time spent in the runtime.
       * 
* * optional double request_deadline_s = 11; * @param value The requestDeadlineS to set. * @return This builder for chaining. */ public Builder setRequestDeadlineS(double value) { requestDeadlineS_ = value; bitField0_ |= 0x00010000; onChanged(); return this; } /** *
       * Overrides the time a runtime is given to process a request. Excludes time
       * spent in a pending queue, and only refers to time spent in the runtime.
       * 
* * optional double request_deadline_s = 11; * @return This builder for chaining. */ public Builder clearRequestDeadlineS() { bitField0_ = (bitField0_ & ~0x00010000); requestDeadlineS_ = 0D; onChanged(); return this; } private double offlineRequestDeadlineS_ ; /** *
       * Same as request_deadline_s, but for offline requests.
       * 
* * optional double offline_request_deadline_s = 18; * @return Whether the offlineRequestDeadlineS field is set. */ @java.lang.Override public boolean hasOfflineRequestDeadlineS() { return ((bitField0_ & 0x00020000) != 0); } /** *
       * Same as request_deadline_s, but for offline requests.
       * 
* * optional double offline_request_deadline_s = 18; * @return The offlineRequestDeadlineS. */ @java.lang.Override public double getOfflineRequestDeadlineS() { return offlineRequestDeadlineS_; } /** *
       * Same as request_deadline_s, but for offline requests.
       * 
* * optional double offline_request_deadline_s = 18; * @param value The offlineRequestDeadlineS to set. * @return This builder for chaining. */ public Builder setOfflineRequestDeadlineS(double value) { offlineRequestDeadlineS_ = value; bitField0_ |= 0x00020000; onChanged(); return this; } /** *
       * Same as request_deadline_s, but for offline requests.
       * 
* * optional double offline_request_deadline_s = 18; * @return This builder for chaining. */ public Builder clearOfflineRequestDeadlineS() { bitField0_ = (bitField0_ & ~0x00020000); offlineRequestDeadlineS_ = 0D; onChanged(); return this; } private double warmingRequestDeadlineS_ ; /** *
       * Same as request_deadline_s, but for warming requests.
       * 
* * optional double warming_request_deadline_s = 20; * @return Whether the warmingRequestDeadlineS field is set. */ @java.lang.Override public boolean hasWarmingRequestDeadlineS() { return ((bitField0_ & 0x00040000) != 0); } /** *
       * Same as request_deadline_s, but for warming requests.
       * 
* * optional double warming_request_deadline_s = 20; * @return The warmingRequestDeadlineS. */ @java.lang.Override public double getWarmingRequestDeadlineS() { return warmingRequestDeadlineS_; } /** *
       * Same as request_deadline_s, but for warming requests.
       * 
* * optional double warming_request_deadline_s = 20; * @param value The warmingRequestDeadlineS to set. * @return This builder for chaining. */ public Builder setWarmingRequestDeadlineS(double value) { warmingRequestDeadlineS_ = value; bitField0_ |= 0x00040000; onChanged(); return this; } /** *
       * Same as request_deadline_s, but for warming requests.
       * 
* * optional double warming_request_deadline_s = 20; * @return This builder for chaining. */ public Builder clearWarmingRequestDeadlineS() { bitField0_ = (bitField0_ & ~0x00040000); warmingRequestDeadlineS_ = 0D; onChanged(); return this; } private double loadingRequestDeadlineS_ ; /** *
       * Same as request_deadline_s, but for loading requests.
       * 
* * optional double loading_request_deadline_s = 32; * @return Whether the loadingRequestDeadlineS field is set. */ @java.lang.Override public boolean hasLoadingRequestDeadlineS() { return ((bitField0_ & 0x00080000) != 0); } /** *
       * Same as request_deadline_s, but for loading requests.
       * 
* * optional double loading_request_deadline_s = 32; * @return The loadingRequestDeadlineS. */ @java.lang.Override public double getLoadingRequestDeadlineS() { return loadingRequestDeadlineS_; } /** *
       * Same as request_deadline_s, but for loading requests.
       * 
* * optional double loading_request_deadline_s = 32; * @param value The loadingRequestDeadlineS to set. * @return This builder for chaining. */ public Builder setLoadingRequestDeadlineS(double value) { loadingRequestDeadlineS_ = value; bitField0_ |= 0x00080000; onChanged(); return this; } /** *
       * Same as request_deadline_s, but for loading requests.
       * 
* * optional double loading_request_deadline_s = 32; * @return This builder for chaining. */ public Builder clearLoadingRequestDeadlineS() { bitField0_ = (bitField0_ & ~0x00080000); loadingRequestDeadlineS_ = 0D; onChanged(); return this; } private double shutdownRequestDeadlineS_ ; /** *
       * Same as request_deadline_s, but for shutdown requests.
       * 
* * optional double shutdown_request_deadline_s = 33; * @return Whether the shutdownRequestDeadlineS field is set. */ @java.lang.Override public boolean hasShutdownRequestDeadlineS() { return ((bitField0_ & 0x00100000) != 0); } /** *
       * Same as request_deadline_s, but for shutdown requests.
       * 
* * optional double shutdown_request_deadline_s = 33; * @return The shutdownRequestDeadlineS. */ @java.lang.Override public double getShutdownRequestDeadlineS() { return shutdownRequestDeadlineS_; } /** *
       * Same as request_deadline_s, but for shutdown requests.
       * 
* * optional double shutdown_request_deadline_s = 33; * @param value The shutdownRequestDeadlineS to set. * @return This builder for chaining. */ public Builder setShutdownRequestDeadlineS(double value) { shutdownRequestDeadlineS_ = value; bitField0_ |= 0x00100000; onChanged(); return this; } /** *
       * Same as request_deadline_s, but for shutdown requests.
       * 
* * optional double shutdown_request_deadline_s = 33; * @return This builder for chaining. */ public Builder clearShutdownRequestDeadlineS() { bitField0_ = (bitField0_ & ~0x00100000); shutdownRequestDeadlineS_ = 0D; onChanged(); return this; } private double maxPendingDelayS_ ; /** *
       * Overrides the time to allow a request to sit in the pending queue.
       * 
* * optional double max_pending_delay_s = 12; * @return Whether the maxPendingDelayS field is set. */ @java.lang.Override public boolean hasMaxPendingDelayS() { return ((bitField0_ & 0x00200000) != 0); } /** *
       * Overrides the time to allow a request to sit in the pending queue.
       * 
* * optional double max_pending_delay_s = 12; * @return The maxPendingDelayS. */ @java.lang.Override public double getMaxPendingDelayS() { return maxPendingDelayS_; } /** *
       * Overrides the time to allow a request to sit in the pending queue.
       * 
* * optional double max_pending_delay_s = 12; * @param value The maxPendingDelayS to set. * @return This builder for chaining. */ public Builder setMaxPendingDelayS(double value) { maxPendingDelayS_ = value; bitField0_ |= 0x00200000; onChanged(); return this; } /** *
       * Overrides the time to allow a request to sit in the pending queue.
       * 
* * optional double max_pending_delay_s = 12; * @return This builder for chaining. */ public Builder clearMaxPendingDelayS() { bitField0_ = (bitField0_ & ~0x00200000); maxPendingDelayS_ = 0D; onChanged(); return this; } private double loadingMaxPendingDelayBoostFactor_ ; /** *
       * Boost factor for max_pending_delay_s. Don't use if we don't have to
       * b/122049200
       * 
* * optional double loading_max_pending_delay_boost_factor = 73; * @return Whether the loadingMaxPendingDelayBoostFactor field is set. */ @java.lang.Override public boolean hasLoadingMaxPendingDelayBoostFactor() { return ((bitField0_ & 0x00400000) != 0); } /** *
       * Boost factor for max_pending_delay_s. Don't use if we don't have to
       * b/122049200
       * 
* * optional double loading_max_pending_delay_boost_factor = 73; * @return The loadingMaxPendingDelayBoostFactor. */ @java.lang.Override public double getLoadingMaxPendingDelayBoostFactor() { return loadingMaxPendingDelayBoostFactor_; } /** *
       * Boost factor for max_pending_delay_s. Don't use if we don't have to
       * b/122049200
       * 
* * optional double loading_max_pending_delay_boost_factor = 73; * @param value The loadingMaxPendingDelayBoostFactor to set. * @return This builder for chaining. */ public Builder setLoadingMaxPendingDelayBoostFactor(double value) { loadingMaxPendingDelayBoostFactor_ = value; bitField0_ |= 0x00400000; onChanged(); return this; } /** *
       * Boost factor for max_pending_delay_s. Don't use if we don't have to
       * b/122049200
       * 
* * optional double loading_max_pending_delay_boost_factor = 73; * @return This builder for chaining. */ public Builder clearLoadingMaxPendingDelayBoostFactor() { bitField0_ = (bitField0_ & ~0x00400000); loadingMaxPendingDelayBoostFactor_ = 0D; onChanged(); return this; } private double maxPendingDelayBoostLimitFactor_ ; /** *
       * Allows the request to sit in a pending queue up to `max pending delay`
       * times max_pending_delay_s_boost_limit_factor if a loading request for
       * this appversion is being executed.  0 effectively disables this
       * functionality for the app.
       * 
* * optional double max_pending_delay_boost_limit_factor = 70; * @return Whether the maxPendingDelayBoostLimitFactor field is set. */ @java.lang.Override public boolean hasMaxPendingDelayBoostLimitFactor() { return ((bitField0_ & 0x00800000) != 0); } /** *
       * Allows the request to sit in a pending queue up to `max pending delay`
       * times max_pending_delay_s_boost_limit_factor if a loading request for
       * this appversion is being executed.  0 effectively disables this
       * functionality for the app.
       * 
* * optional double max_pending_delay_boost_limit_factor = 70; * @return The maxPendingDelayBoostLimitFactor. */ @java.lang.Override public double getMaxPendingDelayBoostLimitFactor() { return maxPendingDelayBoostLimitFactor_; } /** *
       * Allows the request to sit in a pending queue up to `max pending delay`
       * times max_pending_delay_s_boost_limit_factor if a loading request for
       * this appversion is being executed.  0 effectively disables this
       * functionality for the app.
       * 
* * optional double max_pending_delay_boost_limit_factor = 70; * @param value The maxPendingDelayBoostLimitFactor to set. * @return This builder for chaining. */ public Builder setMaxPendingDelayBoostLimitFactor(double value) { maxPendingDelayBoostLimitFactor_ = value; bitField0_ |= 0x00800000; onChanged(); return this; } /** *
       * Allows the request to sit in a pending queue up to `max pending delay`
       * times max_pending_delay_s_boost_limit_factor if a loading request for
       * this appversion is being executed.  0 effectively disables this
       * functionality for the app.
       * 
* * optional double max_pending_delay_boost_limit_factor = 70; * @return This builder for chaining. */ public Builder clearMaxPendingDelayBoostLimitFactor() { bitField0_ = (bitField0_ & ~0x00800000); maxPendingDelayBoostLimitFactor_ = 0D; onChanged(); return this; } private int pushBackMaxPendingRequests_ ; /** *
       * Maximum number of pending requests for an app version on one
       * appserver. Once this is exceeded we will begin returning PUSH_BACK to new
       * requests to a given app version.
       * 
* * optional int32 push_back_max_pending_requests = 16; * @return Whether the pushBackMaxPendingRequests field is set. */ @java.lang.Override public boolean hasPushBackMaxPendingRequests() { return ((bitField0_ & 0x01000000) != 0); } /** *
       * Maximum number of pending requests for an app version on one
       * appserver. Once this is exceeded we will begin returning PUSH_BACK to new
       * requests to a given app version.
       * 
* * optional int32 push_back_max_pending_requests = 16; * @return The pushBackMaxPendingRequests. */ @java.lang.Override public int getPushBackMaxPendingRequests() { return pushBackMaxPendingRequests_; } /** *
       * Maximum number of pending requests for an app version on one
       * appserver. Once this is exceeded we will begin returning PUSH_BACK to new
       * requests to a given app version.
       * 
* * optional int32 push_back_max_pending_requests = 16; * @param value The pushBackMaxPendingRequests to set. * @return This builder for chaining. */ public Builder setPushBackMaxPendingRequests(int value) { pushBackMaxPendingRequests_ = value; bitField0_ |= 0x01000000; onChanged(); return this; } /** *
       * Maximum number of pending requests for an app version on one
       * appserver. Once this is exceeded we will begin returning PUSH_BACK to new
       * requests to a given app version.
       * 
* * optional int32 push_back_max_pending_requests = 16; * @return This builder for chaining. */ public Builder clearPushBackMaxPendingRequests() { bitField0_ = (bitField0_ & ~0x01000000); pushBackMaxPendingRequests_ = 0; onChanged(); return this; } private double maxCpuRate_ ; /** *
       * Maximum cpu rate to allow for any clone belonging to this version, enforced
       * by the throttler.
       * TODO(b/125948820) although this field is called a rate, it is treated in
       * the code as a mhz value.
       * 
* * optional double max_cpu_rate = 21; * @return Whether the maxCpuRate field is set. */ @java.lang.Override public boolean hasMaxCpuRate() { return ((bitField0_ & 0x02000000) != 0); } /** *
       * Maximum cpu rate to allow for any clone belonging to this version, enforced
       * by the throttler.
       * TODO(b/125948820) although this field is called a rate, it is treated in
       * the code as a mhz value.
       * 
* * optional double max_cpu_rate = 21; * @return The maxCpuRate. */ @java.lang.Override public double getMaxCpuRate() { return maxCpuRate_; } /** *
       * Maximum cpu rate to allow for any clone belonging to this version, enforced
       * by the throttler.
       * TODO(b/125948820) although this field is called a rate, it is treated in
       * the code as a mhz value.
       * 
* * optional double max_cpu_rate = 21; * @param value The maxCpuRate to set. * @return This builder for chaining. */ public Builder setMaxCpuRate(double value) { maxCpuRate_ = value; bitField0_ |= 0x02000000; onChanged(); return this; } /** *
       * Maximum cpu rate to allow for any clone belonging to this version, enforced
       * by the throttler.
       * TODO(b/125948820) although this field is called a rate, it is treated in
       * the code as a mhz value.
       * 
* * optional double max_cpu_rate = 21; * @return This builder for chaining. */ public Builder clearMaxCpuRate() { bitField0_ = (bitField0_ & ~0x02000000); maxCpuRate_ = 0D; onChanged(); return this; } private double cpuRatePadding_ ; /** *
       * Padding for maximum cpu rate of this clone. It will be ignored if
       * max_cpu_rate is set. Otherwise, it will be added to the instance class
       * specific mcycle value as defined by --instance_class_cpu_mhz.
       * TODO(b/125948820) although this field is called a rate, it is treated in
       * the code as a mhz value.
       * 
* * optional double cpu_rate_padding = 71; * @return Whether the cpuRatePadding field is set. */ @java.lang.Override public boolean hasCpuRatePadding() { return ((bitField0_ & 0x04000000) != 0); } /** *
       * Padding for maximum cpu rate of this clone. It will be ignored if
       * max_cpu_rate is set. Otherwise, it will be added to the instance class
       * specific mcycle value as defined by --instance_class_cpu_mhz.
       * TODO(b/125948820) although this field is called a rate, it is treated in
       * the code as a mhz value.
       * 
* * optional double cpu_rate_padding = 71; * @return The cpuRatePadding. */ @java.lang.Override public double getCpuRatePadding() { return cpuRatePadding_; } /** *
       * Padding for maximum cpu rate of this clone. It will be ignored if
       * max_cpu_rate is set. Otherwise, it will be added to the instance class
       * specific mcycle value as defined by --instance_class_cpu_mhz.
       * TODO(b/125948820) although this field is called a rate, it is treated in
       * the code as a mhz value.
       * 
* * optional double cpu_rate_padding = 71; * @param value The cpuRatePadding to set. * @return This builder for chaining. */ public Builder setCpuRatePadding(double value) { cpuRatePadding_ = value; bitField0_ |= 0x04000000; onChanged(); return this; } /** *
       * Padding for maximum cpu rate of this clone. It will be ignored if
       * max_cpu_rate is set. Otherwise, it will be added to the instance class
       * specific mcycle value as defined by --instance_class_cpu_mhz.
       * TODO(b/125948820) although this field is called a rate, it is treated in
       * the code as a mhz value.
       * 
* * optional double cpu_rate_padding = 71; * @return This builder for chaining. */ public Builder clearCpuRatePadding() { bitField0_ = (bitField0_ & ~0x04000000); cpuRatePadding_ = 0D; onChanged(); return this; } private double startupCpuRate_ ; /** *
       * CPU rate to start any clone belonging to this version, and held until
       * first loading request is finished or a timeout.
       * Note that this value is NOT mcycles. To prevent accidental
       * misconfiguration, this value is sanity-checked in version_settings.cc.
       * 
* * optional double startup_cpu_rate = 69; * @return Whether the startupCpuRate field is set. */ @java.lang.Override public boolean hasStartupCpuRate() { return ((bitField0_ & 0x08000000) != 0); } /** *
       * CPU rate to start any clone belonging to this version, and held until
       * first loading request is finished or a timeout.
       * Note that this value is NOT mcycles. To prevent accidental
       * misconfiguration, this value is sanity-checked in version_settings.cc.
       * 
* * optional double startup_cpu_rate = 69; * @return The startupCpuRate. */ @java.lang.Override public double getStartupCpuRate() { return startupCpuRate_; } /** *
       * CPU rate to start any clone belonging to this version, and held until
       * first loading request is finished or a timeout.
       * Note that this value is NOT mcycles. To prevent accidental
       * misconfiguration, this value is sanity-checked in version_settings.cc.
       * 
* * optional double startup_cpu_rate = 69; * @param value The startupCpuRate to set. * @return This builder for chaining. */ public Builder setStartupCpuRate(double value) { startupCpuRate_ = value; bitField0_ |= 0x08000000; onChanged(); return this; } /** *
       * CPU rate to start any clone belonging to this version, and held until
       * first loading request is finished or a timeout.
       * Note that this value is NOT mcycles. To prevent accidental
       * misconfiguration, this value is sanity-checked in version_settings.cc.
       * 
* * optional double startup_cpu_rate = 69; * @return This builder for chaining. */ public Builder clearStartupCpuRate() { bitField0_ = (bitField0_ & ~0x08000000); startupCpuRate_ = 0D; onChanged(); return this; } private int maxConcurrentRequests_ ; /** *
       * Maximum number of concurrent non-background requests one clone process may
       * serve.
       * 
* * optional int32 max_concurrent_requests = 23; * @return Whether the maxConcurrentRequests field is set. */ @java.lang.Override public boolean hasMaxConcurrentRequests() { return ((bitField0_ & 0x10000000) != 0); } /** *
       * Maximum number of concurrent non-background requests one clone process may
       * serve.
       * 
* * optional int32 max_concurrent_requests = 23; * @return The maxConcurrentRequests. */ @java.lang.Override public int getMaxConcurrentRequests() { return maxConcurrentRequests_; } /** *
       * Maximum number of concurrent non-background requests one clone process may
       * serve.
       * 
* * optional int32 max_concurrent_requests = 23; * @param value The maxConcurrentRequests to set. * @return This builder for chaining. */ public Builder setMaxConcurrentRequests(int value) { maxConcurrentRequests_ = value; bitField0_ |= 0x10000000; onChanged(); return this; } /** *
       * Maximum number of concurrent non-background requests one clone process may
       * serve.
       * 
* * optional int32 max_concurrent_requests = 23; * @return This builder for chaining. */ public Builder clearMaxConcurrentRequests() { bitField0_ = (bitField0_ & ~0x10000000); maxConcurrentRequests_ = 0; onChanged(); return this; } private int cpuShares_ ; /** *
       * Number of cpu shares for the clone to have.
       * 
* * optional int32 cpu_shares = 68; * @return Whether the cpuShares field is set. */ @java.lang.Override public boolean hasCpuShares() { return ((bitField0_ & 0x20000000) != 0); } /** *
       * Number of cpu shares for the clone to have.
       * 
* * optional int32 cpu_shares = 68; * @return The cpuShares. */ @java.lang.Override public int getCpuShares() { return cpuShares_; } /** *
       * Number of cpu shares for the clone to have.
       * 
* * optional int32 cpu_shares = 68; * @param value The cpuShares to set. * @return This builder for chaining. */ public Builder setCpuShares(int value) { cpuShares_ = value; bitField0_ |= 0x20000000; onChanged(); return this; } /** *
       * Number of cpu shares for the clone to have.
       * 
* * optional int32 cpu_shares = 68; * @return This builder for chaining. */ public Builder clearCpuShares() { bitField0_ = (bitField0_ & ~0x20000000); cpuShares_ = 0; onChanged(); return this; } private int minConcurrentRequests_ ; /** *
       * Minimum number of concurrent non-background requests one clone process may
       * serve.
       * 
* * optional int32 min_concurrent_requests = 54; * @return Whether the minConcurrentRequests field is set. */ @java.lang.Override public boolean hasMinConcurrentRequests() { return ((bitField0_ & 0x40000000) != 0); } /** *
       * Minimum number of concurrent non-background requests one clone process may
       * serve.
       * 
* * optional int32 min_concurrent_requests = 54; * @return The minConcurrentRequests. */ @java.lang.Override public int getMinConcurrentRequests() { return minConcurrentRequests_; } /** *
       * Minimum number of concurrent non-background requests one clone process may
       * serve.
       * 
* * optional int32 min_concurrent_requests = 54; * @param value The minConcurrentRequests to set. * @return This builder for chaining. */ public Builder setMinConcurrentRequests(int value) { minConcurrentRequests_ = value; bitField0_ |= 0x40000000; onChanged(); return this; } /** *
       * Minimum number of concurrent non-background requests one clone process may
       * serve.
       * 
* * optional int32 min_concurrent_requests = 54; * @return This builder for chaining. */ public Builder clearMinConcurrentRequests() { bitField0_ = (bitField0_ & ~0x40000000); minConcurrentRequests_ = 0; onChanged(); return this; } private int maxBackgroundRequests_ ; /** *
       * Maximum number of concurrent background requests one clone process may
       * serve.
       * 
* * optional int32 max_background_requests = 53; * @return Whether the maxBackgroundRequests field is set. */ @java.lang.Override public boolean hasMaxBackgroundRequests() { return ((bitField0_ & 0x80000000) != 0); } /** *
       * Maximum number of concurrent background requests one clone process may
       * serve.
       * 
* * optional int32 max_background_requests = 53; * @return The maxBackgroundRequests. */ @java.lang.Override public int getMaxBackgroundRequests() { return maxBackgroundRequests_; } /** *
       * Maximum number of concurrent background requests one clone process may
       * serve.
       * 
* * optional int32 max_background_requests = 53; * @param value The maxBackgroundRequests to set. * @return This builder for chaining. */ public Builder setMaxBackgroundRequests(int value) { maxBackgroundRequests_ = value; bitField0_ |= 0x80000000; onChanged(); return this; } /** *
       * Maximum number of concurrent background requests one clone process may
       * serve.
       * 
* * optional int32 max_background_requests = 53; * @return This builder for chaining. */ public Builder clearMaxBackgroundRequests() { bitField0_ = (bitField0_ & ~0x80000000); maxBackgroundRequests_ = 0; onChanged(); return this; } private long maxConcurrentRequestsTotalSize_ ; /** *
       * Maximum size of all http requests one clone process may serve concurrently.
       * Not enforced strictly. Rather, the clone can accept new requests if under
       * this threshold, but once the clone is over this threshold it cannot accept
       * additional requests.
       * 
* * optional int64 max_concurrent_requests_total_size = 36; * @return Whether the maxConcurrentRequestsTotalSize field is set. */ @java.lang.Override public boolean hasMaxConcurrentRequestsTotalSize() { return ((bitField1_ & 0x00000001) != 0); } /** *
       * Maximum size of all http requests one clone process may serve concurrently.
       * Not enforced strictly. Rather, the clone can accept new requests if under
       * this threshold, but once the clone is over this threshold it cannot accept
       * additional requests.
       * 
* * optional int64 max_concurrent_requests_total_size = 36; * @return The maxConcurrentRequestsTotalSize. */ @java.lang.Override public long getMaxConcurrentRequestsTotalSize() { return maxConcurrentRequestsTotalSize_; } /** *
       * Maximum size of all http requests one clone process may serve concurrently.
       * Not enforced strictly. Rather, the clone can accept new requests if under
       * this threshold, but once the clone is over this threshold it cannot accept
       * additional requests.
       * 
* * optional int64 max_concurrent_requests_total_size = 36; * @param value The maxConcurrentRequestsTotalSize to set. * @return This builder for chaining. */ public Builder setMaxConcurrentRequestsTotalSize(long value) { maxConcurrentRequestsTotalSize_ = value; bitField1_ |= 0x00000001; onChanged(); return this; } /** *
       * Maximum size of all http requests one clone process may serve concurrently.
       * Not enforced strictly. Rather, the clone can accept new requests if under
       * this threshold, but once the clone is over this threshold it cannot accept
       * additional requests.
       * 
* * optional int64 max_concurrent_requests_total_size = 36; * @return This builder for chaining. */ public Builder clearMaxConcurrentRequestsTotalSize() { bitField1_ = (bitField1_ & ~0x00000001); maxConcurrentRequestsTotalSize_ = 0L; onChanged(); return this; } private boolean useDynamicMaxConcurrentRequests_ ; /** *
       * Limit the number of concurrent requests to a clone based on its past CPU
       * usage instead of relying on a static max_concurrent_requests and
       * max_accepting_cpu.
       * 
* * optional bool use_dynamic_max_concurrent_requests = 55; * @return Whether the useDynamicMaxConcurrentRequests field is set. */ @java.lang.Override public boolean hasUseDynamicMaxConcurrentRequests() { return ((bitField1_ & 0x00000002) != 0); } /** *
       * Limit the number of concurrent requests to a clone based on its past CPU
       * usage instead of relying on a static max_concurrent_requests and
       * max_accepting_cpu.
       * 
* * optional bool use_dynamic_max_concurrent_requests = 55; * @return The useDynamicMaxConcurrentRequests. */ @java.lang.Override public boolean getUseDynamicMaxConcurrentRequests() { return useDynamicMaxConcurrentRequests_; } /** *
       * Limit the number of concurrent requests to a clone based on its past CPU
       * usage instead of relying on a static max_concurrent_requests and
       * max_accepting_cpu.
       * 
* * optional bool use_dynamic_max_concurrent_requests = 55; * @param value The useDynamicMaxConcurrentRequests to set. * @return This builder for chaining. */ public Builder setUseDynamicMaxConcurrentRequests(boolean value) { useDynamicMaxConcurrentRequests_ = value; bitField1_ |= 0x00000002; onChanged(); return this; } /** *
       * Limit the number of concurrent requests to a clone based on its past CPU
       * usage instead of relying on a static max_concurrent_requests and
       * max_accepting_cpu.
       * 
* * optional bool use_dynamic_max_concurrent_requests = 55; * @return This builder for chaining. */ public Builder clearUseDynamicMaxConcurrentRequests() { bitField1_ = (bitField1_ & ~0x00000002); useDynamicMaxConcurrentRequests_ = false; onChanged(); return this; } private double dynamicMaxConcurrentRequestsMaxCpuFraction_ ; /** *
       * The maximum fraction of a clone's CPU rate that is in use before the
       * dynamic max concurrent requests is lowered.
       * 
* * optional double dynamic_max_concurrent_requests_max_cpu_fraction = 56; * @return Whether the dynamicMaxConcurrentRequestsMaxCpuFraction field is set. */ @java.lang.Override public boolean hasDynamicMaxConcurrentRequestsMaxCpuFraction() { return ((bitField1_ & 0x00000004) != 0); } /** *
       * The maximum fraction of a clone's CPU rate that is in use before the
       * dynamic max concurrent requests is lowered.
       * 
* * optional double dynamic_max_concurrent_requests_max_cpu_fraction = 56; * @return The dynamicMaxConcurrentRequestsMaxCpuFraction. */ @java.lang.Override public double getDynamicMaxConcurrentRequestsMaxCpuFraction() { return dynamicMaxConcurrentRequestsMaxCpuFraction_; } /** *
       * The maximum fraction of a clone's CPU rate that is in use before the
       * dynamic max concurrent requests is lowered.
       * 
* * optional double dynamic_max_concurrent_requests_max_cpu_fraction = 56; * @param value The dynamicMaxConcurrentRequestsMaxCpuFraction to set. * @return This builder for chaining. */ public Builder setDynamicMaxConcurrentRequestsMaxCpuFraction(double value) { dynamicMaxConcurrentRequestsMaxCpuFraction_ = value; bitField1_ |= 0x00000004; onChanged(); return this; } /** *
       * The maximum fraction of a clone's CPU rate that is in use before the
       * dynamic max concurrent requests is lowered.
       * 
* * optional double dynamic_max_concurrent_requests_max_cpu_fraction = 56; * @return This builder for chaining. */ public Builder clearDynamicMaxConcurrentRequestsMaxCpuFraction() { bitField1_ = (bitField1_ & ~0x00000004); dynamicMaxConcurrentRequestsMaxCpuFraction_ = 0D; onChanged(); return this; } private double dynamicMaxConcurrentRequestsMinCpuFraction_ ; /** *
       * The minimum fraction of a clone's CPU rate that is in use before the
       * dynamic max concurrent requests is raised.
       * 
* * optional double dynamic_max_concurrent_requests_min_cpu_fraction = 57; * @return Whether the dynamicMaxConcurrentRequestsMinCpuFraction field is set. */ @java.lang.Override public boolean hasDynamicMaxConcurrentRequestsMinCpuFraction() { return ((bitField1_ & 0x00000008) != 0); } /** *
       * The minimum fraction of a clone's CPU rate that is in use before the
       * dynamic max concurrent requests is raised.
       * 
* * optional double dynamic_max_concurrent_requests_min_cpu_fraction = 57; * @return The dynamicMaxConcurrentRequestsMinCpuFraction. */ @java.lang.Override public double getDynamicMaxConcurrentRequestsMinCpuFraction() { return dynamicMaxConcurrentRequestsMinCpuFraction_; } /** *
       * The minimum fraction of a clone's CPU rate that is in use before the
       * dynamic max concurrent requests is raised.
       * 
* * optional double dynamic_max_concurrent_requests_min_cpu_fraction = 57; * @param value The dynamicMaxConcurrentRequestsMinCpuFraction to set. * @return This builder for chaining. */ public Builder setDynamicMaxConcurrentRequestsMinCpuFraction(double value) { dynamicMaxConcurrentRequestsMinCpuFraction_ = value; bitField1_ |= 0x00000008; onChanged(); return this; } /** *
       * The minimum fraction of a clone's CPU rate that is in use before the
       * dynamic max concurrent requests is raised.
       * 
* * optional double dynamic_max_concurrent_requests_min_cpu_fraction = 57; * @return This builder for chaining. */ public Builder clearDynamicMaxConcurrentRequestsMinCpuFraction() { bitField1_ = (bitField1_ & ~0x00000008); dynamicMaxConcurrentRequestsMinCpuFraction_ = 0D; onChanged(); return this; } private long maxPendingRequestsTotalSize_ ; /** *
       * Maximum size of all pending http requests for an app version. Not enforced
       * strictly. Rather, the pending queue can accept new requests if under this
       * threshold, but once the pending queue is over this threshold, additional
       * requests will fail immediately with PENDING_QUEUE_TOO_LARGE.
       * 
* * optional int64 max_pending_requests_total_size = 37; * @return Whether the maxPendingRequestsTotalSize field is set. */ @java.lang.Override public boolean hasMaxPendingRequestsTotalSize() { return ((bitField1_ & 0x00000010) != 0); } /** *
       * Maximum size of all pending http requests for an app version. Not enforced
       * strictly. Rather, the pending queue can accept new requests if under this
       * threshold, but once the pending queue is over this threshold, additional
       * requests will fail immediately with PENDING_QUEUE_TOO_LARGE.
       * 
* * optional int64 max_pending_requests_total_size = 37; * @return The maxPendingRequestsTotalSize. */ @java.lang.Override public long getMaxPendingRequestsTotalSize() { return maxPendingRequestsTotalSize_; } /** *
       * Maximum size of all pending http requests for an app version. Not enforced
       * strictly. Rather, the pending queue can accept new requests if under this
       * threshold, but once the pending queue is over this threshold, additional
       * requests will fail immediately with PENDING_QUEUE_TOO_LARGE.
       * 
* * optional int64 max_pending_requests_total_size = 37; * @param value The maxPendingRequestsTotalSize to set. * @return This builder for chaining. */ public Builder setMaxPendingRequestsTotalSize(long value) { maxPendingRequestsTotalSize_ = value; bitField1_ |= 0x00000010; onChanged(); return this; } /** *
       * Maximum size of all pending http requests for an app version. Not enforced
       * strictly. Rather, the pending queue can accept new requests if under this
       * threshold, but once the pending queue is over this threshold, additional
       * requests will fail immediately with PENDING_QUEUE_TOO_LARGE.
       * 
* * optional int64 max_pending_requests_total_size = 37; * @return This builder for chaining. */ public Builder clearMaxPendingRequestsTotalSize() { bitField1_ = (bitField1_ & ~0x00000010); maxPendingRequestsTotalSize_ = 0L; onChanged(); return this; } private long pushBackMaxPendingRequestsTotalSize_ ; /** *
       * If pending queue for app version is above this value, then push-back
       * against incoming requests if possible.
       * 
* * optional int64 push_back_max_pending_requests_total_size = 38; * @return Whether the pushBackMaxPendingRequestsTotalSize field is set. */ @java.lang.Override public boolean hasPushBackMaxPendingRequestsTotalSize() { return ((bitField1_ & 0x00000020) != 0); } /** *
       * If pending queue for app version is above this value, then push-back
       * against incoming requests if possible.
       * 
* * optional int64 push_back_max_pending_requests_total_size = 38; * @return The pushBackMaxPendingRequestsTotalSize. */ @java.lang.Override public long getPushBackMaxPendingRequestsTotalSize() { return pushBackMaxPendingRequestsTotalSize_; } /** *
       * If pending queue for app version is above this value, then push-back
       * against incoming requests if possible.
       * 
* * optional int64 push_back_max_pending_requests_total_size = 38; * @param value The pushBackMaxPendingRequestsTotalSize to set. * @return This builder for chaining. */ public Builder setPushBackMaxPendingRequestsTotalSize(long value) { pushBackMaxPendingRequestsTotalSize_ = value; bitField1_ |= 0x00000020; onChanged(); return this; } /** *
       * If pending queue for app version is above this value, then push-back
       * against incoming requests if possible.
       * 
* * optional int64 push_back_max_pending_requests_total_size = 38; * @return This builder for chaining. */ public Builder clearPushBackMaxPendingRequestsTotalSize() { bitField1_ = (bitField1_ & ~0x00000020); pushBackMaxPendingRequestsTotalSize_ = 0L; onChanged(); return this; } private double maxAcceptingCpu_ ; /** *
       * If positive, then if the clone is running at a cpu rate higher than this
       * (over the last second), we will not send it additional requests, even if it
       * has more space for another request per max_concurrent_requests.
       * 
* * optional double max_accepting_cpu = 25; * @return Whether the maxAcceptingCpu field is set. */ @java.lang.Override public boolean hasMaxAcceptingCpu() { return ((bitField1_ & 0x00000040) != 0); } /** *
       * If positive, then if the clone is running at a cpu rate higher than this
       * (over the last second), we will not send it additional requests, even if it
       * has more space for another request per max_concurrent_requests.
       * 
* * optional double max_accepting_cpu = 25; * @return The maxAcceptingCpu. */ @java.lang.Override public double getMaxAcceptingCpu() { return maxAcceptingCpu_; } /** *
       * If positive, then if the clone is running at a cpu rate higher than this
       * (over the last second), we will not send it additional requests, even if it
       * has more space for another request per max_concurrent_requests.
       * 
* * optional double max_accepting_cpu = 25; * @param value The maxAcceptingCpu to set. * @return This builder for chaining. */ public Builder setMaxAcceptingCpu(double value) { maxAcceptingCpu_ = value; bitField1_ |= 0x00000040; onChanged(); return this; } /** *
       * If positive, then if the clone is running at a cpu rate higher than this
       * (over the last second), we will not send it additional requests, even if it
       * has more space for another request per max_concurrent_requests.
       * 
* * optional double max_accepting_cpu = 25; * @return This builder for chaining. */ public Builder clearMaxAcceptingCpu() { bitField1_ = (bitField1_ & ~0x00000040); maxAcceptingCpu_ = 0D; onChanged(); return this; } private int cloneLbPolicy_ ; /** *
       * How to balance requests across clones for this app version on a given
       * appserver.
       * Type: apphosting::CloneBalancingPolicy::Enum. Can't use that directly
       * because of http://wiki/Main/Proto2WithGenproto, the default value, and
       * apphosting/release/BUILD. Boo!
       * Clone-scheduled apps ignore this field, and use LEAST_ACTIVE by default
       * (eaglepush-controlled).
       * 
* * optional int32 clone_lb_policy = 24 [default = 0]; * @return Whether the cloneLbPolicy field is set. */ @java.lang.Override public boolean hasCloneLbPolicy() { return ((bitField1_ & 0x00000080) != 0); } /** *
       * How to balance requests across clones for this app version on a given
       * appserver.
       * Type: apphosting::CloneBalancingPolicy::Enum. Can't use that directly
       * because of http://wiki/Main/Proto2WithGenproto, the default value, and
       * apphosting/release/BUILD. Boo!
       * Clone-scheduled apps ignore this field, and use LEAST_ACTIVE by default
       * (eaglepush-controlled).
       * 
* * optional int32 clone_lb_policy = 24 [default = 0]; * @return The cloneLbPolicy. */ @java.lang.Override public int getCloneLbPolicy() { return cloneLbPolicy_; } /** *
       * How to balance requests across clones for this app version on a given
       * appserver.
       * Type: apphosting::CloneBalancingPolicy::Enum. Can't use that directly
       * because of http://wiki/Main/Proto2WithGenproto, the default value, and
       * apphosting/release/BUILD. Boo!
       * Clone-scheduled apps ignore this field, and use LEAST_ACTIVE by default
       * (eaglepush-controlled).
       * 
* * optional int32 clone_lb_policy = 24 [default = 0]; * @param value The cloneLbPolicy to set. * @return This builder for chaining. */ public Builder setCloneLbPolicy(int value) { cloneLbPolicy_ = value; bitField1_ |= 0x00000080; onChanged(); return this; } /** *
       * How to balance requests across clones for this app version on a given
       * appserver.
       * Type: apphosting::CloneBalancingPolicy::Enum. Can't use that directly
       * because of http://wiki/Main/Proto2WithGenproto, the default value, and
       * apphosting/release/BUILD. Boo!
       * Clone-scheduled apps ignore this field, and use LEAST_ACTIVE by default
       * (eaglepush-controlled).
       * 
* * optional int32 clone_lb_policy = 24 [default = 0]; * @return This builder for chaining. */ public Builder clearCloneLbPolicy() { bitField1_ = (bitField1_ & ~0x00000080); cloneLbPolicy_ = 0; onChanged(); return this; } private com.google.apphosting.base.protos.CommonPb.ProfilerSettings profilerSettings_; private com.google.protobuf.SingleFieldBuilderV3< com.google.apphosting.base.protos.CommonPb.ProfilerSettings, com.google.apphosting.base.protos.CommonPb.ProfilerSettings.Builder, com.google.apphosting.base.protos.CommonPb.ProfilerSettingsOrBuilder> profilerSettingsBuilder_; /** *
       * The default profiler settings to use if no per-request header is specified.
       * 
* * optional .java.apphosting.ProfilerSettings profiler_settings = 48; * @return Whether the profilerSettings field is set. */ public boolean hasProfilerSettings() { return ((bitField1_ & 0x00000100) != 0); } /** *
       * The default profiler settings to use if no per-request header is specified.
       * 
* * optional .java.apphosting.ProfilerSettings profiler_settings = 48; * @return The profilerSettings. */ public com.google.apphosting.base.protos.CommonPb.ProfilerSettings getProfilerSettings() { if (profilerSettingsBuilder_ == null) { return profilerSettings_ == null ? com.google.apphosting.base.protos.CommonPb.ProfilerSettings.getDefaultInstance() : profilerSettings_; } else { return profilerSettingsBuilder_.getMessage(); } } /** *
       * The default profiler settings to use if no per-request header is specified.
       * 
* * optional .java.apphosting.ProfilerSettings profiler_settings = 48; */ public Builder setProfilerSettings(com.google.apphosting.base.protos.CommonPb.ProfilerSettings value) { if (profilerSettingsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } profilerSettings_ = value; } else { profilerSettingsBuilder_.setMessage(value); } bitField1_ |= 0x00000100; onChanged(); return this; } /** *
       * The default profiler settings to use if no per-request header is specified.
       * 
* * optional .java.apphosting.ProfilerSettings profiler_settings = 48; */ public Builder setProfilerSettings( com.google.apphosting.base.protos.CommonPb.ProfilerSettings.Builder builderForValue) { if (profilerSettingsBuilder_ == null) { profilerSettings_ = builderForValue.build(); } else { profilerSettingsBuilder_.setMessage(builderForValue.build()); } bitField1_ |= 0x00000100; onChanged(); return this; } /** *
       * The default profiler settings to use if no per-request header is specified.
       * 
* * optional .java.apphosting.ProfilerSettings profiler_settings = 48; */ public Builder mergeProfilerSettings(com.google.apphosting.base.protos.CommonPb.ProfilerSettings value) { if (profilerSettingsBuilder_ == null) { if (((bitField1_ & 0x00000100) != 0) && profilerSettings_ != null && profilerSettings_ != com.google.apphosting.base.protos.CommonPb.ProfilerSettings.getDefaultInstance()) { getProfilerSettingsBuilder().mergeFrom(value); } else { profilerSettings_ = value; } } else { profilerSettingsBuilder_.mergeFrom(value); } bitField1_ |= 0x00000100; onChanged(); return this; } /** *
       * The default profiler settings to use if no per-request header is specified.
       * 
* * optional .java.apphosting.ProfilerSettings profiler_settings = 48; */ public Builder clearProfilerSettings() { bitField1_ = (bitField1_ & ~0x00000100); profilerSettings_ = null; if (profilerSettingsBuilder_ != null) { profilerSettingsBuilder_.dispose(); profilerSettingsBuilder_ = null; } onChanged(); return this; } /** *
       * The default profiler settings to use if no per-request header is specified.
       * 
* * optional .java.apphosting.ProfilerSettings profiler_settings = 48; */ public com.google.apphosting.base.protos.CommonPb.ProfilerSettings.Builder getProfilerSettingsBuilder() { bitField1_ |= 0x00000100; onChanged(); return getProfilerSettingsFieldBuilder().getBuilder(); } /** *
       * The default profiler settings to use if no per-request header is specified.
       * 
* * optional .java.apphosting.ProfilerSettings profiler_settings = 48; */ public com.google.apphosting.base.protos.CommonPb.ProfilerSettingsOrBuilder getProfilerSettingsOrBuilder() { if (profilerSettingsBuilder_ != null) { return profilerSettingsBuilder_.getMessageOrBuilder(); } else { return profilerSettings_ == null ? com.google.apphosting.base.protos.CommonPb.ProfilerSettings.getDefaultInstance() : profilerSettings_; } } /** *
       * The default profiler settings to use if no per-request header is specified.
       * 
* * optional .java.apphosting.ProfilerSettings profiler_settings = 48; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.apphosting.base.protos.CommonPb.ProfilerSettings, com.google.apphosting.base.protos.CommonPb.ProfilerSettings.Builder, com.google.apphosting.base.protos.CommonPb.ProfilerSettingsOrBuilder> getProfilerSettingsFieldBuilder() { if (profilerSettingsBuilder_ == null) { profilerSettingsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.apphosting.base.protos.CommonPb.ProfilerSettings, com.google.apphosting.base.protos.CommonPb.ProfilerSettings.Builder, com.google.apphosting.base.protos.CommonPb.ProfilerSettingsOrBuilder>( getProfilerSettings(), getParentForChildren(), isClean()); profilerSettings_ = null; } return profilerSettingsBuilder_; } private double multiQueueWarmLatencyMultiplier_ ; /** *
       * Parameters that tune the ShouldStartLoadingRequest algorithm. Only active
       * if use_multi_queue.
       * ShouldStartLoadingRequest will compare (pending-time + predicted-run-time)
       * against (average-warm-latency * 'multi_queue_warm_latency_multiplier'). If
       * the predicted time is less, then it will wait; if greater, it will issue a
       * loading request.
       * 
* * optional double multi_queue_warm_latency_multiplier = 50; * @return Whether the multiQueueWarmLatencyMultiplier field is set. */ @java.lang.Override public boolean hasMultiQueueWarmLatencyMultiplier() { return ((bitField1_ & 0x00000200) != 0); } /** *
       * Parameters that tune the ShouldStartLoadingRequest algorithm. Only active
       * if use_multi_queue.
       * ShouldStartLoadingRequest will compare (pending-time + predicted-run-time)
       * against (average-warm-latency * 'multi_queue_warm_latency_multiplier'). If
       * the predicted time is less, then it will wait; if greater, it will issue a
       * loading request.
       * 
* * optional double multi_queue_warm_latency_multiplier = 50; * @return The multiQueueWarmLatencyMultiplier. */ @java.lang.Override public double getMultiQueueWarmLatencyMultiplier() { return multiQueueWarmLatencyMultiplier_; } /** *
       * Parameters that tune the ShouldStartLoadingRequest algorithm. Only active
       * if use_multi_queue.
       * ShouldStartLoadingRequest will compare (pending-time + predicted-run-time)
       * against (average-warm-latency * 'multi_queue_warm_latency_multiplier'). If
       * the predicted time is less, then it will wait; if greater, it will issue a
       * loading request.
       * 
* * optional double multi_queue_warm_latency_multiplier = 50; * @param value The multiQueueWarmLatencyMultiplier to set. * @return This builder for chaining. */ public Builder setMultiQueueWarmLatencyMultiplier(double value) { multiQueueWarmLatencyMultiplier_ = value; bitField1_ |= 0x00000200; onChanged(); return this; } /** *
       * Parameters that tune the ShouldStartLoadingRequest algorithm. Only active
       * if use_multi_queue.
       * ShouldStartLoadingRequest will compare (pending-time + predicted-run-time)
       * against (average-warm-latency * 'multi_queue_warm_latency_multiplier'). If
       * the predicted time is less, then it will wait; if greater, it will issue a
       * loading request.
       * 
* * optional double multi_queue_warm_latency_multiplier = 50; * @return This builder for chaining. */ public Builder clearMultiQueueWarmLatencyMultiplier() { bitField1_ = (bitField1_ & ~0x00000200); multiQueueWarmLatencyMultiplier_ = 0D; onChanged(); return this; } private double multiQueueMinPredictedTimeS_ ; /** *
       * Hard floor for ShouldStartLoadingRequest. If (pending-time +
       * predicted-run-time) is below this threshold, it will return false.
       * 
* * optional double multi_queue_min_predicted_time_s = 51; * @return Whether the multiQueueMinPredictedTimeS field is set. */ @java.lang.Override public boolean hasMultiQueueMinPredictedTimeS() { return ((bitField1_ & 0x00000400) != 0); } /** *
       * Hard floor for ShouldStartLoadingRequest. If (pending-time +
       * predicted-run-time) is below this threshold, it will return false.
       * 
* * optional double multi_queue_min_predicted_time_s = 51; * @return The multiQueueMinPredictedTimeS. */ @java.lang.Override public double getMultiQueueMinPredictedTimeS() { return multiQueueMinPredictedTimeS_; } /** *
       * Hard floor for ShouldStartLoadingRequest. If (pending-time +
       * predicted-run-time) is below this threshold, it will return false.
       * 
* * optional double multi_queue_min_predicted_time_s = 51; * @param value The multiQueueMinPredictedTimeS to set. * @return This builder for chaining. */ public Builder setMultiQueueMinPredictedTimeS(double value) { multiQueueMinPredictedTimeS_ = value; bitField1_ |= 0x00000400; onChanged(); return this; } /** *
       * Hard floor for ShouldStartLoadingRequest. If (pending-time +
       * predicted-run-time) is below this threshold, it will return false.
       * 
* * optional double multi_queue_min_predicted_time_s = 51; * @return This builder for chaining. */ public Builder clearMultiQueueMinPredictedTimeS() { bitField1_ = (bitField1_ & ~0x00000400); multiQueueMinPredictedTimeS_ = 0D; onChanged(); return this; } private double multiQueueMaxPredictedTimeS_ ; /** *
       * Hard ceiling for ShouldStartLoadingRequest. If (pending-time +
       * predicted-run-time) is above this threshold, it will return true.
       * 
* * optional double multi_queue_max_predicted_time_s = 52; * @return Whether the multiQueueMaxPredictedTimeS field is set. */ @java.lang.Override public boolean hasMultiQueueMaxPredictedTimeS() { return ((bitField1_ & 0x00000800) != 0); } /** *
       * Hard ceiling for ShouldStartLoadingRequest. If (pending-time +
       * predicted-run-time) is above this threshold, it will return true.
       * 
* * optional double multi_queue_max_predicted_time_s = 52; * @return The multiQueueMaxPredictedTimeS. */ @java.lang.Override public double getMultiQueueMaxPredictedTimeS() { return multiQueueMaxPredictedTimeS_; } /** *
       * Hard ceiling for ShouldStartLoadingRequest. If (pending-time +
       * predicted-run-time) is above this threshold, it will return true.
       * 
* * optional double multi_queue_max_predicted_time_s = 52; * @param value The multiQueueMaxPredictedTimeS to set. * @return This builder for chaining. */ public Builder setMultiQueueMaxPredictedTimeS(double value) { multiQueueMaxPredictedTimeS_ = value; bitField1_ |= 0x00000800; onChanged(); return this; } /** *
       * Hard ceiling for ShouldStartLoadingRequest. If (pending-time +
       * predicted-run-time) is above this threshold, it will return true.
       * 
* * optional double multi_queue_max_predicted_time_s = 52; * @return This builder for chaining. */ public Builder clearMultiQueueMaxPredictedTimeS() { bitField1_ = (bitField1_ & ~0x00000800); multiQueueMaxPredictedTimeS_ = 0D; onChanged(); return this; } private boolean enableSlidingScaleRouting_ ; /** *
       * The sliding-scale-routing algorithm settings.
       * This algorithm is part of the PUSH_BACK system. It is designed primarily
       * for apps scheduled onto many appservers.
       * Traditional pfe->appserver routing is RANDOM. A pfe will pick an
       * appserver, and send it an AppHttpRequest. The appserver will then PUSH_BACK
       * if its cpu is too high or any number of other PUSH_BACK conditions are
       * triggered. The pfe would then send the request to another appserver, for up
       * to a total of --max_appserver_retries retries (in prod this is set to 11).
       * The sliding-scale-algorithm leverages this system together with
       * RequestOracle to do more intelligent load balancing.
       * When enabled, the first 'ready_clone_attempts' AppHttpRequests for a single
       * user request will PUSH_BACK if there is no ready clone available for this
       * app version on this appserver. Note that for clone scheduler managed clones
       * the first sliding_scale_ready_non_discretionary_clone_attempts will only
       * look for ready reserved clones. (ie, those requested by clone scheduler).
       * This is in addition to the rest of the PUSH_BACK conditions.
       * After that, the next 'low_predicted_time_attempts'
       * for a single user request will PUSH_BACK if the predicted pending time for
       * the request exceeds a proportional target. An example helps to illustrate.
       * In this example, this app is on more than 11 appservers,
       * --max_appserver_retries=11, ready_clone_attempts=2,
       * low_predicted_time_attempts=5, and sliding_scale_max_predicted_time_s=1000.
       * This results in the following flow:
       *   Attempt Number  |  AppServer will PUSH_BACK if...
       *  ----------------------------------------------------------
       *               0   |  app version has no ready clones
       *               1   |  app version has no ready clones
       *               2   |  predicted pending time is >200ms
       *               3   |  predicted pending time is >400ms
       *               4   |  predicted pending time is >600ms
       *               5   |  predicted pending time is >800ms
       *               6   |  predicted pending time is >1000ms
       *           7..11   |  normal PUSH_BACK logic, nothing extra
       * The goal of this routing logic is to route around hot appservers, find
       * ready clones. A nice property is that in the steady state, no extra work is
       * involved. It's only when there will be pending delays does the pfe perform
       * extra hops for the request, in proportion to the extent of the pending
       * delay.
       * 
* * optional bool enable_sliding_scale_routing = 58; * @return Whether the enableSlidingScaleRouting field is set. */ @java.lang.Override public boolean hasEnableSlidingScaleRouting() { return ((bitField1_ & 0x00001000) != 0); } /** *
       * The sliding-scale-routing algorithm settings.
       * This algorithm is part of the PUSH_BACK system. It is designed primarily
       * for apps scheduled onto many appservers.
       * Traditional pfe->appserver routing is RANDOM. A pfe will pick an
       * appserver, and send it an AppHttpRequest. The appserver will then PUSH_BACK
       * if its cpu is too high or any number of other PUSH_BACK conditions are
       * triggered. The pfe would then send the request to another appserver, for up
       * to a total of --max_appserver_retries retries (in prod this is set to 11).
       * The sliding-scale-algorithm leverages this system together with
       * RequestOracle to do more intelligent load balancing.
       * When enabled, the first 'ready_clone_attempts' AppHttpRequests for a single
       * user request will PUSH_BACK if there is no ready clone available for this
       * app version on this appserver. Note that for clone scheduler managed clones
       * the first sliding_scale_ready_non_discretionary_clone_attempts will only
       * look for ready reserved clones. (ie, those requested by clone scheduler).
       * This is in addition to the rest of the PUSH_BACK conditions.
       * After that, the next 'low_predicted_time_attempts'
       * for a single user request will PUSH_BACK if the predicted pending time for
       * the request exceeds a proportional target. An example helps to illustrate.
       * In this example, this app is on more than 11 appservers,
       * --max_appserver_retries=11, ready_clone_attempts=2,
       * low_predicted_time_attempts=5, and sliding_scale_max_predicted_time_s=1000.
       * This results in the following flow:
       *   Attempt Number  |  AppServer will PUSH_BACK if...
       *  ----------------------------------------------------------
       *               0   |  app version has no ready clones
       *               1   |  app version has no ready clones
       *               2   |  predicted pending time is >200ms
       *               3   |  predicted pending time is >400ms
       *               4   |  predicted pending time is >600ms
       *               5   |  predicted pending time is >800ms
       *               6   |  predicted pending time is >1000ms
       *           7..11   |  normal PUSH_BACK logic, nothing extra
       * The goal of this routing logic is to route around hot appservers, find
       * ready clones. A nice property is that in the steady state, no extra work is
       * involved. It's only when there will be pending delays does the pfe perform
       * extra hops for the request, in proportion to the extent of the pending
       * delay.
       * 
* * optional bool enable_sliding_scale_routing = 58; * @return The enableSlidingScaleRouting. */ @java.lang.Override public boolean getEnableSlidingScaleRouting() { return enableSlidingScaleRouting_; } /** *
       * The sliding-scale-routing algorithm settings.
       * This algorithm is part of the PUSH_BACK system. It is designed primarily
       * for apps scheduled onto many appservers.
       * Traditional pfe->appserver routing is RANDOM. A pfe will pick an
       * appserver, and send it an AppHttpRequest. The appserver will then PUSH_BACK
       * if its cpu is too high or any number of other PUSH_BACK conditions are
       * triggered. The pfe would then send the request to another appserver, for up
       * to a total of --max_appserver_retries retries (in prod this is set to 11).
       * The sliding-scale-algorithm leverages this system together with
       * RequestOracle to do more intelligent load balancing.
       * When enabled, the first 'ready_clone_attempts' AppHttpRequests for a single
       * user request will PUSH_BACK if there is no ready clone available for this
       * app version on this appserver. Note that for clone scheduler managed clones
       * the first sliding_scale_ready_non_discretionary_clone_attempts will only
       * look for ready reserved clones. (ie, those requested by clone scheduler).
       * This is in addition to the rest of the PUSH_BACK conditions.
       * After that, the next 'low_predicted_time_attempts'
       * for a single user request will PUSH_BACK if the predicted pending time for
       * the request exceeds a proportional target. An example helps to illustrate.
       * In this example, this app is on more than 11 appservers,
       * --max_appserver_retries=11, ready_clone_attempts=2,
       * low_predicted_time_attempts=5, and sliding_scale_max_predicted_time_s=1000.
       * This results in the following flow:
       *   Attempt Number  |  AppServer will PUSH_BACK if...
       *  ----------------------------------------------------------
       *               0   |  app version has no ready clones
       *               1   |  app version has no ready clones
       *               2   |  predicted pending time is >200ms
       *               3   |  predicted pending time is >400ms
       *               4   |  predicted pending time is >600ms
       *               5   |  predicted pending time is >800ms
       *               6   |  predicted pending time is >1000ms
       *           7..11   |  normal PUSH_BACK logic, nothing extra
       * The goal of this routing logic is to route around hot appservers, find
       * ready clones. A nice property is that in the steady state, no extra work is
       * involved. It's only when there will be pending delays does the pfe perform
       * extra hops for the request, in proportion to the extent of the pending
       * delay.
       * 
* * optional bool enable_sliding_scale_routing = 58; * @param value The enableSlidingScaleRouting to set. * @return This builder for chaining. */ public Builder setEnableSlidingScaleRouting(boolean value) { enableSlidingScaleRouting_ = value; bitField1_ |= 0x00001000; onChanged(); return this; } /** *
       * The sliding-scale-routing algorithm settings.
       * This algorithm is part of the PUSH_BACK system. It is designed primarily
       * for apps scheduled onto many appservers.
       * Traditional pfe->appserver routing is RANDOM. A pfe will pick an
       * appserver, and send it an AppHttpRequest. The appserver will then PUSH_BACK
       * if its cpu is too high or any number of other PUSH_BACK conditions are
       * triggered. The pfe would then send the request to another appserver, for up
       * to a total of --max_appserver_retries retries (in prod this is set to 11).
       * The sliding-scale-algorithm leverages this system together with
       * RequestOracle to do more intelligent load balancing.
       * When enabled, the first 'ready_clone_attempts' AppHttpRequests for a single
       * user request will PUSH_BACK if there is no ready clone available for this
       * app version on this appserver. Note that for clone scheduler managed clones
       * the first sliding_scale_ready_non_discretionary_clone_attempts will only
       * look for ready reserved clones. (ie, those requested by clone scheduler).
       * This is in addition to the rest of the PUSH_BACK conditions.
       * After that, the next 'low_predicted_time_attempts'
       * for a single user request will PUSH_BACK if the predicted pending time for
       * the request exceeds a proportional target. An example helps to illustrate.
       * In this example, this app is on more than 11 appservers,
       * --max_appserver_retries=11, ready_clone_attempts=2,
       * low_predicted_time_attempts=5, and sliding_scale_max_predicted_time_s=1000.
       * This results in the following flow:
       *   Attempt Number  |  AppServer will PUSH_BACK if...
       *  ----------------------------------------------------------
       *               0   |  app version has no ready clones
       *               1   |  app version has no ready clones
       *               2   |  predicted pending time is >200ms
       *               3   |  predicted pending time is >400ms
       *               4   |  predicted pending time is >600ms
       *               5   |  predicted pending time is >800ms
       *               6   |  predicted pending time is >1000ms
       *           7..11   |  normal PUSH_BACK logic, nothing extra
       * The goal of this routing logic is to route around hot appservers, find
       * ready clones. A nice property is that in the steady state, no extra work is
       * involved. It's only when there will be pending delays does the pfe perform
       * extra hops for the request, in proportion to the extent of the pending
       * delay.
       * 
* * optional bool enable_sliding_scale_routing = 58; * @return This builder for chaining. */ public Builder clearEnableSlidingScaleRouting() { bitField1_ = (bitField1_ & ~0x00001000); enableSlidingScaleRouting_ = false; onChanged(); return this; } private int slidingScaleReadyCloneAttempts_ ; /** * optional int32 sliding_scale_ready_clone_attempts = 59; * @return Whether the slidingScaleReadyCloneAttempts field is set. */ @java.lang.Override public boolean hasSlidingScaleReadyCloneAttempts() { return ((bitField1_ & 0x00002000) != 0); } /** * optional int32 sliding_scale_ready_clone_attempts = 59; * @return The slidingScaleReadyCloneAttempts. */ @java.lang.Override public int getSlidingScaleReadyCloneAttempts() { return slidingScaleReadyCloneAttempts_; } /** * optional int32 sliding_scale_ready_clone_attempts = 59; * @param value The slidingScaleReadyCloneAttempts to set. * @return This builder for chaining. */ public Builder setSlidingScaleReadyCloneAttempts(int value) { slidingScaleReadyCloneAttempts_ = value; bitField1_ |= 0x00002000; onChanged(); return this; } /** * optional int32 sliding_scale_ready_clone_attempts = 59; * @return This builder for chaining. */ public Builder clearSlidingScaleReadyCloneAttempts() { bitField1_ = (bitField1_ & ~0x00002000); slidingScaleReadyCloneAttempts_ = 0; onChanged(); return this; } private int slidingScaleReadyNonDiscretionaryCloneAttempts_ ; /** * optional int32 sliding_scale_ready_non_discretionary_clone_attempts = 72; * @return Whether the slidingScaleReadyNonDiscretionaryCloneAttempts field is set. */ @java.lang.Override public boolean hasSlidingScaleReadyNonDiscretionaryCloneAttempts() { return ((bitField1_ & 0x00004000) != 0); } /** * optional int32 sliding_scale_ready_non_discretionary_clone_attempts = 72; * @return The slidingScaleReadyNonDiscretionaryCloneAttempts. */ @java.lang.Override public int getSlidingScaleReadyNonDiscretionaryCloneAttempts() { return slidingScaleReadyNonDiscretionaryCloneAttempts_; } /** * optional int32 sliding_scale_ready_non_discretionary_clone_attempts = 72; * @param value The slidingScaleReadyNonDiscretionaryCloneAttempts to set. * @return This builder for chaining. */ public Builder setSlidingScaleReadyNonDiscretionaryCloneAttempts(int value) { slidingScaleReadyNonDiscretionaryCloneAttempts_ = value; bitField1_ |= 0x00004000; onChanged(); return this; } /** * optional int32 sliding_scale_ready_non_discretionary_clone_attempts = 72; * @return This builder for chaining. */ public Builder clearSlidingScaleReadyNonDiscretionaryCloneAttempts() { bitField1_ = (bitField1_ & ~0x00004000); slidingScaleReadyNonDiscretionaryCloneAttempts_ = 0; onChanged(); return this; } private int slidingScaleLowPredictedTimeAttempts_ ; /** * optional int32 sliding_scale_low_predicted_time_attempts = 60; * @return Whether the slidingScaleLowPredictedTimeAttempts field is set. */ @java.lang.Override public boolean hasSlidingScaleLowPredictedTimeAttempts() { return ((bitField1_ & 0x00008000) != 0); } /** * optional int32 sliding_scale_low_predicted_time_attempts = 60; * @return The slidingScaleLowPredictedTimeAttempts. */ @java.lang.Override public int getSlidingScaleLowPredictedTimeAttempts() { return slidingScaleLowPredictedTimeAttempts_; } /** * optional int32 sliding_scale_low_predicted_time_attempts = 60; * @param value The slidingScaleLowPredictedTimeAttempts to set. * @return This builder for chaining. */ public Builder setSlidingScaleLowPredictedTimeAttempts(int value) { slidingScaleLowPredictedTimeAttempts_ = value; bitField1_ |= 0x00008000; onChanged(); return this; } /** * optional int32 sliding_scale_low_predicted_time_attempts = 60; * @return This builder for chaining. */ public Builder clearSlidingScaleLowPredictedTimeAttempts() { bitField1_ = (bitField1_ & ~0x00008000); slidingScaleLowPredictedTimeAttempts_ = 0; onChanged(); return this; } private double slidingScaleMaxPredictedTimeS_ ; /** * optional double sliding_scale_max_predicted_time_s = 61; * @return Whether the slidingScaleMaxPredictedTimeS field is set. */ @java.lang.Override public boolean hasSlidingScaleMaxPredictedTimeS() { return ((bitField1_ & 0x00010000) != 0); } /** * optional double sliding_scale_max_predicted_time_s = 61; * @return The slidingScaleMaxPredictedTimeS. */ @java.lang.Override public double getSlidingScaleMaxPredictedTimeS() { return slidingScaleMaxPredictedTimeS_; } /** * optional double sliding_scale_max_predicted_time_s = 61; * @param value The slidingScaleMaxPredictedTimeS to set. * @return This builder for chaining. */ public Builder setSlidingScaleMaxPredictedTimeS(double value) { slidingScaleMaxPredictedTimeS_ = value; bitField1_ |= 0x00010000; onChanged(); return this; } /** * optional double sliding_scale_max_predicted_time_s = 61; * @return This builder for chaining. */ public Builder clearSlidingScaleMaxPredictedTimeS() { bitField1_ = (bitField1_ & ~0x00010000); slidingScaleMaxPredictedTimeS_ = 0D; onChanged(); return this; } private int slidingScaleMaxActiveClones_ ; /** *
       * If present, only applies during the ready_clone phase. Will trigger
       * sliding-scale PUSH_BACK if the app version is not under this active clone
       * threshold.
       * 
* * optional int32 sliding_scale_max_active_clones = 63; * @return Whether the slidingScaleMaxActiveClones field is set. */ @java.lang.Override public boolean hasSlidingScaleMaxActiveClones() { return ((bitField1_ & 0x00020000) != 0); } /** *
       * If present, only applies during the ready_clone phase. Will trigger
       * sliding-scale PUSH_BACK if the app version is not under this active clone
       * threshold.
       * 
* * optional int32 sliding_scale_max_active_clones = 63; * @return The slidingScaleMaxActiveClones. */ @java.lang.Override public int getSlidingScaleMaxActiveClones() { return slidingScaleMaxActiveClones_; } /** *
       * If present, only applies during the ready_clone phase. Will trigger
       * sliding-scale PUSH_BACK if the app version is not under this active clone
       * threshold.
       * 
* * optional int32 sliding_scale_max_active_clones = 63; * @param value The slidingScaleMaxActiveClones to set. * @return This builder for chaining. */ public Builder setSlidingScaleMaxActiveClones(int value) { slidingScaleMaxActiveClones_ = value; bitField1_ |= 0x00020000; onChanged(); return this; } /** *
       * If present, only applies during the ready_clone phase. Will trigger
       * sliding-scale PUSH_BACK if the app version is not under this active clone
       * threshold.
       * 
* * optional int32 sliding_scale_max_active_clones = 63; * @return This builder for chaining. */ public Builder clearSlidingScaleMaxActiveClones() { bitField1_ = (bitField1_ & ~0x00020000); slidingScaleMaxActiveClones_ = 0; onChanged(); return this; } private boolean enableCloneReducer_ ; /** *
       * The clone-reducer algorithm settings.
       * This runs independent of the existing LRU eviction and excess-idle-clone
       * algorithms, and its purpose is to cull unnecessary clones from the cache.
       * Always ignores reserved clones.
       * 
* * optional bool enable_clone_reducer = 64; * @return Whether the enableCloneReducer field is set. */ @java.lang.Override public boolean hasEnableCloneReducer() { return ((bitField1_ & 0x00040000) != 0); } /** *
       * The clone-reducer algorithm settings.
       * This runs independent of the existing LRU eviction and excess-idle-clone
       * algorithms, and its purpose is to cull unnecessary clones from the cache.
       * Always ignores reserved clones.
       * 
* * optional bool enable_clone_reducer = 64; * @return The enableCloneReducer. */ @java.lang.Override public boolean getEnableCloneReducer() { return enableCloneReducer_; } /** *
       * The clone-reducer algorithm settings.
       * This runs independent of the existing LRU eviction and excess-idle-clone
       * algorithms, and its purpose is to cull unnecessary clones from the cache.
       * Always ignores reserved clones.
       * 
* * optional bool enable_clone_reducer = 64; * @param value The enableCloneReducer to set. * @return This builder for chaining. */ public Builder setEnableCloneReducer(boolean value) { enableCloneReducer_ = value; bitField1_ |= 0x00040000; onChanged(); return this; } /** *
       * The clone-reducer algorithm settings.
       * This runs independent of the existing LRU eviction and excess-idle-clone
       * algorithms, and its purpose is to cull unnecessary clones from the cache.
       * Always ignores reserved clones.
       * 
* * optional bool enable_clone_reducer = 64; * @return This builder for chaining. */ public Builder clearEnableCloneReducer() { bitField1_ = (bitField1_ & ~0x00040000); enableCloneReducer_ = false; onChanged(); return this; } private int cloneReducerMinAgeS_ ; /** *
       * Minimum age of clones to consider for culling.
       * 
* * optional int32 clone_reducer_min_age_s = 65; * @return Whether the cloneReducerMinAgeS field is set. */ @java.lang.Override public boolean hasCloneReducerMinAgeS() { return ((bitField1_ & 0x00080000) != 0); } /** *
       * Minimum age of clones to consider for culling.
       * 
* * optional int32 clone_reducer_min_age_s = 65; * @return The cloneReducerMinAgeS. */ @java.lang.Override public int getCloneReducerMinAgeS() { return cloneReducerMinAgeS_; } /** *
       * Minimum age of clones to consider for culling.
       * 
* * optional int32 clone_reducer_min_age_s = 65; * @param value The cloneReducerMinAgeS to set. * @return This builder for chaining. */ public Builder setCloneReducerMinAgeS(int value) { cloneReducerMinAgeS_ = value; bitField1_ |= 0x00080000; onChanged(); return this; } /** *
       * Minimum age of clones to consider for culling.
       * 
* * optional int32 clone_reducer_min_age_s = 65; * @return This builder for chaining. */ public Builder clearCloneReducerMinAgeS() { bitField1_ = (bitField1_ & ~0x00080000); cloneReducerMinAgeS_ = 0; onChanged(); return this; } private double cloneReducerMinUtilization1M_ ; /** *
       * Minimum desired utilization of clones. This is a ratio threshold, and
       * evaluated against the rate1m of active_time as measured in sec/sec. Clones
       * with utilizations below this will be culled.
       * 
* * optional double clone_reducer_min_utilization_1m = 66; * @return Whether the cloneReducerMinUtilization1m field is set. */ @java.lang.Override public boolean hasCloneReducerMinUtilization1M() { return ((bitField1_ & 0x00100000) != 0); } /** *
       * Minimum desired utilization of clones. This is a ratio threshold, and
       * evaluated against the rate1m of active_time as measured in sec/sec. Clones
       * with utilizations below this will be culled.
       * 
* * optional double clone_reducer_min_utilization_1m = 66; * @return The cloneReducerMinUtilization1m. */ @java.lang.Override public double getCloneReducerMinUtilization1M() { return cloneReducerMinUtilization1M_; } /** *
       * Minimum desired utilization of clones. This is a ratio threshold, and
       * evaluated against the rate1m of active_time as measured in sec/sec. Clones
       * with utilizations below this will be culled.
       * 
* * optional double clone_reducer_min_utilization_1m = 66; * @param value The cloneReducerMinUtilization1m to set. * @return This builder for chaining. */ public Builder setCloneReducerMinUtilization1M(double value) { cloneReducerMinUtilization1M_ = value; bitField1_ |= 0x00100000; onChanged(); return this; } /** *
       * Minimum desired utilization of clones. This is a ratio threshold, and
       * evaluated against the rate1m of active_time as measured in sec/sec. Clones
       * with utilizations below this will be culled.
       * 
* * optional double clone_reducer_min_utilization_1m = 66; * @return This builder for chaining. */ public Builder clearCloneReducerMinUtilization1M() { bitField1_ = (bitField1_ & ~0x00100000); cloneReducerMinUtilization1M_ = 0D; onChanged(); return this; } private int cloneReducerMinClones_ ; /** *
       * Do not cull an app version unless it has more non-reserved clones than
       * this.
       * 
* * optional int32 clone_reducer_min_clones = 67; * @return Whether the cloneReducerMinClones field is set. */ @java.lang.Override public boolean hasCloneReducerMinClones() { return ((bitField1_ & 0x00200000) != 0); } /** *
       * Do not cull an app version unless it has more non-reserved clones than
       * this.
       * 
* * optional int32 clone_reducer_min_clones = 67; * @return The cloneReducerMinClones. */ @java.lang.Override public int getCloneReducerMinClones() { return cloneReducerMinClones_; } /** *
       * Do not cull an app version unless it has more non-reserved clones than
       * this.
       * 
* * optional int32 clone_reducer_min_clones = 67; * @param value The cloneReducerMinClones to set. * @return This builder for chaining. */ public Builder setCloneReducerMinClones(int value) { cloneReducerMinClones_ = value; bitField1_ |= 0x00200000; onChanged(); return this; } /** *
       * Do not cull an app version unless it has more non-reserved clones than
       * this.
       * 
* * optional int32 clone_reducer_min_clones = 67; * @return This builder for chaining. */ public Builder clearCloneReducerMinClones() { bitField1_ = (bitField1_ & ~0x00200000); cloneReducerMinClones_ = 0; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:java.apphosting.SupervisorSettings) } // @@protoc_insertion_point(class_scope:java.apphosting.SupervisorSettings) private static final com.google.apphosting.base.protos.ClonePb.SupervisorSettings DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new com.google.apphosting.base.protos.ClonePb.SupervisorSettings(); } public static com.google.apphosting.base.protos.ClonePb.SupervisorSettings getDefaultInstance() { return DEFAULT_INSTANCE; } @java.lang.Deprecated public static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public SupervisorSettings parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public com.google.apphosting.base.protos.ClonePb.SupervisorSettings getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } private static final com.google.protobuf.Descriptors.Descriptor internal_static_java_apphosting_PerformanceData_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_java_apphosting_PerformanceData_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_java_apphosting_PerformanceData_Entry_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_java_apphosting_PerformanceData_Entry_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_java_apphosting_ApiPackageDeadlines_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_java_apphosting_ApiPackageDeadlines_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_java_apphosting_CloneSettings_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_java_apphosting_CloneSettings_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_java_apphosting_SnapshotSettings_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_java_apphosting_SnapshotSettings_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_java_apphosting_MemoryMultiplier_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_java_apphosting_MemoryMultiplier_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_java_apphosting_SupervisorSettings_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_java_apphosting_SupervisorSettings_fieldAccessorTable; public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { return descriptor; } private static com.google.protobuf.Descriptors.FileDescriptor descriptor; static { java.lang.String[] descriptorData = { "\n\013clone.proto\022\017java.apphosting\032\014common.p" + "roto\"\340\002\n\017PerformanceData\0227\n\007entries\030\001 \003(" + "\0132&.java.apphosting.PerformanceData.Entr" + "y\022D\n\004type\030\002 \001(\0162%.java.apphosting.Perfor" + "manceData.Type:\017PERIODIC_SAMPLE\032Q\n\005Entry" + "\0227\n\006format\030\001 \001(\0162\'.java.apphosting.Perfo" + "rmanceData.Format\022\017\n\007payload\030\002 \001(\014\";\n\004Ty" + "pe\022\013\n\007UNKNOWN\020\000\022\021\n\rAFTER_LOADING\020\001\022\023\n\017PE" + "RIODIC_SAMPLE\020\002\">\n\006Format\022\027\n\023HUMAN_READA" + "BLE_TEXT\020\001\022\033\n\027JAVA_HOTSPOT_HSPERFDATA\020\002\"" + "j\n\023ApiPackageDeadlines\022\023\n\013api_package\030\001 " + "\002(\t\022\032\n\022default_deadline_s\030\002 \001(\001\022\026\n\016max_d" + "eadline_s\030\003 \001(\001J\004\010\004\020\005J\004\010\005\020\006\"\350\002\n\rCloneSet" + "tings\022 \n\030max_outstanding_api_rpcs\030\003 \001(\005\022" + "@\n\022api_call_deadlines\030\004 \003(\0132$.java.appho" + "sting.ApiPackageDeadlines\022H\n\032offline_api" + "_call_deadlines\030\006 \003(\0132$.java.apphosting." + "ApiPackageDeadlines\022\021\n\tclone_key\030\016 \001(\014\022<" + "\n\021snapshot_settings\030\024 \001(\0132!.java.apphost" + "ing.SnapshotSettingsJ\004\010\001\020\002J\004\010\002\020\003J\004\010\005\020\006J\004" + "\010\007\020\010J\004\010\010\020\tJ\004\010\t\020\nJ\004\010\n\020\013J\004\010\013\020\014J\004\010\014\020\rJ\004\010\r\020\016" + "J\004\010\017\020\020J\004\010\020\020\021J\004\010\021\020\022J\004\010\022\020\023J\004\010\023\020\024\"B\n\020Snapsh" + "otSettings\022\037\n\027snapshot_container_name\030\001 " + "\001(\t\022\r\n\005op_id\030\002 \001(\t\":\n\020MemoryMultiplier\022\022" + "\n\nruntime_id\030\001 \001(\t\022\022\n\nmultiplier\030\002 \001(\002\"\217" + "\022\n\022SupervisorSettings\022$\n\034soft_virtual_me" + "mory_limit_mb\030\003 \001(\005\022$\n\034soft_private_memo" + "ry_limit_mb\030\010 \001(\005\022&\n\036medium_private_memo" + "ry_limit_mb\030# \001(\005\022$\n\034hard_private_memory" + "_limit_mb\030\t \001(\005\022I\n\036hard_private_memory_m" + "ultiplier\030J \003(\0132!.java.apphosting.Memory" + "Multiplier\022\037\n\027java_clone_heap_size_mb\030\035 " + "\001(\005\022#\n\033java_clone_perm_gen_size_mb\030> \001(\005" + "\022D\n\014java_vm_type\030\" \001(\0162..java.apphosting" + ".SupervisorSettings.JavaVmType\0221\n)wait_f" + "or_active_clones_min_pending_time_s\030\' \001(" + "\001\0221\n)wait_for_active_clones_max_pending_" + "time_s\030) \001(\001\022%\n\035max_clone_successful_req" + "uests\030\005 \001(\005\022#\n\033max_clone_sequential_erro" + "rs\030\006 \001(\005\022\033\n\023max_active_requests\030\007 \001(\005\022\031\n" + "\021max_active_clones\030\033 \001(\005\022!\n\031throttle_loa" + "ding_requests\030\032 \001(\010\022\034\n\024max_loading_reque" + "sts\030\023 \001(\005\022\032\n\022request_deadline_s\030\013 \001(\001\022\"\n" + "\032offline_request_deadline_s\030\022 \001(\001\022\"\n\032war" + "ming_request_deadline_s\030\024 \001(\001\022\"\n\032loading" + "_request_deadline_s\030 \001(\001\022#\n\033shutdown_re" + "quest_deadline_s\030! \001(\001\022\033\n\023max_pending_de" + "lay_s\030\014 \001(\001\022.\n&loading_max_pending_delay" + "_boost_factor\030I \001(\001\022,\n$max_pending_delay" + "_boost_limit_factor\030F \001(\001\022&\n\036push_back_m" + "ax_pending_requests\030\020 \001(\005\022\024\n\014max_cpu_rat" + "e\030\025 \001(\001\022\030\n\020cpu_rate_padding\030G \001(\001\022\030\n\020sta" + "rtup_cpu_rate\030E \001(\001\022\037\n\027max_concurrent_re" + "quests\030\027 \001(\005\022\022\n\ncpu_shares\030D \001(\005\022\037\n\027min_" + "concurrent_requests\0306 \001(\005\022\037\n\027max_backgro" + "und_requests\0305 \001(\005\022*\n\"max_concurrent_req" + "uests_total_size\030$ \001(\003\022+\n#use_dynamic_ma" + "x_concurrent_requests\0307 \001(\010\0228\n0dynamic_m" + "ax_concurrent_requests_max_cpu_fraction\030" + "8 \001(\001\0228\n0dynamic_max_concurrent_requests" + "_min_cpu_fraction\0309 \001(\001\022\'\n\037max_pending_r" + "equests_total_size\030% \001(\003\0221\n)push_back_ma" + "x_pending_requests_total_size\030& \001(\003\022\031\n\021m" + "ax_accepting_cpu\030\031 \001(\001\022\032\n\017clone_lb_polic" + "y\030\030 \001(\005:\0010\022<\n\021profiler_settings\0300 \001(\0132!." + "java.apphosting.ProfilerSettings\022+\n#mult" + "i_queue_warm_latency_multiplier\0302 \001(\001\022(\n" + " multi_queue_min_predicted_time_s\0303 \001(\001\022" + "(\n multi_queue_max_predicted_time_s\0304 \001(" + "\001\022$\n\034enable_sliding_scale_routing\030: \001(\010\022" + "*\n\"sliding_scale_ready_clone_attempts\030; " + "\001(\005\022<\n4sliding_scale_ready_non_discretio" + "nary_clone_attempts\030H \001(\005\0221\n)sliding_sca" + "le_low_predicted_time_attempts\030< \001(\005\022*\n\"" + "sliding_scale_max_predicted_time_s\030= \001(\001" + "\022\'\n\037sliding_scale_max_active_clones\030? \001(" + "\005\022\034\n\024enable_clone_reducer\030@ \001(\010\022\037\n\027clone" + "_reducer_min_age_s\030A \001(\005\022(\n clone_reduce" + "r_min_utilization_1m\030B \001(\001\022 \n\030clone_redu" + "cer_min_clones\030C \001(\005\"$\n\nJavaVmType\022\n\n\006CL" + "IENT\020\000\022\n\n\006SERVER\020\001J\004\010\001\020\002J\004\010\002\020\003J\004\010\004\020\005J\004\010\n" + "\020\013J\004\010\r\020\016J\004\010\016\020\017J\004\010\017\020\020J\004\010\021\020\022J\004\010\026\020\027J\004\010\036\020\037J\004" + "\010\037\020 J\004\010(\020)J\004\010*\020+J\004\010,\020-J\004\010-\020.J\004\010.\020/J\004\010/\0200" + "B/\n!com.google.apphosting.base.protosB\007C" + "lonePb\370\001\001" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, new com.google.protobuf.Descriptors.FileDescriptor[] { com.google.apphosting.base.protos.CommonPb.getDescriptor(), }); internal_static_java_apphosting_PerformanceData_descriptor = getDescriptor().getMessageTypes().get(0); internal_static_java_apphosting_PerformanceData_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_java_apphosting_PerformanceData_descriptor, new java.lang.String[] { "Entries", "Type", }); internal_static_java_apphosting_PerformanceData_Entry_descriptor = internal_static_java_apphosting_PerformanceData_descriptor.getNestedTypes().get(0); internal_static_java_apphosting_PerformanceData_Entry_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_java_apphosting_PerformanceData_Entry_descriptor, new java.lang.String[] { "Format", "Payload", }); internal_static_java_apphosting_ApiPackageDeadlines_descriptor = getDescriptor().getMessageTypes().get(1); internal_static_java_apphosting_ApiPackageDeadlines_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_java_apphosting_ApiPackageDeadlines_descriptor, new java.lang.String[] { "ApiPackage", "DefaultDeadlineS", "MaxDeadlineS", }); internal_static_java_apphosting_CloneSettings_descriptor = getDescriptor().getMessageTypes().get(2); internal_static_java_apphosting_CloneSettings_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_java_apphosting_CloneSettings_descriptor, new java.lang.String[] { "MaxOutstandingApiRpcs", "ApiCallDeadlines", "OfflineApiCallDeadlines", "CloneKey", "SnapshotSettings", }); internal_static_java_apphosting_SnapshotSettings_descriptor = getDescriptor().getMessageTypes().get(3); internal_static_java_apphosting_SnapshotSettings_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_java_apphosting_SnapshotSettings_descriptor, new java.lang.String[] { "SnapshotContainerName", "OpId", }); internal_static_java_apphosting_MemoryMultiplier_descriptor = getDescriptor().getMessageTypes().get(4); internal_static_java_apphosting_MemoryMultiplier_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_java_apphosting_MemoryMultiplier_descriptor, new java.lang.String[] { "RuntimeId", "Multiplier", }); internal_static_java_apphosting_SupervisorSettings_descriptor = getDescriptor().getMessageTypes().get(5); internal_static_java_apphosting_SupervisorSettings_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_java_apphosting_SupervisorSettings_descriptor, new java.lang.String[] { "SoftVirtualMemoryLimitMb", "SoftPrivateMemoryLimitMb", "MediumPrivateMemoryLimitMb", "HardPrivateMemoryLimitMb", "HardPrivateMemoryMultiplier", "JavaCloneHeapSizeMb", "JavaClonePermGenSizeMb", "JavaVmType", "WaitForActiveClonesMinPendingTimeS", "WaitForActiveClonesMaxPendingTimeS", "MaxCloneSuccessfulRequests", "MaxCloneSequentialErrors", "MaxActiveRequests", "MaxActiveClones", "ThrottleLoadingRequests", "MaxLoadingRequests", "RequestDeadlineS", "OfflineRequestDeadlineS", "WarmingRequestDeadlineS", "LoadingRequestDeadlineS", "ShutdownRequestDeadlineS", "MaxPendingDelayS", "LoadingMaxPendingDelayBoostFactor", "MaxPendingDelayBoostLimitFactor", "PushBackMaxPendingRequests", "MaxCpuRate", "CpuRatePadding", "StartupCpuRate", "MaxConcurrentRequests", "CpuShares", "MinConcurrentRequests", "MaxBackgroundRequests", "MaxConcurrentRequestsTotalSize", "UseDynamicMaxConcurrentRequests", "DynamicMaxConcurrentRequestsMaxCpuFraction", "DynamicMaxConcurrentRequestsMinCpuFraction", "MaxPendingRequestsTotalSize", "PushBackMaxPendingRequestsTotalSize", "MaxAcceptingCpu", "CloneLbPolicy", "ProfilerSettings", "MultiQueueWarmLatencyMultiplier", "MultiQueueMinPredictedTimeS", "MultiQueueMaxPredictedTimeS", "EnableSlidingScaleRouting", "SlidingScaleReadyCloneAttempts", "SlidingScaleReadyNonDiscretionaryCloneAttempts", "SlidingScaleLowPredictedTimeAttempts", "SlidingScaleMaxPredictedTimeS", "SlidingScaleMaxActiveClones", "EnableCloneReducer", "CloneReducerMinAgeS", "CloneReducerMinUtilization1M", "CloneReducerMinClones", }); com.google.apphosting.base.protos.CommonPb.getDescriptor(); } // @@protoc_insertion_point(outer_class_scope) }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy