Home | History | Annotate | Download | only in internal
      1 // Generated by the protocol buffer compiler.  DO NOT EDIT!
      2 // source: grpc/gcp/handshaker.proto
      3 
      4 package io.grpc.alts.internal;
      5 
      6 public final class Handshaker {
      7   private Handshaker() {}
      8   public static void registerAllExtensions(
      9       com.google.protobuf.ExtensionRegistryLite registry) {
     10   }
     11 
     12   public static void registerAllExtensions(
     13       com.google.protobuf.ExtensionRegistry registry) {
     14     registerAllExtensions(
     15         (com.google.protobuf.ExtensionRegistryLite) registry);
     16   }
     17   /**
     18    * Protobuf enum {@code grpc.gcp.HandshakeProtocol}
     19    */
     20   public enum HandshakeProtocol
     21       implements com.google.protobuf.ProtocolMessageEnum {
     22     /**
     23      * <pre>
     24      * Default value.
     25      * </pre>
     26      *
     27      * <code>HANDSHAKE_PROTOCOL_UNSPECIFIED = 0;</code>
     28      */
     29     HANDSHAKE_PROTOCOL_UNSPECIFIED(0),
     30     /**
     31      * <pre>
     32      * TLS handshake protocol.
     33      * </pre>
     34      *
     35      * <code>TLS = 1;</code>
     36      */
     37     TLS(1),
     38     /**
     39      * <pre>
     40      * Application Layer Transport Security handshake protocol.
     41      * </pre>
     42      *
     43      * <code>ALTS = 2;</code>
     44      */
     45     ALTS(2),
     46     UNRECOGNIZED(-1),
     47     ;
     48 
     49     /**
     50      * <pre>
     51      * Default value.
     52      * </pre>
     53      *
     54      * <code>HANDSHAKE_PROTOCOL_UNSPECIFIED = 0;</code>
     55      */
     56     public static final int HANDSHAKE_PROTOCOL_UNSPECIFIED_VALUE = 0;
     57     /**
     58      * <pre>
     59      * TLS handshake protocol.
     60      * </pre>
     61      *
     62      * <code>TLS = 1;</code>
     63      */
     64     public static final int TLS_VALUE = 1;
     65     /**
     66      * <pre>
     67      * Application Layer Transport Security handshake protocol.
     68      * </pre>
     69      *
     70      * <code>ALTS = 2;</code>
     71      */
     72     public static final int ALTS_VALUE = 2;
     73 
     74 
     75     public final int getNumber() {
     76       if (this == UNRECOGNIZED) {
     77         throw new java.lang.IllegalArgumentException(
     78             "Can't get the number of an unknown enum value.");
     79       }
     80       return value;
     81     }
     82 
     83     /**
     84      * @deprecated Use {@link #forNumber(int)} instead.
     85      */
     86     @java.lang.Deprecated
     87     public static HandshakeProtocol valueOf(int value) {
     88       return forNumber(value);
     89     }
     90 
     91     public static HandshakeProtocol forNumber(int value) {
     92       switch (value) {
     93         case 0: return HANDSHAKE_PROTOCOL_UNSPECIFIED;
     94         case 1: return TLS;
     95         case 2: return ALTS;
     96         default: return null;
     97       }
     98     }
     99 
    100     public static com.google.protobuf.Internal.EnumLiteMap<HandshakeProtocol>
    101         internalGetValueMap() {
    102       return internalValueMap;
    103     }
    104     private static final com.google.protobuf.Internal.EnumLiteMap<
    105         HandshakeProtocol> internalValueMap =
    106           new com.google.protobuf.Internal.EnumLiteMap<HandshakeProtocol>() {
    107             public HandshakeProtocol findValueByNumber(int number) {
    108               return HandshakeProtocol.forNumber(number);
    109             }
    110           };
    111 
    112     public final com.google.protobuf.Descriptors.EnumValueDescriptor
    113         getValueDescriptor() {
    114       return getDescriptor().getValues().get(ordinal());
    115     }
    116     public final com.google.protobuf.Descriptors.EnumDescriptor
    117         getDescriptorForType() {
    118       return getDescriptor();
    119     }
    120     public static final com.google.protobuf.Descriptors.EnumDescriptor
    121         getDescriptor() {
    122       return io.grpc.alts.internal.Handshaker.getDescriptor().getEnumTypes().get(0);
    123     }
    124 
    125     private static final HandshakeProtocol[] VALUES = values();
    126 
    127     public static HandshakeProtocol valueOf(
    128         com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
    129       if (desc.getType() != getDescriptor()) {
    130         throw new java.lang.IllegalArgumentException(
    131           "EnumValueDescriptor is not for this type.");
    132       }
    133       if (desc.getIndex() == -1) {
    134         return UNRECOGNIZED;
    135       }
    136       return VALUES[desc.getIndex()];
    137     }
    138 
    139     private final int value;
    140 
    141     private HandshakeProtocol(int value) {
    142       this.value = value;
    143     }
    144 
    145     // @@protoc_insertion_point(enum_scope:grpc.gcp.HandshakeProtocol)
    146   }
    147 
    148   /**
    149    * Protobuf enum {@code grpc.gcp.NetworkProtocol}
    150    */
    151   public enum NetworkProtocol
    152       implements com.google.protobuf.ProtocolMessageEnum {
    153     /**
    154      * <code>NETWORK_PROTOCOL_UNSPECIFIED = 0;</code>
    155      */
    156     NETWORK_PROTOCOL_UNSPECIFIED(0),
    157     /**
    158      * <code>TCP = 1;</code>
    159      */
    160     TCP(1),
    161     /**
    162      * <code>UDP = 2;</code>
    163      */
    164     UDP(2),
    165     UNRECOGNIZED(-1),
    166     ;
    167 
    168     /**
    169      * <code>NETWORK_PROTOCOL_UNSPECIFIED = 0;</code>
    170      */
    171     public static final int NETWORK_PROTOCOL_UNSPECIFIED_VALUE = 0;
    172     /**
    173      * <code>TCP = 1;</code>
    174      */
    175     public static final int TCP_VALUE = 1;
    176     /**
    177      * <code>UDP = 2;</code>
    178      */
    179     public static final int UDP_VALUE = 2;
    180 
    181 
    182     public final int getNumber() {
    183       if (this == UNRECOGNIZED) {
    184         throw new java.lang.IllegalArgumentException(
    185             "Can't get the number of an unknown enum value.");
    186       }
    187       return value;
    188     }
    189 
    190     /**
    191      * @deprecated Use {@link #forNumber(int)} instead.
    192      */
    193     @java.lang.Deprecated
    194     public static NetworkProtocol valueOf(int value) {
    195       return forNumber(value);
    196     }
    197 
    198     public static NetworkProtocol forNumber(int value) {
    199       switch (value) {
    200         case 0: return NETWORK_PROTOCOL_UNSPECIFIED;
    201         case 1: return TCP;
    202         case 2: return UDP;
    203         default: return null;
    204       }
    205     }
    206 
    207     public static com.google.protobuf.Internal.EnumLiteMap<NetworkProtocol>
    208         internalGetValueMap() {
    209       return internalValueMap;
    210     }
    211     private static final com.google.protobuf.Internal.EnumLiteMap<
    212         NetworkProtocol> internalValueMap =
    213           new com.google.protobuf.Internal.EnumLiteMap<NetworkProtocol>() {
    214             public NetworkProtocol findValueByNumber(int number) {
    215               return NetworkProtocol.forNumber(number);
    216             }
    217           };
    218 
    219     public final com.google.protobuf.Descriptors.EnumValueDescriptor
    220         getValueDescriptor() {
    221       return getDescriptor().getValues().get(ordinal());
    222     }
    223     public final com.google.protobuf.Descriptors.EnumDescriptor
    224         getDescriptorForType() {
    225       return getDescriptor();
    226     }
    227     public static final com.google.protobuf.Descriptors.EnumDescriptor
    228         getDescriptor() {
    229       return io.grpc.alts.internal.Handshaker.getDescriptor().getEnumTypes().get(1);
    230     }
    231 
    232     private static final NetworkProtocol[] VALUES = values();
    233 
    234     public static NetworkProtocol valueOf(
    235         com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
    236       if (desc.getType() != getDescriptor()) {
    237         throw new java.lang.IllegalArgumentException(
    238           "EnumValueDescriptor is not for this type.");
    239       }
    240       if (desc.getIndex() == -1) {
    241         return UNRECOGNIZED;
    242       }
    243       return VALUES[desc.getIndex()];
    244     }
    245 
    246     private final int value;
    247 
    248     private NetworkProtocol(int value) {
    249       this.value = value;
    250     }
    251 
    252     // @@protoc_insertion_point(enum_scope:grpc.gcp.NetworkProtocol)
    253   }
    254 
    255   public interface EndpointOrBuilder extends
    256       // @@protoc_insertion_point(interface_extends:grpc.gcp.Endpoint)
    257       com.google.protobuf.MessageOrBuilder {
    258 
    259     /**
    260      * <pre>
    261      * IP address. It should contain an IPv4 or IPv6 string literal, e.g.
    262      * "192.168.0.1" or "2001:db8::1".
    263      * </pre>
    264      *
    265      * <code>string ip_address = 1;</code>
    266      */
    267     java.lang.String getIpAddress();
    268     /**
    269      * <pre>
    270      * IP address. It should contain an IPv4 or IPv6 string literal, e.g.
    271      * "192.168.0.1" or "2001:db8::1".
    272      * </pre>
    273      *
    274      * <code>string ip_address = 1;</code>
    275      */
    276     com.google.protobuf.ByteString
    277         getIpAddressBytes();
    278 
    279     /**
    280      * <pre>
    281      * Port number.
    282      * </pre>
    283      *
    284      * <code>int32 port = 2;</code>
    285      */
    286     int getPort();
    287 
    288     /**
    289      * <pre>
    290      * Network protocol (e.g., TCP, UDP) associated with this endpoint.
    291      * </pre>
    292      *
    293      * <code>.grpc.gcp.NetworkProtocol protocol = 3;</code>
    294      */
    295     int getProtocolValue();
    296     /**
    297      * <pre>
    298      * Network protocol (e.g., TCP, UDP) associated with this endpoint.
    299      * </pre>
    300      *
    301      * <code>.grpc.gcp.NetworkProtocol protocol = 3;</code>
    302      */
    303     io.grpc.alts.internal.Handshaker.NetworkProtocol getProtocol();
    304   }
    305   /**
    306    * Protobuf type {@code grpc.gcp.Endpoint}
    307    */
    308   public  static final class Endpoint extends
    309       com.google.protobuf.GeneratedMessageV3 implements
    310       // @@protoc_insertion_point(message_implements:grpc.gcp.Endpoint)
    311       EndpointOrBuilder {
    312   private static final long serialVersionUID = 0L;
    313     // Use Endpoint.newBuilder() to construct.
    314     private Endpoint(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
    315       super(builder);
    316     }
    317     private Endpoint() {
    318       ipAddress_ = "";
    319       port_ = 0;
    320       protocol_ = 0;
    321     }
    322 
    323     @java.lang.Override
    324     public final com.google.protobuf.UnknownFieldSet
    325     getUnknownFields() {
    326       return this.unknownFields;
    327     }
    328     private Endpoint(
    329         com.google.protobuf.CodedInputStream input,
    330         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    331         throws com.google.protobuf.InvalidProtocolBufferException {
    332       this();
    333       if (extensionRegistry == null) {
    334         throw new java.lang.NullPointerException();
    335       }
    336       int mutable_bitField0_ = 0;
    337       com.google.protobuf.UnknownFieldSet.Builder unknownFields =
    338           com.google.protobuf.UnknownFieldSet.newBuilder();
    339       try {
    340         boolean done = false;
    341         while (!done) {
    342           int tag = input.readTag();
    343           switch (tag) {
    344             case 0:
    345               done = true;
    346               break;
    347             default: {
    348               if (!parseUnknownFieldProto3(
    349                   input, unknownFields, extensionRegistry, tag)) {
    350                 done = true;
    351               }
    352               break;
    353             }
    354             case 10: {
    355               java.lang.String s = input.readStringRequireUtf8();
    356 
    357               ipAddress_ = s;
    358               break;
    359             }
    360             case 16: {
    361 
    362               port_ = input.readInt32();
    363               break;
    364             }
    365             case 24: {
    366               int rawValue = input.readEnum();
    367 
    368               protocol_ = rawValue;
    369               break;
    370             }
    371           }
    372         }
    373       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
    374         throw e.setUnfinishedMessage(this);
    375       } catch (java.io.IOException e) {
    376         throw new com.google.protobuf.InvalidProtocolBufferException(
    377             e).setUnfinishedMessage(this);
    378       } finally {
    379         this.unknownFields = unknownFields.build();
    380         makeExtensionsImmutable();
    381       }
    382     }
    383     public static final com.google.protobuf.Descriptors.Descriptor
    384         getDescriptor() {
    385       return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_Endpoint_descriptor;
    386     }
    387 
    388     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
    389         internalGetFieldAccessorTable() {
    390       return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_Endpoint_fieldAccessorTable
    391           .ensureFieldAccessorsInitialized(
    392               io.grpc.alts.internal.Handshaker.Endpoint.class, io.grpc.alts.internal.Handshaker.Endpoint.Builder.class);
    393     }
    394 
    395     public static final int IP_ADDRESS_FIELD_NUMBER = 1;
    396     private volatile java.lang.Object ipAddress_;
    397     /**
    398      * <pre>
    399      * IP address. It should contain an IPv4 or IPv6 string literal, e.g.
    400      * "192.168.0.1" or "2001:db8::1".
    401      * </pre>
    402      *
    403      * <code>string ip_address = 1;</code>
    404      */
    405     public java.lang.String getIpAddress() {
    406       java.lang.Object ref = ipAddress_;
    407       if (ref instanceof java.lang.String) {
    408         return (java.lang.String) ref;
    409       } else {
    410         com.google.protobuf.ByteString bs =
    411             (com.google.protobuf.ByteString) ref;
    412         java.lang.String s = bs.toStringUtf8();
    413         ipAddress_ = s;
    414         return s;
    415       }
    416     }
    417     /**
    418      * <pre>
    419      * IP address. It should contain an IPv4 or IPv6 string literal, e.g.
    420      * "192.168.0.1" or "2001:db8::1".
    421      * </pre>
    422      *
    423      * <code>string ip_address = 1;</code>
    424      */
    425     public com.google.protobuf.ByteString
    426         getIpAddressBytes() {
    427       java.lang.Object ref = ipAddress_;
    428       if (ref instanceof java.lang.String) {
    429         com.google.protobuf.ByteString b =
    430             com.google.protobuf.ByteString.copyFromUtf8(
    431                 (java.lang.String) ref);
    432         ipAddress_ = b;
    433         return b;
    434       } else {
    435         return (com.google.protobuf.ByteString) ref;
    436       }
    437     }
    438 
    439     public static final int PORT_FIELD_NUMBER = 2;
    440     private int port_;
    441     /**
    442      * <pre>
    443      * Port number.
    444      * </pre>
    445      *
    446      * <code>int32 port = 2;</code>
    447      */
    448     public int getPort() {
    449       return port_;
    450     }
    451 
    452     public static final int PROTOCOL_FIELD_NUMBER = 3;
    453     private int protocol_;
    454     /**
    455      * <pre>
    456      * Network protocol (e.g., TCP, UDP) associated with this endpoint.
    457      * </pre>
    458      *
    459      * <code>.grpc.gcp.NetworkProtocol protocol = 3;</code>
    460      */
    461     public int getProtocolValue() {
    462       return protocol_;
    463     }
    464     /**
    465      * <pre>
    466      * Network protocol (e.g., TCP, UDP) associated with this endpoint.
    467      * </pre>
    468      *
    469      * <code>.grpc.gcp.NetworkProtocol protocol = 3;</code>
    470      */
    471     public io.grpc.alts.internal.Handshaker.NetworkProtocol getProtocol() {
    472       io.grpc.alts.internal.Handshaker.NetworkProtocol result = io.grpc.alts.internal.Handshaker.NetworkProtocol.valueOf(protocol_);
    473       return result == null ? io.grpc.alts.internal.Handshaker.NetworkProtocol.UNRECOGNIZED : result;
    474     }
    475 
    476     private byte memoizedIsInitialized = -1;
    477     public final boolean isInitialized() {
    478       byte isInitialized = memoizedIsInitialized;
    479       if (isInitialized == 1) return true;
    480       if (isInitialized == 0) return false;
    481 
    482       memoizedIsInitialized = 1;
    483       return true;
    484     }
    485 
    486     public void writeTo(com.google.protobuf.CodedOutputStream output)
    487                         throws java.io.IOException {
    488       if (!getIpAddressBytes().isEmpty()) {
    489         com.google.protobuf.GeneratedMessageV3.writeString(output, 1, ipAddress_);
    490       }
    491       if (port_ != 0) {
    492         output.writeInt32(2, port_);
    493       }
    494       if (protocol_ != io.grpc.alts.internal.Handshaker.NetworkProtocol.NETWORK_PROTOCOL_UNSPECIFIED.getNumber()) {
    495         output.writeEnum(3, protocol_);
    496       }
    497       unknownFields.writeTo(output);
    498     }
    499 
    500     public int getSerializedSize() {
    501       int size = memoizedSize;
    502       if (size != -1) return size;
    503 
    504       size = 0;
    505       if (!getIpAddressBytes().isEmpty()) {
    506         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, ipAddress_);
    507       }
    508       if (port_ != 0) {
    509         size += com.google.protobuf.CodedOutputStream
    510           .computeInt32Size(2, port_);
    511       }
    512       if (protocol_ != io.grpc.alts.internal.Handshaker.NetworkProtocol.NETWORK_PROTOCOL_UNSPECIFIED.getNumber()) {
    513         size += com.google.protobuf.CodedOutputStream
    514           .computeEnumSize(3, protocol_);
    515       }
    516       size += unknownFields.getSerializedSize();
    517       memoizedSize = size;
    518       return size;
    519     }
    520 
    521     @java.lang.Override
    522     public boolean equals(final java.lang.Object obj) {
    523       if (obj == this) {
    524        return true;
    525       }
    526       if (!(obj instanceof io.grpc.alts.internal.Handshaker.Endpoint)) {
    527         return super.equals(obj);
    528       }
    529       io.grpc.alts.internal.Handshaker.Endpoint other = (io.grpc.alts.internal.Handshaker.Endpoint) obj;
    530 
    531       boolean result = true;
    532       result = result && getIpAddress()
    533           .equals(other.getIpAddress());
    534       result = result && (getPort()
    535           == other.getPort());
    536       result = result && protocol_ == other.protocol_;
    537       result = result && unknownFields.equals(other.unknownFields);
    538       return result;
    539     }
    540 
    541     @java.lang.Override
    542     public int hashCode() {
    543       if (memoizedHashCode != 0) {
    544         return memoizedHashCode;
    545       }
    546       int hash = 41;
    547       hash = (19 * hash) + getDescriptor().hashCode();
    548       hash = (37 * hash) + IP_ADDRESS_FIELD_NUMBER;
    549       hash = (53 * hash) + getIpAddress().hashCode();
    550       hash = (37 * hash) + PORT_FIELD_NUMBER;
    551       hash = (53 * hash) + getPort();
    552       hash = (37 * hash) + PROTOCOL_FIELD_NUMBER;
    553       hash = (53 * hash) + protocol_;
    554       hash = (29 * hash) + unknownFields.hashCode();
    555       memoizedHashCode = hash;
    556       return hash;
    557     }
    558 
    559     public static io.grpc.alts.internal.Handshaker.Endpoint parseFrom(
    560         java.nio.ByteBuffer data)
    561         throws com.google.protobuf.InvalidProtocolBufferException {
    562       return PARSER.parseFrom(data);
    563     }
    564     public static io.grpc.alts.internal.Handshaker.Endpoint parseFrom(
    565         java.nio.ByteBuffer data,
    566         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    567         throws com.google.protobuf.InvalidProtocolBufferException {
    568       return PARSER.parseFrom(data, extensionRegistry);
    569     }
    570     public static io.grpc.alts.internal.Handshaker.Endpoint parseFrom(
    571         com.google.protobuf.ByteString data)
    572         throws com.google.protobuf.InvalidProtocolBufferException {
    573       return PARSER.parseFrom(data);
    574     }
    575     public static io.grpc.alts.internal.Handshaker.Endpoint parseFrom(
    576         com.google.protobuf.ByteString data,
    577         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    578         throws com.google.protobuf.InvalidProtocolBufferException {
    579       return PARSER.parseFrom(data, extensionRegistry);
    580     }
    581     public static io.grpc.alts.internal.Handshaker.Endpoint parseFrom(byte[] data)
    582         throws com.google.protobuf.InvalidProtocolBufferException {
    583       return PARSER.parseFrom(data);
    584     }
    585     public static io.grpc.alts.internal.Handshaker.Endpoint parseFrom(
    586         byte[] data,
    587         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    588         throws com.google.protobuf.InvalidProtocolBufferException {
    589       return PARSER.parseFrom(data, extensionRegistry);
    590     }
    591     public static io.grpc.alts.internal.Handshaker.Endpoint parseFrom(java.io.InputStream input)
    592         throws java.io.IOException {
    593       return com.google.protobuf.GeneratedMessageV3
    594           .parseWithIOException(PARSER, input);
    595     }
    596     public static io.grpc.alts.internal.Handshaker.Endpoint parseFrom(
    597         java.io.InputStream input,
    598         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    599         throws java.io.IOException {
    600       return com.google.protobuf.GeneratedMessageV3
    601           .parseWithIOException(PARSER, input, extensionRegistry);
    602     }
    603     public static io.grpc.alts.internal.Handshaker.Endpoint parseDelimitedFrom(java.io.InputStream input)
    604         throws java.io.IOException {
    605       return com.google.protobuf.GeneratedMessageV3
    606           .parseDelimitedWithIOException(PARSER, input);
    607     }
    608     public static io.grpc.alts.internal.Handshaker.Endpoint parseDelimitedFrom(
    609         java.io.InputStream input,
    610         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    611         throws java.io.IOException {
    612       return com.google.protobuf.GeneratedMessageV3
    613           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    614     }
    615     public static io.grpc.alts.internal.Handshaker.Endpoint parseFrom(
    616         com.google.protobuf.CodedInputStream input)
    617         throws java.io.IOException {
    618       return com.google.protobuf.GeneratedMessageV3
    619           .parseWithIOException(PARSER, input);
    620     }
    621     public static io.grpc.alts.internal.Handshaker.Endpoint parseFrom(
    622         com.google.protobuf.CodedInputStream input,
    623         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    624         throws java.io.IOException {
    625       return com.google.protobuf.GeneratedMessageV3
    626           .parseWithIOException(PARSER, input, extensionRegistry);
    627     }
    628 
    629     public Builder newBuilderForType() { return newBuilder(); }
    630     public static Builder newBuilder() {
    631       return DEFAULT_INSTANCE.toBuilder();
    632     }
    633     public static Builder newBuilder(io.grpc.alts.internal.Handshaker.Endpoint prototype) {
    634       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    635     }
    636     public Builder toBuilder() {
    637       return this == DEFAULT_INSTANCE
    638           ? new Builder() : new Builder().mergeFrom(this);
    639     }
    640 
    641     @java.lang.Override
    642     protected Builder newBuilderForType(
    643         com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
    644       Builder builder = new Builder(parent);
    645       return builder;
    646     }
    647     /**
    648      * Protobuf type {@code grpc.gcp.Endpoint}
    649      */
    650     public static final class Builder extends
    651         com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
    652         // @@protoc_insertion_point(builder_implements:grpc.gcp.Endpoint)
    653         io.grpc.alts.internal.Handshaker.EndpointOrBuilder {
    654       public static final com.google.protobuf.Descriptors.Descriptor
    655           getDescriptor() {
    656         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_Endpoint_descriptor;
    657       }
    658 
    659       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
    660           internalGetFieldAccessorTable() {
    661         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_Endpoint_fieldAccessorTable
    662             .ensureFieldAccessorsInitialized(
    663                 io.grpc.alts.internal.Handshaker.Endpoint.class, io.grpc.alts.internal.Handshaker.Endpoint.Builder.class);
    664       }
    665 
    666       // Construct using io.grpc.alts.internal.Handshaker.Endpoint.newBuilder()
    667       private Builder() {
    668         maybeForceBuilderInitialization();
    669       }
    670 
    671       private Builder(
    672           com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
    673         super(parent);
    674         maybeForceBuilderInitialization();
    675       }
    676       private void maybeForceBuilderInitialization() {
    677         if (com.google.protobuf.GeneratedMessageV3
    678                 .alwaysUseFieldBuilders) {
    679         }
    680       }
    681       public Builder clear() {
    682         super.clear();
    683         ipAddress_ = "";
    684 
    685         port_ = 0;
    686 
    687         protocol_ = 0;
    688 
    689         return this;
    690       }
    691 
    692       public com.google.protobuf.Descriptors.Descriptor
    693           getDescriptorForType() {
    694         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_Endpoint_descriptor;
    695       }
    696 
    697       public io.grpc.alts.internal.Handshaker.Endpoint getDefaultInstanceForType() {
    698         return io.grpc.alts.internal.Handshaker.Endpoint.getDefaultInstance();
    699       }
    700 
    701       public io.grpc.alts.internal.Handshaker.Endpoint build() {
    702         io.grpc.alts.internal.Handshaker.Endpoint result = buildPartial();
    703         if (!result.isInitialized()) {
    704           throw newUninitializedMessageException(result);
    705         }
    706         return result;
    707       }
    708 
    709       public io.grpc.alts.internal.Handshaker.Endpoint buildPartial() {
    710         io.grpc.alts.internal.Handshaker.Endpoint result = new io.grpc.alts.internal.Handshaker.Endpoint(this);
    711         result.ipAddress_ = ipAddress_;
    712         result.port_ = port_;
    713         result.protocol_ = protocol_;
    714         onBuilt();
    715         return result;
    716       }
    717 
    718       public Builder clone() {
    719         return (Builder) super.clone();
    720       }
    721       public Builder setField(
    722           com.google.protobuf.Descriptors.FieldDescriptor field,
    723           java.lang.Object value) {
    724         return (Builder) super.setField(field, value);
    725       }
    726       public Builder clearField(
    727           com.google.protobuf.Descriptors.FieldDescriptor field) {
    728         return (Builder) super.clearField(field);
    729       }
    730       public Builder clearOneof(
    731           com.google.protobuf.Descriptors.OneofDescriptor oneof) {
    732         return (Builder) super.clearOneof(oneof);
    733       }
    734       public Builder setRepeatedField(
    735           com.google.protobuf.Descriptors.FieldDescriptor field,
    736           int index, java.lang.Object value) {
    737         return (Builder) super.setRepeatedField(field, index, value);
    738       }
    739       public Builder addRepeatedField(
    740           com.google.protobuf.Descriptors.FieldDescriptor field,
    741           java.lang.Object value) {
    742         return (Builder) super.addRepeatedField(field, value);
    743       }
    744       public Builder mergeFrom(com.google.protobuf.Message other) {
    745         if (other instanceof io.grpc.alts.internal.Handshaker.Endpoint) {
    746           return mergeFrom((io.grpc.alts.internal.Handshaker.Endpoint)other);
    747         } else {
    748           super.mergeFrom(other);
    749           return this;
    750         }
    751       }
    752 
    753       public Builder mergeFrom(io.grpc.alts.internal.Handshaker.Endpoint other) {
    754         if (other == io.grpc.alts.internal.Handshaker.Endpoint.getDefaultInstance()) return this;
    755         if (!other.getIpAddress().isEmpty()) {
    756           ipAddress_ = other.ipAddress_;
    757           onChanged();
    758         }
    759         if (other.getPort() != 0) {
    760           setPort(other.getPort());
    761         }
    762         if (other.protocol_ != 0) {
    763           setProtocolValue(other.getProtocolValue());
    764         }
    765         this.mergeUnknownFields(other.unknownFields);
    766         onChanged();
    767         return this;
    768       }
    769 
    770       public final boolean isInitialized() {
    771         return true;
    772       }
    773 
    774       public Builder mergeFrom(
    775           com.google.protobuf.CodedInputStream input,
    776           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    777           throws java.io.IOException {
    778         io.grpc.alts.internal.Handshaker.Endpoint parsedMessage = null;
    779         try {
    780           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
    781         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
    782           parsedMessage = (io.grpc.alts.internal.Handshaker.Endpoint) e.getUnfinishedMessage();
    783           throw e.unwrapIOException();
    784         } finally {
    785           if (parsedMessage != null) {
    786             mergeFrom(parsedMessage);
    787           }
    788         }
    789         return this;
    790       }
    791 
    792       private java.lang.Object ipAddress_ = "";
    793       /**
    794        * <pre>
    795        * IP address. It should contain an IPv4 or IPv6 string literal, e.g.
    796        * "192.168.0.1" or "2001:db8::1".
    797        * </pre>
    798        *
    799        * <code>string ip_address = 1;</code>
    800        */
    801       public java.lang.String getIpAddress() {
    802         java.lang.Object ref = ipAddress_;
    803         if (!(ref instanceof java.lang.String)) {
    804           com.google.protobuf.ByteString bs =
    805               (com.google.protobuf.ByteString) ref;
    806           java.lang.String s = bs.toStringUtf8();
    807           ipAddress_ = s;
    808           return s;
    809         } else {
    810           return (java.lang.String) ref;
    811         }
    812       }
    813       /**
    814        * <pre>
    815        * IP address. It should contain an IPv4 or IPv6 string literal, e.g.
    816        * "192.168.0.1" or "2001:db8::1".
    817        * </pre>
    818        *
    819        * <code>string ip_address = 1;</code>
    820        */
    821       public com.google.protobuf.ByteString
    822           getIpAddressBytes() {
    823         java.lang.Object ref = ipAddress_;
    824         if (ref instanceof String) {
    825           com.google.protobuf.ByteString b =
    826               com.google.protobuf.ByteString.copyFromUtf8(
    827                   (java.lang.String) ref);
    828           ipAddress_ = b;
    829           return b;
    830         } else {
    831           return (com.google.protobuf.ByteString) ref;
    832         }
    833       }
    834       /**
    835        * <pre>
    836        * IP address. It should contain an IPv4 or IPv6 string literal, e.g.
    837        * "192.168.0.1" or "2001:db8::1".
    838        * </pre>
    839        *
    840        * <code>string ip_address = 1;</code>
    841        */
    842       public Builder setIpAddress(
    843           java.lang.String value) {
    844         if (value == null) {
    845     throw new NullPointerException();
    846   }
    847 
    848         ipAddress_ = value;
    849         onChanged();
    850         return this;
    851       }
    852       /**
    853        * <pre>
    854        * IP address. It should contain an IPv4 or IPv6 string literal, e.g.
    855        * "192.168.0.1" or "2001:db8::1".
    856        * </pre>
    857        *
    858        * <code>string ip_address = 1;</code>
    859        */
    860       public Builder clearIpAddress() {
    861 
    862         ipAddress_ = getDefaultInstance().getIpAddress();
    863         onChanged();
    864         return this;
    865       }
    866       /**
    867        * <pre>
    868        * IP address. It should contain an IPv4 or IPv6 string literal, e.g.
    869        * "192.168.0.1" or "2001:db8::1".
    870        * </pre>
    871        *
    872        * <code>string ip_address = 1;</code>
    873        */
    874       public Builder setIpAddressBytes(
    875           com.google.protobuf.ByteString value) {
    876         if (value == null) {
    877     throw new NullPointerException();
    878   }
    879   checkByteStringIsUtf8(value);
    880 
    881         ipAddress_ = value;
    882         onChanged();
    883         return this;
    884       }
    885 
    886       private int port_ ;
    887       /**
    888        * <pre>
    889        * Port number.
    890        * </pre>
    891        *
    892        * <code>int32 port = 2;</code>
    893        */
    894       public int getPort() {
    895         return port_;
    896       }
    897       /**
    898        * <pre>
    899        * Port number.
    900        * </pre>
    901        *
    902        * <code>int32 port = 2;</code>
    903        */
    904       public Builder setPort(int value) {
    905 
    906         port_ = value;
    907         onChanged();
    908         return this;
    909       }
    910       /**
    911        * <pre>
    912        * Port number.
    913        * </pre>
    914        *
    915        * <code>int32 port = 2;</code>
    916        */
    917       public Builder clearPort() {
    918 
    919         port_ = 0;
    920         onChanged();
    921         return this;
    922       }
    923 
    924       private int protocol_ = 0;
    925       /**
    926        * <pre>
    927        * Network protocol (e.g., TCP, UDP) associated with this endpoint.
    928        * </pre>
    929        *
    930        * <code>.grpc.gcp.NetworkProtocol protocol = 3;</code>
    931        */
    932       public int getProtocolValue() {
    933         return protocol_;
    934       }
    935       /**
    936        * <pre>
    937        * Network protocol (e.g., TCP, UDP) associated with this endpoint.
    938        * </pre>
    939        *
    940        * <code>.grpc.gcp.NetworkProtocol protocol = 3;</code>
    941        */
    942       public Builder setProtocolValue(int value) {
    943         protocol_ = value;
    944         onChanged();
    945         return this;
    946       }
    947       /**
    948        * <pre>
    949        * Network protocol (e.g., TCP, UDP) associated with this endpoint.
    950        * </pre>
    951        *
    952        * <code>.grpc.gcp.NetworkProtocol protocol = 3;</code>
    953        */
    954       public io.grpc.alts.internal.Handshaker.NetworkProtocol getProtocol() {
    955         io.grpc.alts.internal.Handshaker.NetworkProtocol result = io.grpc.alts.internal.Handshaker.NetworkProtocol.valueOf(protocol_);
    956         return result == null ? io.grpc.alts.internal.Handshaker.NetworkProtocol.UNRECOGNIZED : result;
    957       }
    958       /**
    959        * <pre>
    960        * Network protocol (e.g., TCP, UDP) associated with this endpoint.
    961        * </pre>
    962        *
    963        * <code>.grpc.gcp.NetworkProtocol protocol = 3;</code>
    964        */
    965       public Builder setProtocol(io.grpc.alts.internal.Handshaker.NetworkProtocol value) {
    966         if (value == null) {
    967           throw new NullPointerException();
    968         }
    969 
    970         protocol_ = value.getNumber();
    971         onChanged();
    972         return this;
    973       }
    974       /**
    975        * <pre>
    976        * Network protocol (e.g., TCP, UDP) associated with this endpoint.
    977        * </pre>
    978        *
    979        * <code>.grpc.gcp.NetworkProtocol protocol = 3;</code>
    980        */
    981       public Builder clearProtocol() {
    982 
    983         protocol_ = 0;
    984         onChanged();
    985         return this;
    986       }
    987       public final Builder setUnknownFields(
    988           final com.google.protobuf.UnknownFieldSet unknownFields) {
    989         return super.setUnknownFieldsProto3(unknownFields);
    990       }
    991 
    992       public final Builder mergeUnknownFields(
    993           final com.google.protobuf.UnknownFieldSet unknownFields) {
    994         return super.mergeUnknownFields(unknownFields);
    995       }
    996 
    997 
    998       // @@protoc_insertion_point(builder_scope:grpc.gcp.Endpoint)
    999     }
   1000 
   1001     // @@protoc_insertion_point(class_scope:grpc.gcp.Endpoint)
   1002     private static final io.grpc.alts.internal.Handshaker.Endpoint DEFAULT_INSTANCE;
   1003     static {
   1004       DEFAULT_INSTANCE = new io.grpc.alts.internal.Handshaker.Endpoint();
   1005     }
   1006 
   1007     public static io.grpc.alts.internal.Handshaker.Endpoint getDefaultInstance() {
   1008       return DEFAULT_INSTANCE;
   1009     }
   1010 
   1011     private static final com.google.protobuf.Parser<Endpoint>
   1012         PARSER = new com.google.protobuf.AbstractParser<Endpoint>() {
   1013       public Endpoint parsePartialFrom(
   1014           com.google.protobuf.CodedInputStream input,
   1015           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   1016           throws com.google.protobuf.InvalidProtocolBufferException {
   1017         return new Endpoint(input, extensionRegistry);
   1018       }
   1019     };
   1020 
   1021     public static com.google.protobuf.Parser<Endpoint> parser() {
   1022       return PARSER;
   1023     }
   1024 
   1025     @java.lang.Override
   1026     public com.google.protobuf.Parser<Endpoint> getParserForType() {
   1027       return PARSER;
   1028     }
   1029 
   1030     public io.grpc.alts.internal.Handshaker.Endpoint getDefaultInstanceForType() {
   1031       return DEFAULT_INSTANCE;
   1032     }
   1033 
   1034   }
   1035 
   1036   public interface IdentityOrBuilder extends
   1037       // @@protoc_insertion_point(interface_extends:grpc.gcp.Identity)
   1038       com.google.protobuf.MessageOrBuilder {
   1039 
   1040     /**
   1041      * <pre>
   1042      * Service account of a connection endpoint.
   1043      * </pre>
   1044      *
   1045      * <code>string service_account = 1;</code>
   1046      */
   1047     java.lang.String getServiceAccount();
   1048     /**
   1049      * <pre>
   1050      * Service account of a connection endpoint.
   1051      * </pre>
   1052      *
   1053      * <code>string service_account = 1;</code>
   1054      */
   1055     com.google.protobuf.ByteString
   1056         getServiceAccountBytes();
   1057 
   1058     /**
   1059      * <pre>
   1060      * Hostname of a connection endpoint.
   1061      * </pre>
   1062      *
   1063      * <code>string hostname = 2;</code>
   1064      */
   1065     java.lang.String getHostname();
   1066     /**
   1067      * <pre>
   1068      * Hostname of a connection endpoint.
   1069      * </pre>
   1070      *
   1071      * <code>string hostname = 2;</code>
   1072      */
   1073     com.google.protobuf.ByteString
   1074         getHostnameBytes();
   1075 
   1076     public io.grpc.alts.internal.Handshaker.Identity.IdentityOneofCase getIdentityOneofCase();
   1077   }
   1078   /**
   1079    * Protobuf type {@code grpc.gcp.Identity}
   1080    */
   1081   public  static final class Identity extends
   1082       com.google.protobuf.GeneratedMessageV3 implements
   1083       // @@protoc_insertion_point(message_implements:grpc.gcp.Identity)
   1084       IdentityOrBuilder {
   1085   private static final long serialVersionUID = 0L;
   1086     // Use Identity.newBuilder() to construct.
   1087     private Identity(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
   1088       super(builder);
   1089     }
   1090     private Identity() {
   1091     }
   1092 
   1093     @java.lang.Override
   1094     public final com.google.protobuf.UnknownFieldSet
   1095     getUnknownFields() {
   1096       return this.unknownFields;
   1097     }
   1098     private Identity(
   1099         com.google.protobuf.CodedInputStream input,
   1100         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   1101         throws com.google.protobuf.InvalidProtocolBufferException {
   1102       this();
   1103       if (extensionRegistry == null) {
   1104         throw new java.lang.NullPointerException();
   1105       }
   1106       int mutable_bitField0_ = 0;
   1107       com.google.protobuf.UnknownFieldSet.Builder unknownFields =
   1108           com.google.protobuf.UnknownFieldSet.newBuilder();
   1109       try {
   1110         boolean done = false;
   1111         while (!done) {
   1112           int tag = input.readTag();
   1113           switch (tag) {
   1114             case 0:
   1115               done = true;
   1116               break;
   1117             default: {
   1118               if (!parseUnknownFieldProto3(
   1119                   input, unknownFields, extensionRegistry, tag)) {
   1120                 done = true;
   1121               }
   1122               break;
   1123             }
   1124             case 10: {
   1125               java.lang.String s = input.readStringRequireUtf8();
   1126               identityOneofCase_ = 1;
   1127               identityOneof_ = s;
   1128               break;
   1129             }
   1130             case 18: {
   1131               java.lang.String s = input.readStringRequireUtf8();
   1132               identityOneofCase_ = 2;
   1133               identityOneof_ = s;
   1134               break;
   1135             }
   1136           }
   1137         }
   1138       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
   1139         throw e.setUnfinishedMessage(this);
   1140       } catch (java.io.IOException e) {
   1141         throw new com.google.protobuf.InvalidProtocolBufferException(
   1142             e).setUnfinishedMessage(this);
   1143       } finally {
   1144         this.unknownFields = unknownFields.build();
   1145         makeExtensionsImmutable();
   1146       }
   1147     }
   1148     public static final com.google.protobuf.Descriptors.Descriptor
   1149         getDescriptor() {
   1150       return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_Identity_descriptor;
   1151     }
   1152 
   1153     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
   1154         internalGetFieldAccessorTable() {
   1155       return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_Identity_fieldAccessorTable
   1156           .ensureFieldAccessorsInitialized(
   1157               io.grpc.alts.internal.Handshaker.Identity.class, io.grpc.alts.internal.Handshaker.Identity.Builder.class);
   1158     }
   1159 
   1160     private int identityOneofCase_ = 0;
   1161     private java.lang.Object identityOneof_;
   1162     public enum IdentityOneofCase
   1163         implements com.google.protobuf.Internal.EnumLite {
   1164       SERVICE_ACCOUNT(1),
   1165       HOSTNAME(2),
   1166       IDENTITYONEOF_NOT_SET(0);
   1167       private final int value;
   1168       private IdentityOneofCase(int value) {
   1169         this.value = value;
   1170       }
   1171       /**
   1172        * @deprecated Use {@link #forNumber(int)} instead.
   1173        */
   1174       @java.lang.Deprecated
   1175       public static IdentityOneofCase valueOf(int value) {
   1176         return forNumber(value);
   1177       }
   1178 
   1179       public static IdentityOneofCase forNumber(int value) {
   1180         switch (value) {
   1181           case 1: return SERVICE_ACCOUNT;
   1182           case 2: return HOSTNAME;
   1183           case 0: return IDENTITYONEOF_NOT_SET;
   1184           default: return null;
   1185         }
   1186       }
   1187       public int getNumber() {
   1188         return this.value;
   1189       }
   1190     };
   1191 
   1192     public IdentityOneofCase
   1193     getIdentityOneofCase() {
   1194       return IdentityOneofCase.forNumber(
   1195           identityOneofCase_);
   1196     }
   1197 
   1198     public static final int SERVICE_ACCOUNT_FIELD_NUMBER = 1;
   1199     /**
   1200      * <pre>
   1201      * Service account of a connection endpoint.
   1202      * </pre>
   1203      *
   1204      * <code>string service_account = 1;</code>
   1205      */
   1206     public java.lang.String getServiceAccount() {
   1207       java.lang.Object ref = "";
   1208       if (identityOneofCase_ == 1) {
   1209         ref = identityOneof_;
   1210       }
   1211       if (ref instanceof java.lang.String) {
   1212         return (java.lang.String) ref;
   1213       } else {
   1214         com.google.protobuf.ByteString bs =
   1215             (com.google.protobuf.ByteString) ref;
   1216         java.lang.String s = bs.toStringUtf8();
   1217         if (identityOneofCase_ == 1) {
   1218           identityOneof_ = s;
   1219         }
   1220         return s;
   1221       }
   1222     }
   1223     /**
   1224      * <pre>
   1225      * Service account of a connection endpoint.
   1226      * </pre>
   1227      *
   1228      * <code>string service_account = 1;</code>
   1229      */
   1230     public com.google.protobuf.ByteString
   1231         getServiceAccountBytes() {
   1232       java.lang.Object ref = "";
   1233       if (identityOneofCase_ == 1) {
   1234         ref = identityOneof_;
   1235       }
   1236       if (ref instanceof java.lang.String) {
   1237         com.google.protobuf.ByteString b =
   1238             com.google.protobuf.ByteString.copyFromUtf8(
   1239                 (java.lang.String) ref);
   1240         if (identityOneofCase_ == 1) {
   1241           identityOneof_ = b;
   1242         }
   1243         return b;
   1244       } else {
   1245         return (com.google.protobuf.ByteString) ref;
   1246       }
   1247     }
   1248 
   1249     public static final int HOSTNAME_FIELD_NUMBER = 2;
   1250     /**
   1251      * <pre>
   1252      * Hostname of a connection endpoint.
   1253      * </pre>
   1254      *
   1255      * <code>string hostname = 2;</code>
   1256      */
   1257     public java.lang.String getHostname() {
   1258       java.lang.Object ref = "";
   1259       if (identityOneofCase_ == 2) {
   1260         ref = identityOneof_;
   1261       }
   1262       if (ref instanceof java.lang.String) {
   1263         return (java.lang.String) ref;
   1264       } else {
   1265         com.google.protobuf.ByteString bs =
   1266             (com.google.protobuf.ByteString) ref;
   1267         java.lang.String s = bs.toStringUtf8();
   1268         if (identityOneofCase_ == 2) {
   1269           identityOneof_ = s;
   1270         }
   1271         return s;
   1272       }
   1273     }
   1274     /**
   1275      * <pre>
   1276      * Hostname of a connection endpoint.
   1277      * </pre>
   1278      *
   1279      * <code>string hostname = 2;</code>
   1280      */
   1281     public com.google.protobuf.ByteString
   1282         getHostnameBytes() {
   1283       java.lang.Object ref = "";
   1284       if (identityOneofCase_ == 2) {
   1285         ref = identityOneof_;
   1286       }
   1287       if (ref instanceof java.lang.String) {
   1288         com.google.protobuf.ByteString b =
   1289             com.google.protobuf.ByteString.copyFromUtf8(
   1290                 (java.lang.String) ref);
   1291         if (identityOneofCase_ == 2) {
   1292           identityOneof_ = b;
   1293         }
   1294         return b;
   1295       } else {
   1296         return (com.google.protobuf.ByteString) ref;
   1297       }
   1298     }
   1299 
   1300     private byte memoizedIsInitialized = -1;
   1301     public final boolean isInitialized() {
   1302       byte isInitialized = memoizedIsInitialized;
   1303       if (isInitialized == 1) return true;
   1304       if (isInitialized == 0) return false;
   1305 
   1306       memoizedIsInitialized = 1;
   1307       return true;
   1308     }
   1309 
   1310     public void writeTo(com.google.protobuf.CodedOutputStream output)
   1311                         throws java.io.IOException {
   1312       if (identityOneofCase_ == 1) {
   1313         com.google.protobuf.GeneratedMessageV3.writeString(output, 1, identityOneof_);
   1314       }
   1315       if (identityOneofCase_ == 2) {
   1316         com.google.protobuf.GeneratedMessageV3.writeString(output, 2, identityOneof_);
   1317       }
   1318       unknownFields.writeTo(output);
   1319     }
   1320 
   1321     public int getSerializedSize() {
   1322       int size = memoizedSize;
   1323       if (size != -1) return size;
   1324 
   1325       size = 0;
   1326       if (identityOneofCase_ == 1) {
   1327         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, identityOneof_);
   1328       }
   1329       if (identityOneofCase_ == 2) {
   1330         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, identityOneof_);
   1331       }
   1332       size += unknownFields.getSerializedSize();
   1333       memoizedSize = size;
   1334       return size;
   1335     }
   1336 
   1337     @java.lang.Override
   1338     public boolean equals(final java.lang.Object obj) {
   1339       if (obj == this) {
   1340        return true;
   1341       }
   1342       if (!(obj instanceof io.grpc.alts.internal.Handshaker.Identity)) {
   1343         return super.equals(obj);
   1344       }
   1345       io.grpc.alts.internal.Handshaker.Identity other = (io.grpc.alts.internal.Handshaker.Identity) obj;
   1346 
   1347       boolean result = true;
   1348       result = result && getIdentityOneofCase().equals(
   1349           other.getIdentityOneofCase());
   1350       if (!result) return false;
   1351       switch (identityOneofCase_) {
   1352         case 1:
   1353           result = result && getServiceAccount()
   1354               .equals(other.getServiceAccount());
   1355           break;
   1356         case 2:
   1357           result = result && getHostname()
   1358               .equals(other.getHostname());
   1359           break;
   1360         case 0:
   1361         default:
   1362       }
   1363       result = result && unknownFields.equals(other.unknownFields);
   1364       return result;
   1365     }
   1366 
   1367     @java.lang.Override
   1368     public int hashCode() {
   1369       if (memoizedHashCode != 0) {
   1370         return memoizedHashCode;
   1371       }
   1372       int hash = 41;
   1373       hash = (19 * hash) + getDescriptor().hashCode();
   1374       switch (identityOneofCase_) {
   1375         case 1:
   1376           hash = (37 * hash) + SERVICE_ACCOUNT_FIELD_NUMBER;
   1377           hash = (53 * hash) + getServiceAccount().hashCode();
   1378           break;
   1379         case 2:
   1380           hash = (37 * hash) + HOSTNAME_FIELD_NUMBER;
   1381           hash = (53 * hash) + getHostname().hashCode();
   1382           break;
   1383         case 0:
   1384         default:
   1385       }
   1386       hash = (29 * hash) + unknownFields.hashCode();
   1387       memoizedHashCode = hash;
   1388       return hash;
   1389     }
   1390 
   1391     public static io.grpc.alts.internal.Handshaker.Identity parseFrom(
   1392         java.nio.ByteBuffer data)
   1393         throws com.google.protobuf.InvalidProtocolBufferException {
   1394       return PARSER.parseFrom(data);
   1395     }
   1396     public static io.grpc.alts.internal.Handshaker.Identity parseFrom(
   1397         java.nio.ByteBuffer data,
   1398         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   1399         throws com.google.protobuf.InvalidProtocolBufferException {
   1400       return PARSER.parseFrom(data, extensionRegistry);
   1401     }
   1402     public static io.grpc.alts.internal.Handshaker.Identity parseFrom(
   1403         com.google.protobuf.ByteString data)
   1404         throws com.google.protobuf.InvalidProtocolBufferException {
   1405       return PARSER.parseFrom(data);
   1406     }
   1407     public static io.grpc.alts.internal.Handshaker.Identity parseFrom(
   1408         com.google.protobuf.ByteString data,
   1409         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   1410         throws com.google.protobuf.InvalidProtocolBufferException {
   1411       return PARSER.parseFrom(data, extensionRegistry);
   1412     }
   1413     public static io.grpc.alts.internal.Handshaker.Identity parseFrom(byte[] data)
   1414         throws com.google.protobuf.InvalidProtocolBufferException {
   1415       return PARSER.parseFrom(data);
   1416     }
   1417     public static io.grpc.alts.internal.Handshaker.Identity parseFrom(
   1418         byte[] data,
   1419         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   1420         throws com.google.protobuf.InvalidProtocolBufferException {
   1421       return PARSER.parseFrom(data, extensionRegistry);
   1422     }
   1423     public static io.grpc.alts.internal.Handshaker.Identity parseFrom(java.io.InputStream input)
   1424         throws java.io.IOException {
   1425       return com.google.protobuf.GeneratedMessageV3
   1426           .parseWithIOException(PARSER, input);
   1427     }
   1428     public static io.grpc.alts.internal.Handshaker.Identity parseFrom(
   1429         java.io.InputStream input,
   1430         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   1431         throws java.io.IOException {
   1432       return com.google.protobuf.GeneratedMessageV3
   1433           .parseWithIOException(PARSER, input, extensionRegistry);
   1434     }
   1435     public static io.grpc.alts.internal.Handshaker.Identity parseDelimitedFrom(java.io.InputStream input)
   1436         throws java.io.IOException {
   1437       return com.google.protobuf.GeneratedMessageV3
   1438           .parseDelimitedWithIOException(PARSER, input);
   1439     }
   1440     public static io.grpc.alts.internal.Handshaker.Identity parseDelimitedFrom(
   1441         java.io.InputStream input,
   1442         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   1443         throws java.io.IOException {
   1444       return com.google.protobuf.GeneratedMessageV3
   1445           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
   1446     }
   1447     public static io.grpc.alts.internal.Handshaker.Identity parseFrom(
   1448         com.google.protobuf.CodedInputStream input)
   1449         throws java.io.IOException {
   1450       return com.google.protobuf.GeneratedMessageV3
   1451           .parseWithIOException(PARSER, input);
   1452     }
   1453     public static io.grpc.alts.internal.Handshaker.Identity parseFrom(
   1454         com.google.protobuf.CodedInputStream input,
   1455         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   1456         throws java.io.IOException {
   1457       return com.google.protobuf.GeneratedMessageV3
   1458           .parseWithIOException(PARSER, input, extensionRegistry);
   1459     }
   1460 
   1461     public Builder newBuilderForType() { return newBuilder(); }
   1462     public static Builder newBuilder() {
   1463       return DEFAULT_INSTANCE.toBuilder();
   1464     }
   1465     public static Builder newBuilder(io.grpc.alts.internal.Handshaker.Identity prototype) {
   1466       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
   1467     }
   1468     public Builder toBuilder() {
   1469       return this == DEFAULT_INSTANCE
   1470           ? new Builder() : new Builder().mergeFrom(this);
   1471     }
   1472 
   1473     @java.lang.Override
   1474     protected Builder newBuilderForType(
   1475         com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
   1476       Builder builder = new Builder(parent);
   1477       return builder;
   1478     }
   1479     /**
   1480      * Protobuf type {@code grpc.gcp.Identity}
   1481      */
   1482     public static final class Builder extends
   1483         com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
   1484         // @@protoc_insertion_point(builder_implements:grpc.gcp.Identity)
   1485         io.grpc.alts.internal.Handshaker.IdentityOrBuilder {
   1486       public static final com.google.protobuf.Descriptors.Descriptor
   1487           getDescriptor() {
   1488         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_Identity_descriptor;
   1489       }
   1490 
   1491       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
   1492           internalGetFieldAccessorTable() {
   1493         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_Identity_fieldAccessorTable
   1494             .ensureFieldAccessorsInitialized(
   1495                 io.grpc.alts.internal.Handshaker.Identity.class, io.grpc.alts.internal.Handshaker.Identity.Builder.class);
   1496       }
   1497 
   1498       // Construct using io.grpc.alts.internal.Handshaker.Identity.newBuilder()
   1499       private Builder() {
   1500         maybeForceBuilderInitialization();
   1501       }
   1502 
   1503       private Builder(
   1504           com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
   1505         super(parent);
   1506         maybeForceBuilderInitialization();
   1507       }
   1508       private void maybeForceBuilderInitialization() {
   1509         if (com.google.protobuf.GeneratedMessageV3
   1510                 .alwaysUseFieldBuilders) {
   1511         }
   1512       }
   1513       public Builder clear() {
   1514         super.clear();
   1515         identityOneofCase_ = 0;
   1516         identityOneof_ = null;
   1517         return this;
   1518       }
   1519 
   1520       public com.google.protobuf.Descriptors.Descriptor
   1521           getDescriptorForType() {
   1522         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_Identity_descriptor;
   1523       }
   1524 
   1525       public io.grpc.alts.internal.Handshaker.Identity getDefaultInstanceForType() {
   1526         return io.grpc.alts.internal.Handshaker.Identity.getDefaultInstance();
   1527       }
   1528 
   1529       public io.grpc.alts.internal.Handshaker.Identity build() {
   1530         io.grpc.alts.internal.Handshaker.Identity result = buildPartial();
   1531         if (!result.isInitialized()) {
   1532           throw newUninitializedMessageException(result);
   1533         }
   1534         return result;
   1535       }
   1536 
   1537       public io.grpc.alts.internal.Handshaker.Identity buildPartial() {
   1538         io.grpc.alts.internal.Handshaker.Identity result = new io.grpc.alts.internal.Handshaker.Identity(this);
   1539         if (identityOneofCase_ == 1) {
   1540           result.identityOneof_ = identityOneof_;
   1541         }
   1542         if (identityOneofCase_ == 2) {
   1543           result.identityOneof_ = identityOneof_;
   1544         }
   1545         result.identityOneofCase_ = identityOneofCase_;
   1546         onBuilt();
   1547         return result;
   1548       }
   1549 
   1550       public Builder clone() {
   1551         return (Builder) super.clone();
   1552       }
   1553       public Builder setField(
   1554           com.google.protobuf.Descriptors.FieldDescriptor field,
   1555           java.lang.Object value) {
   1556         return (Builder) super.setField(field, value);
   1557       }
   1558       public Builder clearField(
   1559           com.google.protobuf.Descriptors.FieldDescriptor field) {
   1560         return (Builder) super.clearField(field);
   1561       }
   1562       public Builder clearOneof(
   1563           com.google.protobuf.Descriptors.OneofDescriptor oneof) {
   1564         return (Builder) super.clearOneof(oneof);
   1565       }
   1566       public Builder setRepeatedField(
   1567           com.google.protobuf.Descriptors.FieldDescriptor field,
   1568           int index, java.lang.Object value) {
   1569         return (Builder) super.setRepeatedField(field, index, value);
   1570       }
   1571       public Builder addRepeatedField(
   1572           com.google.protobuf.Descriptors.FieldDescriptor field,
   1573           java.lang.Object value) {
   1574         return (Builder) super.addRepeatedField(field, value);
   1575       }
   1576       public Builder mergeFrom(com.google.protobuf.Message other) {
   1577         if (other instanceof io.grpc.alts.internal.Handshaker.Identity) {
   1578           return mergeFrom((io.grpc.alts.internal.Handshaker.Identity)other);
   1579         } else {
   1580           super.mergeFrom(other);
   1581           return this;
   1582         }
   1583       }
   1584 
   1585       public Builder mergeFrom(io.grpc.alts.internal.Handshaker.Identity other) {
   1586         if (other == io.grpc.alts.internal.Handshaker.Identity.getDefaultInstance()) return this;
   1587         switch (other.getIdentityOneofCase()) {
   1588           case SERVICE_ACCOUNT: {
   1589             identityOneofCase_ = 1;
   1590             identityOneof_ = other.identityOneof_;
   1591             onChanged();
   1592             break;
   1593           }
   1594           case HOSTNAME: {
   1595             identityOneofCase_ = 2;
   1596             identityOneof_ = other.identityOneof_;
   1597             onChanged();
   1598             break;
   1599           }
   1600           case IDENTITYONEOF_NOT_SET: {
   1601             break;
   1602           }
   1603         }
   1604         this.mergeUnknownFields(other.unknownFields);
   1605         onChanged();
   1606         return this;
   1607       }
   1608 
   1609       public final boolean isInitialized() {
   1610         return true;
   1611       }
   1612 
   1613       public Builder mergeFrom(
   1614           com.google.protobuf.CodedInputStream input,
   1615           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   1616           throws java.io.IOException {
   1617         io.grpc.alts.internal.Handshaker.Identity parsedMessage = null;
   1618         try {
   1619           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
   1620         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
   1621           parsedMessage = (io.grpc.alts.internal.Handshaker.Identity) e.getUnfinishedMessage();
   1622           throw e.unwrapIOException();
   1623         } finally {
   1624           if (parsedMessage != null) {
   1625             mergeFrom(parsedMessage);
   1626           }
   1627         }
   1628         return this;
   1629       }
   1630       private int identityOneofCase_ = 0;
   1631       private java.lang.Object identityOneof_;
   1632       public IdentityOneofCase
   1633           getIdentityOneofCase() {
   1634         return IdentityOneofCase.forNumber(
   1635             identityOneofCase_);
   1636       }
   1637 
   1638       public Builder clearIdentityOneof() {
   1639         identityOneofCase_ = 0;
   1640         identityOneof_ = null;
   1641         onChanged();
   1642         return this;
   1643       }
   1644 
   1645 
   1646       /**
   1647        * <pre>
   1648        * Service account of a connection endpoint.
   1649        * </pre>
   1650        *
   1651        * <code>string service_account = 1;</code>
   1652        */
   1653       public java.lang.String getServiceAccount() {
   1654         java.lang.Object ref = "";
   1655         if (identityOneofCase_ == 1) {
   1656           ref = identityOneof_;
   1657         }
   1658         if (!(ref instanceof java.lang.String)) {
   1659           com.google.protobuf.ByteString bs =
   1660               (com.google.protobuf.ByteString) ref;
   1661           java.lang.String s = bs.toStringUtf8();
   1662           if (identityOneofCase_ == 1) {
   1663             identityOneof_ = s;
   1664           }
   1665           return s;
   1666         } else {
   1667           return (java.lang.String) ref;
   1668         }
   1669       }
   1670       /**
   1671        * <pre>
   1672        * Service account of a connection endpoint.
   1673        * </pre>
   1674        *
   1675        * <code>string service_account = 1;</code>
   1676        */
   1677       public com.google.protobuf.ByteString
   1678           getServiceAccountBytes() {
   1679         java.lang.Object ref = "";
   1680         if (identityOneofCase_ == 1) {
   1681           ref = identityOneof_;
   1682         }
   1683         if (ref instanceof String) {
   1684           com.google.protobuf.ByteString b =
   1685               com.google.protobuf.ByteString.copyFromUtf8(
   1686                   (java.lang.String) ref);
   1687           if (identityOneofCase_ == 1) {
   1688             identityOneof_ = b;
   1689           }
   1690           return b;
   1691         } else {
   1692           return (com.google.protobuf.ByteString) ref;
   1693         }
   1694       }
   1695       /**
   1696        * <pre>
   1697        * Service account of a connection endpoint.
   1698        * </pre>
   1699        *
   1700        * <code>string service_account = 1;</code>
   1701        */
   1702       public Builder setServiceAccount(
   1703           java.lang.String value) {
   1704         if (value == null) {
   1705     throw new NullPointerException();
   1706   }
   1707   identityOneofCase_ = 1;
   1708         identityOneof_ = value;
   1709         onChanged();
   1710         return this;
   1711       }
   1712       /**
   1713        * <pre>
   1714        * Service account of a connection endpoint.
   1715        * </pre>
   1716        *
   1717        * <code>string service_account = 1;</code>
   1718        */
   1719       public Builder clearServiceAccount() {
   1720         if (identityOneofCase_ == 1) {
   1721           identityOneofCase_ = 0;
   1722           identityOneof_ = null;
   1723           onChanged();
   1724         }
   1725         return this;
   1726       }
   1727       /**
   1728        * <pre>
   1729        * Service account of a connection endpoint.
   1730        * </pre>
   1731        *
   1732        * <code>string service_account = 1;</code>
   1733        */
   1734       public Builder setServiceAccountBytes(
   1735           com.google.protobuf.ByteString value) {
   1736         if (value == null) {
   1737     throw new NullPointerException();
   1738   }
   1739   checkByteStringIsUtf8(value);
   1740         identityOneofCase_ = 1;
   1741         identityOneof_ = value;
   1742         onChanged();
   1743         return this;
   1744       }
   1745 
   1746       /**
   1747        * <pre>
   1748        * Hostname of a connection endpoint.
   1749        * </pre>
   1750        *
   1751        * <code>string hostname = 2;</code>
   1752        */
   1753       public java.lang.String getHostname() {
   1754         java.lang.Object ref = "";
   1755         if (identityOneofCase_ == 2) {
   1756           ref = identityOneof_;
   1757         }
   1758         if (!(ref instanceof java.lang.String)) {
   1759           com.google.protobuf.ByteString bs =
   1760               (com.google.protobuf.ByteString) ref;
   1761           java.lang.String s = bs.toStringUtf8();
   1762           if (identityOneofCase_ == 2) {
   1763             identityOneof_ = s;
   1764           }
   1765           return s;
   1766         } else {
   1767           return (java.lang.String) ref;
   1768         }
   1769       }
   1770       /**
   1771        * <pre>
   1772        * Hostname of a connection endpoint.
   1773        * </pre>
   1774        *
   1775        * <code>string hostname = 2;</code>
   1776        */
   1777       public com.google.protobuf.ByteString
   1778           getHostnameBytes() {
   1779         java.lang.Object ref = "";
   1780         if (identityOneofCase_ == 2) {
   1781           ref = identityOneof_;
   1782         }
   1783         if (ref instanceof String) {
   1784           com.google.protobuf.ByteString b =
   1785               com.google.protobuf.ByteString.copyFromUtf8(
   1786                   (java.lang.String) ref);
   1787           if (identityOneofCase_ == 2) {
   1788             identityOneof_ = b;
   1789           }
   1790           return b;
   1791         } else {
   1792           return (com.google.protobuf.ByteString) ref;
   1793         }
   1794       }
   1795       /**
   1796        * <pre>
   1797        * Hostname of a connection endpoint.
   1798        * </pre>
   1799        *
   1800        * <code>string hostname = 2;</code>
   1801        */
   1802       public Builder setHostname(
   1803           java.lang.String value) {
   1804         if (value == null) {
   1805     throw new NullPointerException();
   1806   }
   1807   identityOneofCase_ = 2;
   1808         identityOneof_ = value;
   1809         onChanged();
   1810         return this;
   1811       }
   1812       /**
   1813        * <pre>
   1814        * Hostname of a connection endpoint.
   1815        * </pre>
   1816        *
   1817        * <code>string hostname = 2;</code>
   1818        */
   1819       public Builder clearHostname() {
   1820         if (identityOneofCase_ == 2) {
   1821           identityOneofCase_ = 0;
   1822           identityOneof_ = null;
   1823           onChanged();
   1824         }
   1825         return this;
   1826       }
   1827       /**
   1828        * <pre>
   1829        * Hostname of a connection endpoint.
   1830        * </pre>
   1831        *
   1832        * <code>string hostname = 2;</code>
   1833        */
   1834       public Builder setHostnameBytes(
   1835           com.google.protobuf.ByteString value) {
   1836         if (value == null) {
   1837     throw new NullPointerException();
   1838   }
   1839   checkByteStringIsUtf8(value);
   1840         identityOneofCase_ = 2;
   1841         identityOneof_ = value;
   1842         onChanged();
   1843         return this;
   1844       }
   1845       public final Builder setUnknownFields(
   1846           final com.google.protobuf.UnknownFieldSet unknownFields) {
   1847         return super.setUnknownFieldsProto3(unknownFields);
   1848       }
   1849 
   1850       public final Builder mergeUnknownFields(
   1851           final com.google.protobuf.UnknownFieldSet unknownFields) {
   1852         return super.mergeUnknownFields(unknownFields);
   1853       }
   1854 
   1855 
   1856       // @@protoc_insertion_point(builder_scope:grpc.gcp.Identity)
   1857     }
   1858 
   1859     // @@protoc_insertion_point(class_scope:grpc.gcp.Identity)
   1860     private static final io.grpc.alts.internal.Handshaker.Identity DEFAULT_INSTANCE;
   1861     static {
   1862       DEFAULT_INSTANCE = new io.grpc.alts.internal.Handshaker.Identity();
   1863     }
   1864 
   1865     public static io.grpc.alts.internal.Handshaker.Identity getDefaultInstance() {
   1866       return DEFAULT_INSTANCE;
   1867     }
   1868 
   1869     private static final com.google.protobuf.Parser<Identity>
   1870         PARSER = new com.google.protobuf.AbstractParser<Identity>() {
   1871       public Identity parsePartialFrom(
   1872           com.google.protobuf.CodedInputStream input,
   1873           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   1874           throws com.google.protobuf.InvalidProtocolBufferException {
   1875         return new Identity(input, extensionRegistry);
   1876       }
   1877     };
   1878 
   1879     public static com.google.protobuf.Parser<Identity> parser() {
   1880       return PARSER;
   1881     }
   1882 
   1883     @java.lang.Override
   1884     public com.google.protobuf.Parser<Identity> getParserForType() {
   1885       return PARSER;
   1886     }
   1887 
   1888     public io.grpc.alts.internal.Handshaker.Identity getDefaultInstanceForType() {
   1889       return DEFAULT_INSTANCE;
   1890     }
   1891 
   1892   }
   1893 
   1894   public interface StartClientHandshakeReqOrBuilder extends
   1895       // @@protoc_insertion_point(interface_extends:grpc.gcp.StartClientHandshakeReq)
   1896       com.google.protobuf.MessageOrBuilder {
   1897 
   1898     /**
   1899      * <pre>
   1900      * Handshake security protocol requested by the client.
   1901      * </pre>
   1902      *
   1903      * <code>.grpc.gcp.HandshakeProtocol handshake_security_protocol = 1;</code>
   1904      */
   1905     int getHandshakeSecurityProtocolValue();
   1906     /**
   1907      * <pre>
   1908      * Handshake security protocol requested by the client.
   1909      * </pre>
   1910      *
   1911      * <code>.grpc.gcp.HandshakeProtocol handshake_security_protocol = 1;</code>
   1912      */
   1913     io.grpc.alts.internal.Handshaker.HandshakeProtocol getHandshakeSecurityProtocol();
   1914 
   1915     /**
   1916      * <pre>
   1917      * The application protocols supported by the client, e.g., "h2" (for http2),
   1918      * "grpc".
   1919      * </pre>
   1920      *
   1921      * <code>repeated string application_protocols = 2;</code>
   1922      */
   1923     java.util.List<java.lang.String>
   1924         getApplicationProtocolsList();
   1925     /**
   1926      * <pre>
   1927      * The application protocols supported by the client, e.g., "h2" (for http2),
   1928      * "grpc".
   1929      * </pre>
   1930      *
   1931      * <code>repeated string application_protocols = 2;</code>
   1932      */
   1933     int getApplicationProtocolsCount();
   1934     /**
   1935      * <pre>
   1936      * The application protocols supported by the client, e.g., "h2" (for http2),
   1937      * "grpc".
   1938      * </pre>
   1939      *
   1940      * <code>repeated string application_protocols = 2;</code>
   1941      */
   1942     java.lang.String getApplicationProtocols(int index);
   1943     /**
   1944      * <pre>
   1945      * The application protocols supported by the client, e.g., "h2" (for http2),
   1946      * "grpc".
   1947      * </pre>
   1948      *
   1949      * <code>repeated string application_protocols = 2;</code>
   1950      */
   1951     com.google.protobuf.ByteString
   1952         getApplicationProtocolsBytes(int index);
   1953 
   1954     /**
   1955      * <pre>
   1956      * The record protocols supported by the client, e.g.,
   1957      * "ALTSRP_GCM_AES128".
   1958      * </pre>
   1959      *
   1960      * <code>repeated string record_protocols = 3;</code>
   1961      */
   1962     java.util.List<java.lang.String>
   1963         getRecordProtocolsList();
   1964     /**
   1965      * <pre>
   1966      * The record protocols supported by the client, e.g.,
   1967      * "ALTSRP_GCM_AES128".
   1968      * </pre>
   1969      *
   1970      * <code>repeated string record_protocols = 3;</code>
   1971      */
   1972     int getRecordProtocolsCount();
   1973     /**
   1974      * <pre>
   1975      * The record protocols supported by the client, e.g.,
   1976      * "ALTSRP_GCM_AES128".
   1977      * </pre>
   1978      *
   1979      * <code>repeated string record_protocols = 3;</code>
   1980      */
   1981     java.lang.String getRecordProtocols(int index);
   1982     /**
   1983      * <pre>
   1984      * The record protocols supported by the client, e.g.,
   1985      * "ALTSRP_GCM_AES128".
   1986      * </pre>
   1987      *
   1988      * <code>repeated string record_protocols = 3;</code>
   1989      */
   1990     com.google.protobuf.ByteString
   1991         getRecordProtocolsBytes(int index);
   1992 
   1993     /**
   1994      * <pre>
   1995      * (Optional) Describes which server identities are acceptable by the client.
   1996      * If target identities are provided and none of them matches the peer
   1997      * identity of the server, handshake will fail.
   1998      * </pre>
   1999      *
   2000      * <code>repeated .grpc.gcp.Identity target_identities = 4;</code>
   2001      */
   2002     java.util.List<io.grpc.alts.internal.Handshaker.Identity>
   2003         getTargetIdentitiesList();
   2004     /**
   2005      * <pre>
   2006      * (Optional) Describes which server identities are acceptable by the client.
   2007      * If target identities are provided and none of them matches the peer
   2008      * identity of the server, handshake will fail.
   2009      * </pre>
   2010      *
   2011      * <code>repeated .grpc.gcp.Identity target_identities = 4;</code>
   2012      */
   2013     io.grpc.alts.internal.Handshaker.Identity getTargetIdentities(int index);
   2014     /**
   2015      * <pre>
   2016      * (Optional) Describes which server identities are acceptable by the client.
   2017      * If target identities are provided and none of them matches the peer
   2018      * identity of the server, handshake will fail.
   2019      * </pre>
   2020      *
   2021      * <code>repeated .grpc.gcp.Identity target_identities = 4;</code>
   2022      */
   2023     int getTargetIdentitiesCount();
   2024     /**
   2025      * <pre>
   2026      * (Optional) Describes which server identities are acceptable by the client.
   2027      * If target identities are provided and none of them matches the peer
   2028      * identity of the server, handshake will fail.
   2029      * </pre>
   2030      *
   2031      * <code>repeated .grpc.gcp.Identity target_identities = 4;</code>
   2032      */
   2033     java.util.List<? extends io.grpc.alts.internal.Handshaker.IdentityOrBuilder>
   2034         getTargetIdentitiesOrBuilderList();
   2035     /**
   2036      * <pre>
   2037      * (Optional) Describes which server identities are acceptable by the client.
   2038      * If target identities are provided and none of them matches the peer
   2039      * identity of the server, handshake will fail.
   2040      * </pre>
   2041      *
   2042      * <code>repeated .grpc.gcp.Identity target_identities = 4;</code>
   2043      */
   2044     io.grpc.alts.internal.Handshaker.IdentityOrBuilder getTargetIdentitiesOrBuilder(
   2045         int index);
   2046 
   2047     /**
   2048      * <pre>
   2049      * (Optional) Application may specify a local identity. Otherwise, the
   2050      * handshaker chooses a default local identity.
   2051      * </pre>
   2052      *
   2053      * <code>.grpc.gcp.Identity local_identity = 5;</code>
   2054      */
   2055     boolean hasLocalIdentity();
   2056     /**
   2057      * <pre>
   2058      * (Optional) Application may specify a local identity. Otherwise, the
   2059      * handshaker chooses a default local identity.
   2060      * </pre>
   2061      *
   2062      * <code>.grpc.gcp.Identity local_identity = 5;</code>
   2063      */
   2064     io.grpc.alts.internal.Handshaker.Identity getLocalIdentity();
   2065     /**
   2066      * <pre>
   2067      * (Optional) Application may specify a local identity. Otherwise, the
   2068      * handshaker chooses a default local identity.
   2069      * </pre>
   2070      *
   2071      * <code>.grpc.gcp.Identity local_identity = 5;</code>
   2072      */
   2073     io.grpc.alts.internal.Handshaker.IdentityOrBuilder getLocalIdentityOrBuilder();
   2074 
   2075     /**
   2076      * <pre>
   2077      * (Optional) Local endpoint information of the connection to the server,
   2078      * such as local IP address, port number, and network protocol.
   2079      * </pre>
   2080      *
   2081      * <code>.grpc.gcp.Endpoint local_endpoint = 6;</code>
   2082      */
   2083     boolean hasLocalEndpoint();
   2084     /**
   2085      * <pre>
   2086      * (Optional) Local endpoint information of the connection to the server,
   2087      * such as local IP address, port number, and network protocol.
   2088      * </pre>
   2089      *
   2090      * <code>.grpc.gcp.Endpoint local_endpoint = 6;</code>
   2091      */
   2092     io.grpc.alts.internal.Handshaker.Endpoint getLocalEndpoint();
   2093     /**
   2094      * <pre>
   2095      * (Optional) Local endpoint information of the connection to the server,
   2096      * such as local IP address, port number, and network protocol.
   2097      * </pre>
   2098      *
   2099      * <code>.grpc.gcp.Endpoint local_endpoint = 6;</code>
   2100      */
   2101     io.grpc.alts.internal.Handshaker.EndpointOrBuilder getLocalEndpointOrBuilder();
   2102 
   2103     /**
   2104      * <pre>
   2105      * (Optional) Endpoint information of the remote server, such as IP address,
   2106      * port number, and network protocol.
   2107      * </pre>
   2108      *
   2109      * <code>.grpc.gcp.Endpoint remote_endpoint = 7;</code>
   2110      */
   2111     boolean hasRemoteEndpoint();
   2112     /**
   2113      * <pre>
   2114      * (Optional) Endpoint information of the remote server, such as IP address,
   2115      * port number, and network protocol.
   2116      * </pre>
   2117      *
   2118      * <code>.grpc.gcp.Endpoint remote_endpoint = 7;</code>
   2119      */
   2120     io.grpc.alts.internal.Handshaker.Endpoint getRemoteEndpoint();
   2121     /**
   2122      * <pre>
   2123      * (Optional) Endpoint information of the remote server, such as IP address,
   2124      * port number, and network protocol.
   2125      * </pre>
   2126      *
   2127      * <code>.grpc.gcp.Endpoint remote_endpoint = 7;</code>
   2128      */
   2129     io.grpc.alts.internal.Handshaker.EndpointOrBuilder getRemoteEndpointOrBuilder();
   2130 
   2131     /**
   2132      * <pre>
   2133      * (Optional) If target name is provided, a secure naming check is performed
   2134      * to verify that the peer authenticated identity is indeed authorized to run
   2135      * the target name.
   2136      * </pre>
   2137      *
   2138      * <code>string target_name = 8;</code>
   2139      */
   2140     java.lang.String getTargetName();
   2141     /**
   2142      * <pre>
   2143      * (Optional) If target name is provided, a secure naming check is performed
   2144      * to verify that the peer authenticated identity is indeed authorized to run
   2145      * the target name.
   2146      * </pre>
   2147      *
   2148      * <code>string target_name = 8;</code>
   2149      */
   2150     com.google.protobuf.ByteString
   2151         getTargetNameBytes();
   2152 
   2153     /**
   2154      * <pre>
   2155      * (Optional) RPC protocol versions supported by the client.
   2156      * </pre>
   2157      *
   2158      * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 9;</code>
   2159      */
   2160     boolean hasRpcVersions();
   2161     /**
   2162      * <pre>
   2163      * (Optional) RPC protocol versions supported by the client.
   2164      * </pre>
   2165      *
   2166      * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 9;</code>
   2167      */
   2168     io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions getRpcVersions();
   2169     /**
   2170      * <pre>
   2171      * (Optional) RPC protocol versions supported by the client.
   2172      * </pre>
   2173      *
   2174      * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 9;</code>
   2175      */
   2176     io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersionsOrBuilder getRpcVersionsOrBuilder();
   2177   }
   2178   /**
   2179    * Protobuf type {@code grpc.gcp.StartClientHandshakeReq}
   2180    */
   2181   public  static final class StartClientHandshakeReq extends
   2182       com.google.protobuf.GeneratedMessageV3 implements
   2183       // @@protoc_insertion_point(message_implements:grpc.gcp.StartClientHandshakeReq)
   2184       StartClientHandshakeReqOrBuilder {
   2185   private static final long serialVersionUID = 0L;
   2186     // Use StartClientHandshakeReq.newBuilder() to construct.
   2187     private StartClientHandshakeReq(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
   2188       super(builder);
   2189     }
   2190     private StartClientHandshakeReq() {
   2191       handshakeSecurityProtocol_ = 0;
   2192       applicationProtocols_ = com.google.protobuf.LazyStringArrayList.EMPTY;
   2193       recordProtocols_ = com.google.protobuf.LazyStringArrayList.EMPTY;
   2194       targetIdentities_ = java.util.Collections.emptyList();
   2195       targetName_ = "";
   2196     }
   2197 
   2198     @java.lang.Override
   2199     public final com.google.protobuf.UnknownFieldSet
   2200     getUnknownFields() {
   2201       return this.unknownFields;
   2202     }
   2203     private StartClientHandshakeReq(
   2204         com.google.protobuf.CodedInputStream input,
   2205         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   2206         throws com.google.protobuf.InvalidProtocolBufferException {
   2207       this();
   2208       if (extensionRegistry == null) {
   2209         throw new java.lang.NullPointerException();
   2210       }
   2211       int mutable_bitField0_ = 0;
   2212       com.google.protobuf.UnknownFieldSet.Builder unknownFields =
   2213           com.google.protobuf.UnknownFieldSet.newBuilder();
   2214       try {
   2215         boolean done = false;
   2216         while (!done) {
   2217           int tag = input.readTag();
   2218           switch (tag) {
   2219             case 0:
   2220               done = true;
   2221               break;
   2222             default: {
   2223               if (!parseUnknownFieldProto3(
   2224                   input, unknownFields, extensionRegistry, tag)) {
   2225                 done = true;
   2226               }
   2227               break;
   2228             }
   2229             case 8: {
   2230               int rawValue = input.readEnum();
   2231 
   2232               handshakeSecurityProtocol_ = rawValue;
   2233               break;
   2234             }
   2235             case 18: {
   2236               java.lang.String s = input.readStringRequireUtf8();
   2237               if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
   2238                 applicationProtocols_ = new com.google.protobuf.LazyStringArrayList();
   2239                 mutable_bitField0_ |= 0x00000002;
   2240               }
   2241               applicationProtocols_.add(s);
   2242               break;
   2243             }
   2244             case 26: {
   2245               java.lang.String s = input.readStringRequireUtf8();
   2246               if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
   2247                 recordProtocols_ = new com.google.protobuf.LazyStringArrayList();
   2248                 mutable_bitField0_ |= 0x00000004;
   2249               }
   2250               recordProtocols_.add(s);
   2251               break;
   2252             }
   2253             case 34: {
   2254               if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
   2255                 targetIdentities_ = new java.util.ArrayList<io.grpc.alts.internal.Handshaker.Identity>();
   2256                 mutable_bitField0_ |= 0x00000008;
   2257               }
   2258               targetIdentities_.add(
   2259                   input.readMessage(io.grpc.alts.internal.Handshaker.Identity.parser(), extensionRegistry));
   2260               break;
   2261             }
   2262             case 42: {
   2263               io.grpc.alts.internal.Handshaker.Identity.Builder subBuilder = null;
   2264               if (localIdentity_ != null) {
   2265                 subBuilder = localIdentity_.toBuilder();
   2266               }
   2267               localIdentity_ = input.readMessage(io.grpc.alts.internal.Handshaker.Identity.parser(), extensionRegistry);
   2268               if (subBuilder != null) {
   2269                 subBuilder.mergeFrom(localIdentity_);
   2270                 localIdentity_ = subBuilder.buildPartial();
   2271               }
   2272 
   2273               break;
   2274             }
   2275             case 50: {
   2276               io.grpc.alts.internal.Handshaker.Endpoint.Builder subBuilder = null;
   2277               if (localEndpoint_ != null) {
   2278                 subBuilder = localEndpoint_.toBuilder();
   2279               }
   2280               localEndpoint_ = input.readMessage(io.grpc.alts.internal.Handshaker.Endpoint.parser(), extensionRegistry);
   2281               if (subBuilder != null) {
   2282                 subBuilder.mergeFrom(localEndpoint_);
   2283                 localEndpoint_ = subBuilder.buildPartial();
   2284               }
   2285 
   2286               break;
   2287             }
   2288             case 58: {
   2289               io.grpc.alts.internal.Handshaker.Endpoint.Builder subBuilder = null;
   2290               if (remoteEndpoint_ != null) {
   2291                 subBuilder = remoteEndpoint_.toBuilder();
   2292               }
   2293               remoteEndpoint_ = input.readMessage(io.grpc.alts.internal.Handshaker.Endpoint.parser(), extensionRegistry);
   2294               if (subBuilder != null) {
   2295                 subBuilder.mergeFrom(remoteEndpoint_);
   2296                 remoteEndpoint_ = subBuilder.buildPartial();
   2297               }
   2298 
   2299               break;
   2300             }
   2301             case 66: {
   2302               java.lang.String s = input.readStringRequireUtf8();
   2303 
   2304               targetName_ = s;
   2305               break;
   2306             }
   2307             case 74: {
   2308               io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.Builder subBuilder = null;
   2309               if (rpcVersions_ != null) {
   2310                 subBuilder = rpcVersions_.toBuilder();
   2311               }
   2312               rpcVersions_ = input.readMessage(io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.parser(), extensionRegistry);
   2313               if (subBuilder != null) {
   2314                 subBuilder.mergeFrom(rpcVersions_);
   2315                 rpcVersions_ = subBuilder.buildPartial();
   2316               }
   2317 
   2318               break;
   2319             }
   2320           }
   2321         }
   2322       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
   2323         throw e.setUnfinishedMessage(this);
   2324       } catch (java.io.IOException e) {
   2325         throw new com.google.protobuf.InvalidProtocolBufferException(
   2326             e).setUnfinishedMessage(this);
   2327       } finally {
   2328         if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
   2329           applicationProtocols_ = applicationProtocols_.getUnmodifiableView();
   2330         }
   2331         if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
   2332           recordProtocols_ = recordProtocols_.getUnmodifiableView();
   2333         }
   2334         if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
   2335           targetIdentities_ = java.util.Collections.unmodifiableList(targetIdentities_);
   2336         }
   2337         this.unknownFields = unknownFields.build();
   2338         makeExtensionsImmutable();
   2339       }
   2340     }
   2341     public static final com.google.protobuf.Descriptors.Descriptor
   2342         getDescriptor() {
   2343       return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_StartClientHandshakeReq_descriptor;
   2344     }
   2345 
   2346     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
   2347         internalGetFieldAccessorTable() {
   2348       return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_StartClientHandshakeReq_fieldAccessorTable
   2349           .ensureFieldAccessorsInitialized(
   2350               io.grpc.alts.internal.Handshaker.StartClientHandshakeReq.class, io.grpc.alts.internal.Handshaker.StartClientHandshakeReq.Builder.class);
   2351     }
   2352 
   2353     private int bitField0_;
   2354     public static final int HANDSHAKE_SECURITY_PROTOCOL_FIELD_NUMBER = 1;
   2355     private int handshakeSecurityProtocol_;
   2356     /**
   2357      * <pre>
   2358      * Handshake security protocol requested by the client.
   2359      * </pre>
   2360      *
   2361      * <code>.grpc.gcp.HandshakeProtocol handshake_security_protocol = 1;</code>
   2362      */
   2363     public int getHandshakeSecurityProtocolValue() {
   2364       return handshakeSecurityProtocol_;
   2365     }
   2366     /**
   2367      * <pre>
   2368      * Handshake security protocol requested by the client.
   2369      * </pre>
   2370      *
   2371      * <code>.grpc.gcp.HandshakeProtocol handshake_security_protocol = 1;</code>
   2372      */
   2373     public io.grpc.alts.internal.Handshaker.HandshakeProtocol getHandshakeSecurityProtocol() {
   2374       io.grpc.alts.internal.Handshaker.HandshakeProtocol result = io.grpc.alts.internal.Handshaker.HandshakeProtocol.valueOf(handshakeSecurityProtocol_);
   2375       return result == null ? io.grpc.alts.internal.Handshaker.HandshakeProtocol.UNRECOGNIZED : result;
   2376     }
   2377 
   2378     public static final int APPLICATION_PROTOCOLS_FIELD_NUMBER = 2;
   2379     private com.google.protobuf.LazyStringList applicationProtocols_;
   2380     /**
   2381      * <pre>
   2382      * The application protocols supported by the client, e.g., "h2" (for http2),
   2383      * "grpc".
   2384      * </pre>
   2385      *
   2386      * <code>repeated string application_protocols = 2;</code>
   2387      */
   2388     public com.google.protobuf.ProtocolStringList
   2389         getApplicationProtocolsList() {
   2390       return applicationProtocols_;
   2391     }
   2392     /**
   2393      * <pre>
   2394      * The application protocols supported by the client, e.g., "h2" (for http2),
   2395      * "grpc".
   2396      * </pre>
   2397      *
   2398      * <code>repeated string application_protocols = 2;</code>
   2399      */
   2400     public int getApplicationProtocolsCount() {
   2401       return applicationProtocols_.size();
   2402     }
   2403     /**
   2404      * <pre>
   2405      * The application protocols supported by the client, e.g., "h2" (for http2),
   2406      * "grpc".
   2407      * </pre>
   2408      *
   2409      * <code>repeated string application_protocols = 2;</code>
   2410      */
   2411     public java.lang.String getApplicationProtocols(int index) {
   2412       return applicationProtocols_.get(index);
   2413     }
   2414     /**
   2415      * <pre>
   2416      * The application protocols supported by the client, e.g., "h2" (for http2),
   2417      * "grpc".
   2418      * </pre>
   2419      *
   2420      * <code>repeated string application_protocols = 2;</code>
   2421      */
   2422     public com.google.protobuf.ByteString
   2423         getApplicationProtocolsBytes(int index) {
   2424       return applicationProtocols_.getByteString(index);
   2425     }
   2426 
   2427     public static final int RECORD_PROTOCOLS_FIELD_NUMBER = 3;
   2428     private com.google.protobuf.LazyStringList recordProtocols_;
   2429     /**
   2430      * <pre>
   2431      * The record protocols supported by the client, e.g.,
   2432      * "ALTSRP_GCM_AES128".
   2433      * </pre>
   2434      *
   2435      * <code>repeated string record_protocols = 3;</code>
   2436      */
   2437     public com.google.protobuf.ProtocolStringList
   2438         getRecordProtocolsList() {
   2439       return recordProtocols_;
   2440     }
   2441     /**
   2442      * <pre>
   2443      * The record protocols supported by the client, e.g.,
   2444      * "ALTSRP_GCM_AES128".
   2445      * </pre>
   2446      *
   2447      * <code>repeated string record_protocols = 3;</code>
   2448      */
   2449     public int getRecordProtocolsCount() {
   2450       return recordProtocols_.size();
   2451     }
   2452     /**
   2453      * <pre>
   2454      * The record protocols supported by the client, e.g.,
   2455      * "ALTSRP_GCM_AES128".
   2456      * </pre>
   2457      *
   2458      * <code>repeated string record_protocols = 3;</code>
   2459      */
   2460     public java.lang.String getRecordProtocols(int index) {
   2461       return recordProtocols_.get(index);
   2462     }
   2463     /**
   2464      * <pre>
   2465      * The record protocols supported by the client, e.g.,
   2466      * "ALTSRP_GCM_AES128".
   2467      * </pre>
   2468      *
   2469      * <code>repeated string record_protocols = 3;</code>
   2470      */
   2471     public com.google.protobuf.ByteString
   2472         getRecordProtocolsBytes(int index) {
   2473       return recordProtocols_.getByteString(index);
   2474     }
   2475 
   2476     public static final int TARGET_IDENTITIES_FIELD_NUMBER = 4;
   2477     private java.util.List<io.grpc.alts.internal.Handshaker.Identity> targetIdentities_;
   2478     /**
   2479      * <pre>
   2480      * (Optional) Describes which server identities are acceptable by the client.
   2481      * If target identities are provided and none of them matches the peer
   2482      * identity of the server, handshake will fail.
   2483      * </pre>
   2484      *
   2485      * <code>repeated .grpc.gcp.Identity target_identities = 4;</code>
   2486      */
   2487     public java.util.List<io.grpc.alts.internal.Handshaker.Identity> getTargetIdentitiesList() {
   2488       return targetIdentities_;
   2489     }
   2490     /**
   2491      * <pre>
   2492      * (Optional) Describes which server identities are acceptable by the client.
   2493      * If target identities are provided and none of them matches the peer
   2494      * identity of the server, handshake will fail.
   2495      * </pre>
   2496      *
   2497      * <code>repeated .grpc.gcp.Identity target_identities = 4;</code>
   2498      */
   2499     public java.util.List<? extends io.grpc.alts.internal.Handshaker.IdentityOrBuilder>
   2500         getTargetIdentitiesOrBuilderList() {
   2501       return targetIdentities_;
   2502     }
   2503     /**
   2504      * <pre>
   2505      * (Optional) Describes which server identities are acceptable by the client.
   2506      * If target identities are provided and none of them matches the peer
   2507      * identity of the server, handshake will fail.
   2508      * </pre>
   2509      *
   2510      * <code>repeated .grpc.gcp.Identity target_identities = 4;</code>
   2511      */
   2512     public int getTargetIdentitiesCount() {
   2513       return targetIdentities_.size();
   2514     }
   2515     /**
   2516      * <pre>
   2517      * (Optional) Describes which server identities are acceptable by the client.
   2518      * If target identities are provided and none of them matches the peer
   2519      * identity of the server, handshake will fail.
   2520      * </pre>
   2521      *
   2522      * <code>repeated .grpc.gcp.Identity target_identities = 4;</code>
   2523      */
   2524     public io.grpc.alts.internal.Handshaker.Identity getTargetIdentities(int index) {
   2525       return targetIdentities_.get(index);
   2526     }
   2527     /**
   2528      * <pre>
   2529      * (Optional) Describes which server identities are acceptable by the client.
   2530      * If target identities are provided and none of them matches the peer
   2531      * identity of the server, handshake will fail.
   2532      * </pre>
   2533      *
   2534      * <code>repeated .grpc.gcp.Identity target_identities = 4;</code>
   2535      */
   2536     public io.grpc.alts.internal.Handshaker.IdentityOrBuilder getTargetIdentitiesOrBuilder(
   2537         int index) {
   2538       return targetIdentities_.get(index);
   2539     }
   2540 
   2541     public static final int LOCAL_IDENTITY_FIELD_NUMBER = 5;
   2542     private io.grpc.alts.internal.Handshaker.Identity localIdentity_;
   2543     /**
   2544      * <pre>
   2545      * (Optional) Application may specify a local identity. Otherwise, the
   2546      * handshaker chooses a default local identity.
   2547      * </pre>
   2548      *
   2549      * <code>.grpc.gcp.Identity local_identity = 5;</code>
   2550      */
   2551     public boolean hasLocalIdentity() {
   2552       return localIdentity_ != null;
   2553     }
   2554     /**
   2555      * <pre>
   2556      * (Optional) Application may specify a local identity. Otherwise, the
   2557      * handshaker chooses a default local identity.
   2558      * </pre>
   2559      *
   2560      * <code>.grpc.gcp.Identity local_identity = 5;</code>
   2561      */
   2562     public io.grpc.alts.internal.Handshaker.Identity getLocalIdentity() {
   2563       return localIdentity_ == null ? io.grpc.alts.internal.Handshaker.Identity.getDefaultInstance() : localIdentity_;
   2564     }
   2565     /**
   2566      * <pre>
   2567      * (Optional) Application may specify a local identity. Otherwise, the
   2568      * handshaker chooses a default local identity.
   2569      * </pre>
   2570      *
   2571      * <code>.grpc.gcp.Identity local_identity = 5;</code>
   2572      */
   2573     public io.grpc.alts.internal.Handshaker.IdentityOrBuilder getLocalIdentityOrBuilder() {
   2574       return getLocalIdentity();
   2575     }
   2576 
   2577     public static final int LOCAL_ENDPOINT_FIELD_NUMBER = 6;
   2578     private io.grpc.alts.internal.Handshaker.Endpoint localEndpoint_;
   2579     /**
   2580      * <pre>
   2581      * (Optional) Local endpoint information of the connection to the server,
   2582      * such as local IP address, port number, and network protocol.
   2583      * </pre>
   2584      *
   2585      * <code>.grpc.gcp.Endpoint local_endpoint = 6;</code>
   2586      */
   2587     public boolean hasLocalEndpoint() {
   2588       return localEndpoint_ != null;
   2589     }
   2590     /**
   2591      * <pre>
   2592      * (Optional) Local endpoint information of the connection to the server,
   2593      * such as local IP address, port number, and network protocol.
   2594      * </pre>
   2595      *
   2596      * <code>.grpc.gcp.Endpoint local_endpoint = 6;</code>
   2597      */
   2598     public io.grpc.alts.internal.Handshaker.Endpoint getLocalEndpoint() {
   2599       return localEndpoint_ == null ? io.grpc.alts.internal.Handshaker.Endpoint.getDefaultInstance() : localEndpoint_;
   2600     }
   2601     /**
   2602      * <pre>
   2603      * (Optional) Local endpoint information of the connection to the server,
   2604      * such as local IP address, port number, and network protocol.
   2605      * </pre>
   2606      *
   2607      * <code>.grpc.gcp.Endpoint local_endpoint = 6;</code>
   2608      */
   2609     public io.grpc.alts.internal.Handshaker.EndpointOrBuilder getLocalEndpointOrBuilder() {
   2610       return getLocalEndpoint();
   2611     }
   2612 
   2613     public static final int REMOTE_ENDPOINT_FIELD_NUMBER = 7;
   2614     private io.grpc.alts.internal.Handshaker.Endpoint remoteEndpoint_;
   2615     /**
   2616      * <pre>
   2617      * (Optional) Endpoint information of the remote server, such as IP address,
   2618      * port number, and network protocol.
   2619      * </pre>
   2620      *
   2621      * <code>.grpc.gcp.Endpoint remote_endpoint = 7;</code>
   2622      */
   2623     public boolean hasRemoteEndpoint() {
   2624       return remoteEndpoint_ != null;
   2625     }
   2626     /**
   2627      * <pre>
   2628      * (Optional) Endpoint information of the remote server, such as IP address,
   2629      * port number, and network protocol.
   2630      * </pre>
   2631      *
   2632      * <code>.grpc.gcp.Endpoint remote_endpoint = 7;</code>
   2633      */
   2634     public io.grpc.alts.internal.Handshaker.Endpoint getRemoteEndpoint() {
   2635       return remoteEndpoint_ == null ? io.grpc.alts.internal.Handshaker.Endpoint.getDefaultInstance() : remoteEndpoint_;
   2636     }
   2637     /**
   2638      * <pre>
   2639      * (Optional) Endpoint information of the remote server, such as IP address,
   2640      * port number, and network protocol.
   2641      * </pre>
   2642      *
   2643      * <code>.grpc.gcp.Endpoint remote_endpoint = 7;</code>
   2644      */
   2645     public io.grpc.alts.internal.Handshaker.EndpointOrBuilder getRemoteEndpointOrBuilder() {
   2646       return getRemoteEndpoint();
   2647     }
   2648 
   2649     public static final int TARGET_NAME_FIELD_NUMBER = 8;
   2650     private volatile java.lang.Object targetName_;
   2651     /**
   2652      * <pre>
   2653      * (Optional) If target name is provided, a secure naming check is performed
   2654      * to verify that the peer authenticated identity is indeed authorized to run
   2655      * the target name.
   2656      * </pre>
   2657      *
   2658      * <code>string target_name = 8;</code>
   2659      */
   2660     public java.lang.String getTargetName() {
   2661       java.lang.Object ref = targetName_;
   2662       if (ref instanceof java.lang.String) {
   2663         return (java.lang.String) ref;
   2664       } else {
   2665         com.google.protobuf.ByteString bs =
   2666             (com.google.protobuf.ByteString) ref;
   2667         java.lang.String s = bs.toStringUtf8();
   2668         targetName_ = s;
   2669         return s;
   2670       }
   2671     }
   2672     /**
   2673      * <pre>
   2674      * (Optional) If target name is provided, a secure naming check is performed
   2675      * to verify that the peer authenticated identity is indeed authorized to run
   2676      * the target name.
   2677      * </pre>
   2678      *
   2679      * <code>string target_name = 8;</code>
   2680      */
   2681     public com.google.protobuf.ByteString
   2682         getTargetNameBytes() {
   2683       java.lang.Object ref = targetName_;
   2684       if (ref instanceof java.lang.String) {
   2685         com.google.protobuf.ByteString b =
   2686             com.google.protobuf.ByteString.copyFromUtf8(
   2687                 (java.lang.String) ref);
   2688         targetName_ = b;
   2689         return b;
   2690       } else {
   2691         return (com.google.protobuf.ByteString) ref;
   2692       }
   2693     }
   2694 
   2695     public static final int RPC_VERSIONS_FIELD_NUMBER = 9;
   2696     private io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions rpcVersions_;
   2697     /**
   2698      * <pre>
   2699      * (Optional) RPC protocol versions supported by the client.
   2700      * </pre>
   2701      *
   2702      * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 9;</code>
   2703      */
   2704     public boolean hasRpcVersions() {
   2705       return rpcVersions_ != null;
   2706     }
   2707     /**
   2708      * <pre>
   2709      * (Optional) RPC protocol versions supported by the client.
   2710      * </pre>
   2711      *
   2712      * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 9;</code>
   2713      */
   2714     public io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions getRpcVersions() {
   2715       return rpcVersions_ == null ? io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.getDefaultInstance() : rpcVersions_;
   2716     }
   2717     /**
   2718      * <pre>
   2719      * (Optional) RPC protocol versions supported by the client.
   2720      * </pre>
   2721      *
   2722      * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 9;</code>
   2723      */
   2724     public io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersionsOrBuilder getRpcVersionsOrBuilder() {
   2725       return getRpcVersions();
   2726     }
   2727 
   2728     private byte memoizedIsInitialized = -1;
   2729     public final boolean isInitialized() {
   2730       byte isInitialized = memoizedIsInitialized;
   2731       if (isInitialized == 1) return true;
   2732       if (isInitialized == 0) return false;
   2733 
   2734       memoizedIsInitialized = 1;
   2735       return true;
   2736     }
   2737 
   2738     public void writeTo(com.google.protobuf.CodedOutputStream output)
   2739                         throws java.io.IOException {
   2740       if (handshakeSecurityProtocol_ != io.grpc.alts.internal.Handshaker.HandshakeProtocol.HANDSHAKE_PROTOCOL_UNSPECIFIED.getNumber()) {
   2741         output.writeEnum(1, handshakeSecurityProtocol_);
   2742       }
   2743       for (int i = 0; i < applicationProtocols_.size(); i++) {
   2744         com.google.protobuf.GeneratedMessageV3.writeString(output, 2, applicationProtocols_.getRaw(i));
   2745       }
   2746       for (int i = 0; i < recordProtocols_.size(); i++) {
   2747         com.google.protobuf.GeneratedMessageV3.writeString(output, 3, recordProtocols_.getRaw(i));
   2748       }
   2749       for (int i = 0; i < targetIdentities_.size(); i++) {
   2750         output.writeMessage(4, targetIdentities_.get(i));
   2751       }
   2752       if (localIdentity_ != null) {
   2753         output.writeMessage(5, getLocalIdentity());
   2754       }
   2755       if (localEndpoint_ != null) {
   2756         output.writeMessage(6, getLocalEndpoint());
   2757       }
   2758       if (remoteEndpoint_ != null) {
   2759         output.writeMessage(7, getRemoteEndpoint());
   2760       }
   2761       if (!getTargetNameBytes().isEmpty()) {
   2762         com.google.protobuf.GeneratedMessageV3.writeString(output, 8, targetName_);
   2763       }
   2764       if (rpcVersions_ != null) {
   2765         output.writeMessage(9, getRpcVersions());
   2766       }
   2767       unknownFields.writeTo(output);
   2768     }
   2769 
   2770     public int getSerializedSize() {
   2771       int size = memoizedSize;
   2772       if (size != -1) return size;
   2773 
   2774       size = 0;
   2775       if (handshakeSecurityProtocol_ != io.grpc.alts.internal.Handshaker.HandshakeProtocol.HANDSHAKE_PROTOCOL_UNSPECIFIED.getNumber()) {
   2776         size += com.google.protobuf.CodedOutputStream
   2777           .computeEnumSize(1, handshakeSecurityProtocol_);
   2778       }
   2779       {
   2780         int dataSize = 0;
   2781         for (int i = 0; i < applicationProtocols_.size(); i++) {
   2782           dataSize += computeStringSizeNoTag(applicationProtocols_.getRaw(i));
   2783         }
   2784         size += dataSize;
   2785         size += 1 * getApplicationProtocolsList().size();
   2786       }
   2787       {
   2788         int dataSize = 0;
   2789         for (int i = 0; i < recordProtocols_.size(); i++) {
   2790           dataSize += computeStringSizeNoTag(recordProtocols_.getRaw(i));
   2791         }
   2792         size += dataSize;
   2793         size += 1 * getRecordProtocolsList().size();
   2794       }
   2795       for (int i = 0; i < targetIdentities_.size(); i++) {
   2796         size += com.google.protobuf.CodedOutputStream
   2797           .computeMessageSize(4, targetIdentities_.get(i));
   2798       }
   2799       if (localIdentity_ != null) {
   2800         size += com.google.protobuf.CodedOutputStream
   2801           .computeMessageSize(5, getLocalIdentity());
   2802       }
   2803       if (localEndpoint_ != null) {
   2804         size += com.google.protobuf.CodedOutputStream
   2805           .computeMessageSize(6, getLocalEndpoint());
   2806       }
   2807       if (remoteEndpoint_ != null) {
   2808         size += com.google.protobuf.CodedOutputStream
   2809           .computeMessageSize(7, getRemoteEndpoint());
   2810       }
   2811       if (!getTargetNameBytes().isEmpty()) {
   2812         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, targetName_);
   2813       }
   2814       if (rpcVersions_ != null) {
   2815         size += com.google.protobuf.CodedOutputStream
   2816           .computeMessageSize(9, getRpcVersions());
   2817       }
   2818       size += unknownFields.getSerializedSize();
   2819       memoizedSize = size;
   2820       return size;
   2821     }
   2822 
   2823     @java.lang.Override
   2824     public boolean equals(final java.lang.Object obj) {
   2825       if (obj == this) {
   2826        return true;
   2827       }
   2828       if (!(obj instanceof io.grpc.alts.internal.Handshaker.StartClientHandshakeReq)) {
   2829         return super.equals(obj);
   2830       }
   2831       io.grpc.alts.internal.Handshaker.StartClientHandshakeReq other = (io.grpc.alts.internal.Handshaker.StartClientHandshakeReq) obj;
   2832 
   2833       boolean result = true;
   2834       result = result && handshakeSecurityProtocol_ == other.handshakeSecurityProtocol_;
   2835       result = result && getApplicationProtocolsList()
   2836           .equals(other.getApplicationProtocolsList());
   2837       result = result && getRecordProtocolsList()
   2838           .equals(other.getRecordProtocolsList());
   2839       result = result && getTargetIdentitiesList()
   2840           .equals(other.getTargetIdentitiesList());
   2841       result = result && (hasLocalIdentity() == other.hasLocalIdentity());
   2842       if (hasLocalIdentity()) {
   2843         result = result && getLocalIdentity()
   2844             .equals(other.getLocalIdentity());
   2845       }
   2846       result = result && (hasLocalEndpoint() == other.hasLocalEndpoint());
   2847       if (hasLocalEndpoint()) {
   2848         result = result && getLocalEndpoint()
   2849             .equals(other.getLocalEndpoint());
   2850       }
   2851       result = result && (hasRemoteEndpoint() == other.hasRemoteEndpoint());
   2852       if (hasRemoteEndpoint()) {
   2853         result = result && getRemoteEndpoint()
   2854             .equals(other.getRemoteEndpoint());
   2855       }
   2856       result = result && getTargetName()
   2857           .equals(other.getTargetName());
   2858       result = result && (hasRpcVersions() == other.hasRpcVersions());
   2859       if (hasRpcVersions()) {
   2860         result = result && getRpcVersions()
   2861             .equals(other.getRpcVersions());
   2862       }
   2863       result = result && unknownFields.equals(other.unknownFields);
   2864       return result;
   2865     }
   2866 
   2867     @java.lang.Override
   2868     public int hashCode() {
   2869       if (memoizedHashCode != 0) {
   2870         return memoizedHashCode;
   2871       }
   2872       int hash = 41;
   2873       hash = (19 * hash) + getDescriptor().hashCode();
   2874       hash = (37 * hash) + HANDSHAKE_SECURITY_PROTOCOL_FIELD_NUMBER;
   2875       hash = (53 * hash) + handshakeSecurityProtocol_;
   2876       if (getApplicationProtocolsCount() > 0) {
   2877         hash = (37 * hash) + APPLICATION_PROTOCOLS_FIELD_NUMBER;
   2878         hash = (53 * hash) + getApplicationProtocolsList().hashCode();
   2879       }
   2880       if (getRecordProtocolsCount() > 0) {
   2881         hash = (37 * hash) + RECORD_PROTOCOLS_FIELD_NUMBER;
   2882         hash = (53 * hash) + getRecordProtocolsList().hashCode();
   2883       }
   2884       if (getTargetIdentitiesCount() > 0) {
   2885         hash = (37 * hash) + TARGET_IDENTITIES_FIELD_NUMBER;
   2886         hash = (53 * hash) + getTargetIdentitiesList().hashCode();
   2887       }
   2888       if (hasLocalIdentity()) {
   2889         hash = (37 * hash) + LOCAL_IDENTITY_FIELD_NUMBER;
   2890         hash = (53 * hash) + getLocalIdentity().hashCode();
   2891       }
   2892       if (hasLocalEndpoint()) {
   2893         hash = (37 * hash) + LOCAL_ENDPOINT_FIELD_NUMBER;
   2894         hash = (53 * hash) + getLocalEndpoint().hashCode();
   2895       }
   2896       if (hasRemoteEndpoint()) {
   2897         hash = (37 * hash) + REMOTE_ENDPOINT_FIELD_NUMBER;
   2898         hash = (53 * hash) + getRemoteEndpoint().hashCode();
   2899       }
   2900       hash = (37 * hash) + TARGET_NAME_FIELD_NUMBER;
   2901       hash = (53 * hash) + getTargetName().hashCode();
   2902       if (hasRpcVersions()) {
   2903         hash = (37 * hash) + RPC_VERSIONS_FIELD_NUMBER;
   2904         hash = (53 * hash) + getRpcVersions().hashCode();
   2905       }
   2906       hash = (29 * hash) + unknownFields.hashCode();
   2907       memoizedHashCode = hash;
   2908       return hash;
   2909     }
   2910 
   2911     public static io.grpc.alts.internal.Handshaker.StartClientHandshakeReq parseFrom(
   2912         java.nio.ByteBuffer data)
   2913         throws com.google.protobuf.InvalidProtocolBufferException {
   2914       return PARSER.parseFrom(data);
   2915     }
   2916     public static io.grpc.alts.internal.Handshaker.StartClientHandshakeReq parseFrom(
   2917         java.nio.ByteBuffer data,
   2918         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   2919         throws com.google.protobuf.InvalidProtocolBufferException {
   2920       return PARSER.parseFrom(data, extensionRegistry);
   2921     }
   2922     public static io.grpc.alts.internal.Handshaker.StartClientHandshakeReq parseFrom(
   2923         com.google.protobuf.ByteString data)
   2924         throws com.google.protobuf.InvalidProtocolBufferException {
   2925       return PARSER.parseFrom(data);
   2926     }
   2927     public static io.grpc.alts.internal.Handshaker.StartClientHandshakeReq parseFrom(
   2928         com.google.protobuf.ByteString data,
   2929         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   2930         throws com.google.protobuf.InvalidProtocolBufferException {
   2931       return PARSER.parseFrom(data, extensionRegistry);
   2932     }
   2933     public static io.grpc.alts.internal.Handshaker.StartClientHandshakeReq parseFrom(byte[] data)
   2934         throws com.google.protobuf.InvalidProtocolBufferException {
   2935       return PARSER.parseFrom(data);
   2936     }
   2937     public static io.grpc.alts.internal.Handshaker.StartClientHandshakeReq parseFrom(
   2938         byte[] data,
   2939         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   2940         throws com.google.protobuf.InvalidProtocolBufferException {
   2941       return PARSER.parseFrom(data, extensionRegistry);
   2942     }
   2943     public static io.grpc.alts.internal.Handshaker.StartClientHandshakeReq parseFrom(java.io.InputStream input)
   2944         throws java.io.IOException {
   2945       return com.google.protobuf.GeneratedMessageV3
   2946           .parseWithIOException(PARSER, input);
   2947     }
   2948     public static io.grpc.alts.internal.Handshaker.StartClientHandshakeReq parseFrom(
   2949         java.io.InputStream input,
   2950         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   2951         throws java.io.IOException {
   2952       return com.google.protobuf.GeneratedMessageV3
   2953           .parseWithIOException(PARSER, input, extensionRegistry);
   2954     }
   2955     public static io.grpc.alts.internal.Handshaker.StartClientHandshakeReq parseDelimitedFrom(java.io.InputStream input)
   2956         throws java.io.IOException {
   2957       return com.google.protobuf.GeneratedMessageV3
   2958           .parseDelimitedWithIOException(PARSER, input);
   2959     }
   2960     public static io.grpc.alts.internal.Handshaker.StartClientHandshakeReq parseDelimitedFrom(
   2961         java.io.InputStream input,
   2962         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   2963         throws java.io.IOException {
   2964       return com.google.protobuf.GeneratedMessageV3
   2965           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
   2966     }
   2967     public static io.grpc.alts.internal.Handshaker.StartClientHandshakeReq parseFrom(
   2968         com.google.protobuf.CodedInputStream input)
   2969         throws java.io.IOException {
   2970       return com.google.protobuf.GeneratedMessageV3
   2971           .parseWithIOException(PARSER, input);
   2972     }
   2973     public static io.grpc.alts.internal.Handshaker.StartClientHandshakeReq parseFrom(
   2974         com.google.protobuf.CodedInputStream input,
   2975         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   2976         throws java.io.IOException {
   2977       return com.google.protobuf.GeneratedMessageV3
   2978           .parseWithIOException(PARSER, input, extensionRegistry);
   2979     }
   2980 
   2981     public Builder newBuilderForType() { return newBuilder(); }
   2982     public static Builder newBuilder() {
   2983       return DEFAULT_INSTANCE.toBuilder();
   2984     }
   2985     public static Builder newBuilder(io.grpc.alts.internal.Handshaker.StartClientHandshakeReq prototype) {
   2986       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
   2987     }
   2988     public Builder toBuilder() {
   2989       return this == DEFAULT_INSTANCE
   2990           ? new Builder() : new Builder().mergeFrom(this);
   2991     }
   2992 
   2993     @java.lang.Override
   2994     protected Builder newBuilderForType(
   2995         com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
   2996       Builder builder = new Builder(parent);
   2997       return builder;
   2998     }
   2999     /**
   3000      * Protobuf type {@code grpc.gcp.StartClientHandshakeReq}
   3001      */
   3002     public static final class Builder extends
   3003         com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
   3004         // @@protoc_insertion_point(builder_implements:grpc.gcp.StartClientHandshakeReq)
   3005         io.grpc.alts.internal.Handshaker.StartClientHandshakeReqOrBuilder {
   3006       public static final com.google.protobuf.Descriptors.Descriptor
   3007           getDescriptor() {
   3008         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_StartClientHandshakeReq_descriptor;
   3009       }
   3010 
   3011       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
   3012           internalGetFieldAccessorTable() {
   3013         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_StartClientHandshakeReq_fieldAccessorTable
   3014             .ensureFieldAccessorsInitialized(
   3015                 io.grpc.alts.internal.Handshaker.StartClientHandshakeReq.class, io.grpc.alts.internal.Handshaker.StartClientHandshakeReq.Builder.class);
   3016       }
   3017 
   3018       // Construct using io.grpc.alts.internal.Handshaker.StartClientHandshakeReq.newBuilder()
   3019       private Builder() {
   3020         maybeForceBuilderInitialization();
   3021       }
   3022 
   3023       private Builder(
   3024           com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
   3025         super(parent);
   3026         maybeForceBuilderInitialization();
   3027       }
   3028       private void maybeForceBuilderInitialization() {
   3029         if (com.google.protobuf.GeneratedMessageV3
   3030                 .alwaysUseFieldBuilders) {
   3031           getTargetIdentitiesFieldBuilder();
   3032         }
   3033       }
   3034       public Builder clear() {
   3035         super.clear();
   3036         handshakeSecurityProtocol_ = 0;
   3037 
   3038         applicationProtocols_ = com.google.protobuf.LazyStringArrayList.EMPTY;
   3039         bitField0_ = (bitField0_ & ~0x00000002);
   3040         recordProtocols_ = com.google.protobuf.LazyStringArrayList.EMPTY;
   3041         bitField0_ = (bitField0_ & ~0x00000004);
   3042         if (targetIdentitiesBuilder_ == null) {
   3043           targetIdentities_ = java.util.Collections.emptyList();
   3044           bitField0_ = (bitField0_ & ~0x00000008);
   3045         } else {
   3046           targetIdentitiesBuilder_.clear();
   3047         }
   3048         if (localIdentityBuilder_ == null) {
   3049           localIdentity_ = null;
   3050         } else {
   3051           localIdentity_ = null;
   3052           localIdentityBuilder_ = null;
   3053         }
   3054         if (localEndpointBuilder_ == null) {
   3055           localEndpoint_ = null;
   3056         } else {
   3057           localEndpoint_ = null;
   3058           localEndpointBuilder_ = null;
   3059         }
   3060         if (remoteEndpointBuilder_ == null) {
   3061           remoteEndpoint_ = null;
   3062         } else {
   3063           remoteEndpoint_ = null;
   3064           remoteEndpointBuilder_ = null;
   3065         }
   3066         targetName_ = "";
   3067 
   3068         if (rpcVersionsBuilder_ == null) {
   3069           rpcVersions_ = null;
   3070         } else {
   3071           rpcVersions_ = null;
   3072           rpcVersionsBuilder_ = null;
   3073         }
   3074         return this;
   3075       }
   3076 
   3077       public com.google.protobuf.Descriptors.Descriptor
   3078           getDescriptorForType() {
   3079         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_StartClientHandshakeReq_descriptor;
   3080       }
   3081 
   3082       public io.grpc.alts.internal.Handshaker.StartClientHandshakeReq getDefaultInstanceForType() {
   3083         return io.grpc.alts.internal.Handshaker.StartClientHandshakeReq.getDefaultInstance();
   3084       }
   3085 
   3086       public io.grpc.alts.internal.Handshaker.StartClientHandshakeReq build() {
   3087         io.grpc.alts.internal.Handshaker.StartClientHandshakeReq result = buildPartial();
   3088         if (!result.isInitialized()) {
   3089           throw newUninitializedMessageException(result);
   3090         }
   3091         return result;
   3092       }
   3093 
   3094       public io.grpc.alts.internal.Handshaker.StartClientHandshakeReq buildPartial() {
   3095         io.grpc.alts.internal.Handshaker.StartClientHandshakeReq result = new io.grpc.alts.internal.Handshaker.StartClientHandshakeReq(this);
   3096         int from_bitField0_ = bitField0_;
   3097         int to_bitField0_ = 0;
   3098         result.handshakeSecurityProtocol_ = handshakeSecurityProtocol_;
   3099         if (((bitField0_ & 0x00000002) == 0x00000002)) {
   3100           applicationProtocols_ = applicationProtocols_.getUnmodifiableView();
   3101           bitField0_ = (bitField0_ & ~0x00000002);
   3102         }
   3103         result.applicationProtocols_ = applicationProtocols_;
   3104         if (((bitField0_ & 0x00000004) == 0x00000004)) {
   3105           recordProtocols_ = recordProtocols_.getUnmodifiableView();
   3106           bitField0_ = (bitField0_ & ~0x00000004);
   3107         }
   3108         result.recordProtocols_ = recordProtocols_;
   3109         if (targetIdentitiesBuilder_ == null) {
   3110           if (((bitField0_ & 0x00000008) == 0x00000008)) {
   3111             targetIdentities_ = java.util.Collections.unmodifiableList(targetIdentities_);
   3112             bitField0_ = (bitField0_ & ~0x00000008);
   3113           }
   3114           result.targetIdentities_ = targetIdentities_;
   3115         } else {
   3116           result.targetIdentities_ = targetIdentitiesBuilder_.build();
   3117         }
   3118         if (localIdentityBuilder_ == null) {
   3119           result.localIdentity_ = localIdentity_;
   3120         } else {
   3121           result.localIdentity_ = localIdentityBuilder_.build();
   3122         }
   3123         if (localEndpointBuilder_ == null) {
   3124           result.localEndpoint_ = localEndpoint_;
   3125         } else {
   3126           result.localEndpoint_ = localEndpointBuilder_.build();
   3127         }
   3128         if (remoteEndpointBuilder_ == null) {
   3129           result.remoteEndpoint_ = remoteEndpoint_;
   3130         } else {
   3131           result.remoteEndpoint_ = remoteEndpointBuilder_.build();
   3132         }
   3133         result.targetName_ = targetName_;
   3134         if (rpcVersionsBuilder_ == null) {
   3135           result.rpcVersions_ = rpcVersions_;
   3136         } else {
   3137           result.rpcVersions_ = rpcVersionsBuilder_.build();
   3138         }
   3139         result.bitField0_ = to_bitField0_;
   3140         onBuilt();
   3141         return result;
   3142       }
   3143 
   3144       public Builder clone() {
   3145         return (Builder) super.clone();
   3146       }
   3147       public Builder setField(
   3148           com.google.protobuf.Descriptors.FieldDescriptor field,
   3149           java.lang.Object value) {
   3150         return (Builder) super.setField(field, value);
   3151       }
   3152       public Builder clearField(
   3153           com.google.protobuf.Descriptors.FieldDescriptor field) {
   3154         return (Builder) super.clearField(field);
   3155       }
   3156       public Builder clearOneof(
   3157           com.google.protobuf.Descriptors.OneofDescriptor oneof) {
   3158         return (Builder) super.clearOneof(oneof);
   3159       }
   3160       public Builder setRepeatedField(
   3161           com.google.protobuf.Descriptors.FieldDescriptor field,
   3162           int index, java.lang.Object value) {
   3163         return (Builder) super.setRepeatedField(field, index, value);
   3164       }
   3165       public Builder addRepeatedField(
   3166           com.google.protobuf.Descriptors.FieldDescriptor field,
   3167           java.lang.Object value) {
   3168         return (Builder) super.addRepeatedField(field, value);
   3169       }
   3170       public Builder mergeFrom(com.google.protobuf.Message other) {
   3171         if (other instanceof io.grpc.alts.internal.Handshaker.StartClientHandshakeReq) {
   3172           return mergeFrom((io.grpc.alts.internal.Handshaker.StartClientHandshakeReq)other);
   3173         } else {
   3174           super.mergeFrom(other);
   3175           return this;
   3176         }
   3177       }
   3178 
   3179       public Builder mergeFrom(io.grpc.alts.internal.Handshaker.StartClientHandshakeReq other) {
   3180         if (other == io.grpc.alts.internal.Handshaker.StartClientHandshakeReq.getDefaultInstance()) return this;
   3181         if (other.handshakeSecurityProtocol_ != 0) {
   3182           setHandshakeSecurityProtocolValue(other.getHandshakeSecurityProtocolValue());
   3183         }
   3184         if (!other.applicationProtocols_.isEmpty()) {
   3185           if (applicationProtocols_.isEmpty()) {
   3186             applicationProtocols_ = other.applicationProtocols_;
   3187             bitField0_ = (bitField0_ & ~0x00000002);
   3188           } else {
   3189             ensureApplicationProtocolsIsMutable();
   3190             applicationProtocols_.addAll(other.applicationProtocols_);
   3191           }
   3192           onChanged();
   3193         }
   3194         if (!other.recordProtocols_.isEmpty()) {
   3195           if (recordProtocols_.isEmpty()) {
   3196             recordProtocols_ = other.recordProtocols_;
   3197             bitField0_ = (bitField0_ & ~0x00000004);
   3198           } else {
   3199             ensureRecordProtocolsIsMutable();
   3200             recordProtocols_.addAll(other.recordProtocols_);
   3201           }
   3202           onChanged();
   3203         }
   3204         if (targetIdentitiesBuilder_ == null) {
   3205           if (!other.targetIdentities_.isEmpty()) {
   3206             if (targetIdentities_.isEmpty()) {
   3207               targetIdentities_ = other.targetIdentities_;
   3208               bitField0_ = (bitField0_ & ~0x00000008);
   3209             } else {
   3210               ensureTargetIdentitiesIsMutable();
   3211               targetIdentities_.addAll(other.targetIdentities_);
   3212             }
   3213             onChanged();
   3214           }
   3215         } else {
   3216           if (!other.targetIdentities_.isEmpty()) {
   3217             if (targetIdentitiesBuilder_.isEmpty()) {
   3218               targetIdentitiesBuilder_.dispose();
   3219               targetIdentitiesBuilder_ = null;
   3220               targetIdentities_ = other.targetIdentities_;
   3221               bitField0_ = (bitField0_ & ~0x00000008);
   3222               targetIdentitiesBuilder_ =
   3223                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
   3224                    getTargetIdentitiesFieldBuilder() : null;
   3225             } else {
   3226               targetIdentitiesBuilder_.addAllMessages(other.targetIdentities_);
   3227             }
   3228           }
   3229         }
   3230         if (other.hasLocalIdentity()) {
   3231           mergeLocalIdentity(other.getLocalIdentity());
   3232         }
   3233         if (other.hasLocalEndpoint()) {
   3234           mergeLocalEndpoint(other.getLocalEndpoint());
   3235         }
   3236         if (other.hasRemoteEndpoint()) {
   3237           mergeRemoteEndpoint(other.getRemoteEndpoint());
   3238         }
   3239         if (!other.getTargetName().isEmpty()) {
   3240           targetName_ = other.targetName_;
   3241           onChanged();
   3242         }
   3243         if (other.hasRpcVersions()) {
   3244           mergeRpcVersions(other.getRpcVersions());
   3245         }
   3246         this.mergeUnknownFields(other.unknownFields);
   3247         onChanged();
   3248         return this;
   3249       }
   3250 
   3251       public final boolean isInitialized() {
   3252         return true;
   3253       }
   3254 
   3255       public Builder mergeFrom(
   3256           com.google.protobuf.CodedInputStream input,
   3257           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   3258           throws java.io.IOException {
   3259         io.grpc.alts.internal.Handshaker.StartClientHandshakeReq parsedMessage = null;
   3260         try {
   3261           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
   3262         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
   3263           parsedMessage = (io.grpc.alts.internal.Handshaker.StartClientHandshakeReq) e.getUnfinishedMessage();
   3264           throw e.unwrapIOException();
   3265         } finally {
   3266           if (parsedMessage != null) {
   3267             mergeFrom(parsedMessage);
   3268           }
   3269         }
   3270         return this;
   3271       }
   3272       private int bitField0_;
   3273 
   3274       private int handshakeSecurityProtocol_ = 0;
   3275       /**
   3276        * <pre>
   3277        * Handshake security protocol requested by the client.
   3278        * </pre>
   3279        *
   3280        * <code>.grpc.gcp.HandshakeProtocol handshake_security_protocol = 1;</code>
   3281        */
   3282       public int getHandshakeSecurityProtocolValue() {
   3283         return handshakeSecurityProtocol_;
   3284       }
   3285       /**
   3286        * <pre>
   3287        * Handshake security protocol requested by the client.
   3288        * </pre>
   3289        *
   3290        * <code>.grpc.gcp.HandshakeProtocol handshake_security_protocol = 1;</code>
   3291        */
   3292       public Builder setHandshakeSecurityProtocolValue(int value) {
   3293         handshakeSecurityProtocol_ = value;
   3294         onChanged();
   3295         return this;
   3296       }
   3297       /**
   3298        * <pre>
   3299        * Handshake security protocol requested by the client.
   3300        * </pre>
   3301        *
   3302        * <code>.grpc.gcp.HandshakeProtocol handshake_security_protocol = 1;</code>
   3303        */
   3304       public io.grpc.alts.internal.Handshaker.HandshakeProtocol getHandshakeSecurityProtocol() {
   3305         io.grpc.alts.internal.Handshaker.HandshakeProtocol result = io.grpc.alts.internal.Handshaker.HandshakeProtocol.valueOf(handshakeSecurityProtocol_);
   3306         return result == null ? io.grpc.alts.internal.Handshaker.HandshakeProtocol.UNRECOGNIZED : result;
   3307       }
   3308       /**
   3309        * <pre>
   3310        * Handshake security protocol requested by the client.
   3311        * </pre>
   3312        *
   3313        * <code>.grpc.gcp.HandshakeProtocol handshake_security_protocol = 1;</code>
   3314        */
   3315       public Builder setHandshakeSecurityProtocol(io.grpc.alts.internal.Handshaker.HandshakeProtocol value) {
   3316         if (value == null) {
   3317           throw new NullPointerException();
   3318         }
   3319 
   3320         handshakeSecurityProtocol_ = value.getNumber();
   3321         onChanged();
   3322         return this;
   3323       }
   3324       /**
   3325        * <pre>
   3326        * Handshake security protocol requested by the client.
   3327        * </pre>
   3328        *
   3329        * <code>.grpc.gcp.HandshakeProtocol handshake_security_protocol = 1;</code>
   3330        */
   3331       public Builder clearHandshakeSecurityProtocol() {
   3332 
   3333         handshakeSecurityProtocol_ = 0;
   3334         onChanged();
   3335         return this;
   3336       }
   3337 
   3338       private com.google.protobuf.LazyStringList applicationProtocols_ = com.google.protobuf.LazyStringArrayList.EMPTY;
   3339       private void ensureApplicationProtocolsIsMutable() {
   3340         if (!((bitField0_ & 0x00000002) == 0x00000002)) {
   3341           applicationProtocols_ = new com.google.protobuf.LazyStringArrayList(applicationProtocols_);
   3342           bitField0_ |= 0x00000002;
   3343          }
   3344       }
   3345       /**
   3346        * <pre>
   3347        * The application protocols supported by the client, e.g., "h2" (for http2),
   3348        * "grpc".
   3349        * </pre>
   3350        *
   3351        * <code>repeated string application_protocols = 2;</code>
   3352        */
   3353       public com.google.protobuf.ProtocolStringList
   3354           getApplicationProtocolsList() {
   3355         return applicationProtocols_.getUnmodifiableView();
   3356       }
   3357       /**
   3358        * <pre>
   3359        * The application protocols supported by the client, e.g., "h2" (for http2),
   3360        * "grpc".
   3361        * </pre>
   3362        *
   3363        * <code>repeated string application_protocols = 2;</code>
   3364        */
   3365       public int getApplicationProtocolsCount() {
   3366         return applicationProtocols_.size();
   3367       }
   3368       /**
   3369        * <pre>
   3370        * The application protocols supported by the client, e.g., "h2" (for http2),
   3371        * "grpc".
   3372        * </pre>
   3373        *
   3374        * <code>repeated string application_protocols = 2;</code>
   3375        */
   3376       public java.lang.String getApplicationProtocols(int index) {
   3377         return applicationProtocols_.get(index);
   3378       }
   3379       /**
   3380        * <pre>
   3381        * The application protocols supported by the client, e.g., "h2" (for http2),
   3382        * "grpc".
   3383        * </pre>
   3384        *
   3385        * <code>repeated string application_protocols = 2;</code>
   3386        */
   3387       public com.google.protobuf.ByteString
   3388           getApplicationProtocolsBytes(int index) {
   3389         return applicationProtocols_.getByteString(index);
   3390       }
   3391       /**
   3392        * <pre>
   3393        * The application protocols supported by the client, e.g., "h2" (for http2),
   3394        * "grpc".
   3395        * </pre>
   3396        *
   3397        * <code>repeated string application_protocols = 2;</code>
   3398        */
   3399       public Builder setApplicationProtocols(
   3400           int index, java.lang.String value) {
   3401         if (value == null) {
   3402     throw new NullPointerException();
   3403   }
   3404   ensureApplicationProtocolsIsMutable();
   3405         applicationProtocols_.set(index, value);
   3406         onChanged();
   3407         return this;
   3408       }
   3409       /**
   3410        * <pre>
   3411        * The application protocols supported by the client, e.g., "h2" (for http2),
   3412        * "grpc".
   3413        * </pre>
   3414        *
   3415        * <code>repeated string application_protocols = 2;</code>
   3416        */
   3417       public Builder addApplicationProtocols(
   3418           java.lang.String value) {
   3419         if (value == null) {
   3420     throw new NullPointerException();
   3421   }
   3422   ensureApplicationProtocolsIsMutable();
   3423         applicationProtocols_.add(value);
   3424         onChanged();
   3425         return this;
   3426       }
   3427       /**
   3428        * <pre>
   3429        * The application protocols supported by the client, e.g., "h2" (for http2),
   3430        * "grpc".
   3431        * </pre>
   3432        *
   3433        * <code>repeated string application_protocols = 2;</code>
   3434        */
   3435       public Builder addAllApplicationProtocols(
   3436           java.lang.Iterable<java.lang.String> values) {
   3437         ensureApplicationProtocolsIsMutable();
   3438         com.google.protobuf.AbstractMessageLite.Builder.addAll(
   3439             values, applicationProtocols_);
   3440         onChanged();
   3441         return this;
   3442       }
   3443       /**
   3444        * <pre>
   3445        * The application protocols supported by the client, e.g., "h2" (for http2),
   3446        * "grpc".
   3447        * </pre>
   3448        *
   3449        * <code>repeated string application_protocols = 2;</code>
   3450        */
   3451       public Builder clearApplicationProtocols() {
   3452         applicationProtocols_ = com.google.protobuf.LazyStringArrayList.EMPTY;
   3453         bitField0_ = (bitField0_ & ~0x00000002);
   3454         onChanged();
   3455         return this;
   3456       }
   3457       /**
   3458        * <pre>
   3459        * The application protocols supported by the client, e.g., "h2" (for http2),
   3460        * "grpc".
   3461        * </pre>
   3462        *
   3463        * <code>repeated string application_protocols = 2;</code>
   3464        */
   3465       public Builder addApplicationProtocolsBytes(
   3466           com.google.protobuf.ByteString value) {
   3467         if (value == null) {
   3468     throw new NullPointerException();
   3469   }
   3470   checkByteStringIsUtf8(value);
   3471         ensureApplicationProtocolsIsMutable();
   3472         applicationProtocols_.add(value);
   3473         onChanged();
   3474         return this;
   3475       }
   3476 
   3477       private com.google.protobuf.LazyStringList recordProtocols_ = com.google.protobuf.LazyStringArrayList.EMPTY;
   3478       private void ensureRecordProtocolsIsMutable() {
   3479         if (!((bitField0_ & 0x00000004) == 0x00000004)) {
   3480           recordProtocols_ = new com.google.protobuf.LazyStringArrayList(recordProtocols_);
   3481           bitField0_ |= 0x00000004;
   3482          }
   3483       }
   3484       /**
   3485        * <pre>
   3486        * The record protocols supported by the client, e.g.,
   3487        * "ALTSRP_GCM_AES128".
   3488        * </pre>
   3489        *
   3490        * <code>repeated string record_protocols = 3;</code>
   3491        */
   3492       public com.google.protobuf.ProtocolStringList
   3493           getRecordProtocolsList() {
   3494         return recordProtocols_.getUnmodifiableView();
   3495       }
   3496       /**
   3497        * <pre>
   3498        * The record protocols supported by the client, e.g.,
   3499        * "ALTSRP_GCM_AES128".
   3500        * </pre>
   3501        *
   3502        * <code>repeated string record_protocols = 3;</code>
   3503        */
   3504       public int getRecordProtocolsCount() {
   3505         return recordProtocols_.size();
   3506       }
   3507       /**
   3508        * <pre>
   3509        * The record protocols supported by the client, e.g.,
   3510        * "ALTSRP_GCM_AES128".
   3511        * </pre>
   3512        *
   3513        * <code>repeated string record_protocols = 3;</code>
   3514        */
   3515       public java.lang.String getRecordProtocols(int index) {
   3516         return recordProtocols_.get(index);
   3517       }
   3518       /**
   3519        * <pre>
   3520        * The record protocols supported by the client, e.g.,
   3521        * "ALTSRP_GCM_AES128".
   3522        * </pre>
   3523        *
   3524        * <code>repeated string record_protocols = 3;</code>
   3525        */
   3526       public com.google.protobuf.ByteString
   3527           getRecordProtocolsBytes(int index) {
   3528         return recordProtocols_.getByteString(index);
   3529       }
   3530       /**
   3531        * <pre>
   3532        * The record protocols supported by the client, e.g.,
   3533        * "ALTSRP_GCM_AES128".
   3534        * </pre>
   3535        *
   3536        * <code>repeated string record_protocols = 3;</code>
   3537        */
   3538       public Builder setRecordProtocols(
   3539           int index, java.lang.String value) {
   3540         if (value == null) {
   3541     throw new NullPointerException();
   3542   }
   3543   ensureRecordProtocolsIsMutable();
   3544         recordProtocols_.set(index, value);
   3545         onChanged();
   3546         return this;
   3547       }
   3548       /**
   3549        * <pre>
   3550        * The record protocols supported by the client, e.g.,
   3551        * "ALTSRP_GCM_AES128".
   3552        * </pre>
   3553        *
   3554        * <code>repeated string record_protocols = 3;</code>
   3555        */
   3556       public Builder addRecordProtocols(
   3557           java.lang.String value) {
   3558         if (value == null) {
   3559     throw new NullPointerException();
   3560   }
   3561   ensureRecordProtocolsIsMutable();
   3562         recordProtocols_.add(value);
   3563         onChanged();
   3564         return this;
   3565       }
   3566       /**
   3567        * <pre>
   3568        * The record protocols supported by the client, e.g.,
   3569        * "ALTSRP_GCM_AES128".
   3570        * </pre>
   3571        *
   3572        * <code>repeated string record_protocols = 3;</code>
   3573        */
   3574       public Builder addAllRecordProtocols(
   3575           java.lang.Iterable<java.lang.String> values) {
   3576         ensureRecordProtocolsIsMutable();
   3577         com.google.protobuf.AbstractMessageLite.Builder.addAll(
   3578             values, recordProtocols_);
   3579         onChanged();
   3580         return this;
   3581       }
   3582       /**
   3583        * <pre>
   3584        * The record protocols supported by the client, e.g.,
   3585        * "ALTSRP_GCM_AES128".
   3586        * </pre>
   3587        *
   3588        * <code>repeated string record_protocols = 3;</code>
   3589        */
   3590       public Builder clearRecordProtocols() {
   3591         recordProtocols_ = com.google.protobuf.LazyStringArrayList.EMPTY;
   3592         bitField0_ = (bitField0_ & ~0x00000004);
   3593         onChanged();
   3594         return this;
   3595       }
   3596       /**
   3597        * <pre>
   3598        * The record protocols supported by the client, e.g.,
   3599        * "ALTSRP_GCM_AES128".
   3600        * </pre>
   3601        *
   3602        * <code>repeated string record_protocols = 3;</code>
   3603        */
   3604       public Builder addRecordProtocolsBytes(
   3605           com.google.protobuf.ByteString value) {
   3606         if (value == null) {
   3607     throw new NullPointerException();
   3608   }
   3609   checkByteStringIsUtf8(value);
   3610         ensureRecordProtocolsIsMutable();
   3611         recordProtocols_.add(value);
   3612         onChanged();
   3613         return this;
   3614       }
   3615 
   3616       private java.util.List<io.grpc.alts.internal.Handshaker.Identity> targetIdentities_ =
   3617         java.util.Collections.emptyList();
   3618       private void ensureTargetIdentitiesIsMutable() {
   3619         if (!((bitField0_ & 0x00000008) == 0x00000008)) {
   3620           targetIdentities_ = new java.util.ArrayList<io.grpc.alts.internal.Handshaker.Identity>(targetIdentities_);
   3621           bitField0_ |= 0x00000008;
   3622          }
   3623       }
   3624 
   3625       private com.google.protobuf.RepeatedFieldBuilderV3<
   3626           io.grpc.alts.internal.Handshaker.Identity, io.grpc.alts.internal.Handshaker.Identity.Builder, io.grpc.alts.internal.Handshaker.IdentityOrBuilder> targetIdentitiesBuilder_;
   3627 
   3628       /**
   3629        * <pre>
   3630        * (Optional) Describes which server identities are acceptable by the client.
   3631        * If target identities are provided and none of them matches the peer
   3632        * identity of the server, handshake will fail.
   3633        * </pre>
   3634        *
   3635        * <code>repeated .grpc.gcp.Identity target_identities = 4;</code>
   3636        */
   3637       public java.util.List<io.grpc.alts.internal.Handshaker.Identity> getTargetIdentitiesList() {
   3638         if (targetIdentitiesBuilder_ == null) {
   3639           return java.util.Collections.unmodifiableList(targetIdentities_);
   3640         } else {
   3641           return targetIdentitiesBuilder_.getMessageList();
   3642         }
   3643       }
   3644       /**
   3645        * <pre>
   3646        * (Optional) Describes which server identities are acceptable by the client.
   3647        * If target identities are provided and none of them matches the peer
   3648        * identity of the server, handshake will fail.
   3649        * </pre>
   3650        *
   3651        * <code>repeated .grpc.gcp.Identity target_identities = 4;</code>
   3652        */
   3653       public int getTargetIdentitiesCount() {
   3654         if (targetIdentitiesBuilder_ == null) {
   3655           return targetIdentities_.size();
   3656         } else {
   3657           return targetIdentitiesBuilder_.getCount();
   3658         }
   3659       }
   3660       /**
   3661        * <pre>
   3662        * (Optional) Describes which server identities are acceptable by the client.
   3663        * If target identities are provided and none of them matches the peer
   3664        * identity of the server, handshake will fail.
   3665        * </pre>
   3666        *
   3667        * <code>repeated .grpc.gcp.Identity target_identities = 4;</code>
   3668        */
   3669       public io.grpc.alts.internal.Handshaker.Identity getTargetIdentities(int index) {
   3670         if (targetIdentitiesBuilder_ == null) {
   3671           return targetIdentities_.get(index);
   3672         } else {
   3673           return targetIdentitiesBuilder_.getMessage(index);
   3674         }
   3675       }
   3676       /**
   3677        * <pre>
   3678        * (Optional) Describes which server identities are acceptable by the client.
   3679        * If target identities are provided and none of them matches the peer
   3680        * identity of the server, handshake will fail.
   3681        * </pre>
   3682        *
   3683        * <code>repeated .grpc.gcp.Identity target_identities = 4;</code>
   3684        */
   3685       public Builder setTargetIdentities(
   3686           int index, io.grpc.alts.internal.Handshaker.Identity value) {
   3687         if (targetIdentitiesBuilder_ == null) {
   3688           if (value == null) {
   3689             throw new NullPointerException();
   3690           }
   3691           ensureTargetIdentitiesIsMutable();
   3692           targetIdentities_.set(index, value);
   3693           onChanged();
   3694         } else {
   3695           targetIdentitiesBuilder_.setMessage(index, value);
   3696         }
   3697         return this;
   3698       }
   3699       /**
   3700        * <pre>
   3701        * (Optional) Describes which server identities are acceptable by the client.
   3702        * If target identities are provided and none of them matches the peer
   3703        * identity of the server, handshake will fail.
   3704        * </pre>
   3705        *
   3706        * <code>repeated .grpc.gcp.Identity target_identities = 4;</code>
   3707        */
   3708       public Builder setTargetIdentities(
   3709           int index, io.grpc.alts.internal.Handshaker.Identity.Builder builderForValue) {
   3710         if (targetIdentitiesBuilder_ == null) {
   3711           ensureTargetIdentitiesIsMutable();
   3712           targetIdentities_.set(index, builderForValue.build());
   3713           onChanged();
   3714         } else {
   3715           targetIdentitiesBuilder_.setMessage(index, builderForValue.build());
   3716         }
   3717         return this;
   3718       }
   3719       /**
   3720        * <pre>
   3721        * (Optional) Describes which server identities are acceptable by the client.
   3722        * If target identities are provided and none of them matches the peer
   3723        * identity of the server, handshake will fail.
   3724        * </pre>
   3725        *
   3726        * <code>repeated .grpc.gcp.Identity target_identities = 4;</code>
   3727        */
   3728       public Builder addTargetIdentities(io.grpc.alts.internal.Handshaker.Identity value) {
   3729         if (targetIdentitiesBuilder_ == null) {
   3730           if (value == null) {
   3731             throw new NullPointerException();
   3732           }
   3733           ensureTargetIdentitiesIsMutable();
   3734           targetIdentities_.add(value);
   3735           onChanged();
   3736         } else {
   3737           targetIdentitiesBuilder_.addMessage(value);
   3738         }
   3739         return this;
   3740       }
   3741       /**
   3742        * <pre>
   3743        * (Optional) Describes which server identities are acceptable by the client.
   3744        * If target identities are provided and none of them matches the peer
   3745        * identity of the server, handshake will fail.
   3746        * </pre>
   3747        *
   3748        * <code>repeated .grpc.gcp.Identity target_identities = 4;</code>
   3749        */
   3750       public Builder addTargetIdentities(
   3751           int index, io.grpc.alts.internal.Handshaker.Identity value) {
   3752         if (targetIdentitiesBuilder_ == null) {
   3753           if (value == null) {
   3754             throw new NullPointerException();
   3755           }
   3756           ensureTargetIdentitiesIsMutable();
   3757           targetIdentities_.add(index, value);
   3758           onChanged();
   3759         } else {
   3760           targetIdentitiesBuilder_.addMessage(index, value);
   3761         }
   3762         return this;
   3763       }
   3764       /**
   3765        * <pre>
   3766        * (Optional) Describes which server identities are acceptable by the client.
   3767        * If target identities are provided and none of them matches the peer
   3768        * identity of the server, handshake will fail.
   3769        * </pre>
   3770        *
   3771        * <code>repeated .grpc.gcp.Identity target_identities = 4;</code>
   3772        */
   3773       public Builder addTargetIdentities(
   3774           io.grpc.alts.internal.Handshaker.Identity.Builder builderForValue) {
   3775         if (targetIdentitiesBuilder_ == null) {
   3776           ensureTargetIdentitiesIsMutable();
   3777           targetIdentities_.add(builderForValue.build());
   3778           onChanged();
   3779         } else {
   3780           targetIdentitiesBuilder_.addMessage(builderForValue.build());
   3781         }
   3782         return this;
   3783       }
   3784       /**
   3785        * <pre>
   3786        * (Optional) Describes which server identities are acceptable by the client.
   3787        * If target identities are provided and none of them matches the peer
   3788        * identity of the server, handshake will fail.
   3789        * </pre>
   3790        *
   3791        * <code>repeated .grpc.gcp.Identity target_identities = 4;</code>
   3792        */
   3793       public Builder addTargetIdentities(
   3794           int index, io.grpc.alts.internal.Handshaker.Identity.Builder builderForValue) {
   3795         if (targetIdentitiesBuilder_ == null) {
   3796           ensureTargetIdentitiesIsMutable();
   3797           targetIdentities_.add(index, builderForValue.build());
   3798           onChanged();
   3799         } else {
   3800           targetIdentitiesBuilder_.addMessage(index, builderForValue.build());
   3801         }
   3802         return this;
   3803       }
   3804       /**
   3805        * <pre>
   3806        * (Optional) Describes which server identities are acceptable by the client.
   3807        * If target identities are provided and none of them matches the peer
   3808        * identity of the server, handshake will fail.
   3809        * </pre>
   3810        *
   3811        * <code>repeated .grpc.gcp.Identity target_identities = 4;</code>
   3812        */
   3813       public Builder addAllTargetIdentities(
   3814           java.lang.Iterable<? extends io.grpc.alts.internal.Handshaker.Identity> values) {
   3815         if (targetIdentitiesBuilder_ == null) {
   3816           ensureTargetIdentitiesIsMutable();
   3817           com.google.protobuf.AbstractMessageLite.Builder.addAll(
   3818               values, targetIdentities_);
   3819           onChanged();
   3820         } else {
   3821           targetIdentitiesBuilder_.addAllMessages(values);
   3822         }
   3823         return this;
   3824       }
   3825       /**
   3826        * <pre>
   3827        * (Optional) Describes which server identities are acceptable by the client.
   3828        * If target identities are provided and none of them matches the peer
   3829        * identity of the server, handshake will fail.
   3830        * </pre>
   3831        *
   3832        * <code>repeated .grpc.gcp.Identity target_identities = 4;</code>
   3833        */
   3834       public Builder clearTargetIdentities() {
   3835         if (targetIdentitiesBuilder_ == null) {
   3836           targetIdentities_ = java.util.Collections.emptyList();
   3837           bitField0_ = (bitField0_ & ~0x00000008);
   3838           onChanged();
   3839         } else {
   3840           targetIdentitiesBuilder_.clear();
   3841         }
   3842         return this;
   3843       }
   3844       /**
   3845        * <pre>
   3846        * (Optional) Describes which server identities are acceptable by the client.
   3847        * If target identities are provided and none of them matches the peer
   3848        * identity of the server, handshake will fail.
   3849        * </pre>
   3850        *
   3851        * <code>repeated .grpc.gcp.Identity target_identities = 4;</code>
   3852        */
   3853       public Builder removeTargetIdentities(int index) {
   3854         if (targetIdentitiesBuilder_ == null) {
   3855           ensureTargetIdentitiesIsMutable();
   3856           targetIdentities_.remove(index);
   3857           onChanged();
   3858         } else {
   3859           targetIdentitiesBuilder_.remove(index);
   3860         }
   3861         return this;
   3862       }
   3863       /**
   3864        * <pre>
   3865        * (Optional) Describes which server identities are acceptable by the client.
   3866        * If target identities are provided and none of them matches the peer
   3867        * identity of the server, handshake will fail.
   3868        * </pre>
   3869        *
   3870        * <code>repeated .grpc.gcp.Identity target_identities = 4;</code>
   3871        */
   3872       public io.grpc.alts.internal.Handshaker.Identity.Builder getTargetIdentitiesBuilder(
   3873           int index) {
   3874         return getTargetIdentitiesFieldBuilder().getBuilder(index);
   3875       }
   3876       /**
   3877        * <pre>
   3878        * (Optional) Describes which server identities are acceptable by the client.
   3879        * If target identities are provided and none of them matches the peer
   3880        * identity of the server, handshake will fail.
   3881        * </pre>
   3882        *
   3883        * <code>repeated .grpc.gcp.Identity target_identities = 4;</code>
   3884        */
   3885       public io.grpc.alts.internal.Handshaker.IdentityOrBuilder getTargetIdentitiesOrBuilder(
   3886           int index) {
   3887         if (targetIdentitiesBuilder_ == null) {
   3888           return targetIdentities_.get(index);  } else {
   3889           return targetIdentitiesBuilder_.getMessageOrBuilder(index);
   3890         }
   3891       }
   3892       /**
   3893        * <pre>
   3894        * (Optional) Describes which server identities are acceptable by the client.
   3895        * If target identities are provided and none of them matches the peer
   3896        * identity of the server, handshake will fail.
   3897        * </pre>
   3898        *
   3899        * <code>repeated .grpc.gcp.Identity target_identities = 4;</code>
   3900        */
   3901       public java.util.List<? extends io.grpc.alts.internal.Handshaker.IdentityOrBuilder>
   3902            getTargetIdentitiesOrBuilderList() {
   3903         if (targetIdentitiesBuilder_ != null) {
   3904           return targetIdentitiesBuilder_.getMessageOrBuilderList();
   3905         } else {
   3906           return java.util.Collections.unmodifiableList(targetIdentities_);
   3907         }
   3908       }
   3909       /**
   3910        * <pre>
   3911        * (Optional) Describes which server identities are acceptable by the client.
   3912        * If target identities are provided and none of them matches the peer
   3913        * identity of the server, handshake will fail.
   3914        * </pre>
   3915        *
   3916        * <code>repeated .grpc.gcp.Identity target_identities = 4;</code>
   3917        */
   3918       public io.grpc.alts.internal.Handshaker.Identity.Builder addTargetIdentitiesBuilder() {
   3919         return getTargetIdentitiesFieldBuilder().addBuilder(
   3920             io.grpc.alts.internal.Handshaker.Identity.getDefaultInstance());
   3921       }
   3922       /**
   3923        * <pre>
   3924        * (Optional) Describes which server identities are acceptable by the client.
   3925        * If target identities are provided and none of them matches the peer
   3926        * identity of the server, handshake will fail.
   3927        * </pre>
   3928        *
   3929        * <code>repeated .grpc.gcp.Identity target_identities = 4;</code>
   3930        */
   3931       public io.grpc.alts.internal.Handshaker.Identity.Builder addTargetIdentitiesBuilder(
   3932           int index) {
   3933         return getTargetIdentitiesFieldBuilder().addBuilder(
   3934             index, io.grpc.alts.internal.Handshaker.Identity.getDefaultInstance());
   3935       }
   3936       /**
   3937        * <pre>
   3938        * (Optional) Describes which server identities are acceptable by the client.
   3939        * If target identities are provided and none of them matches the peer
   3940        * identity of the server, handshake will fail.
   3941        * </pre>
   3942        *
   3943        * <code>repeated .grpc.gcp.Identity target_identities = 4;</code>
   3944        */
   3945       public java.util.List<io.grpc.alts.internal.Handshaker.Identity.Builder>
   3946            getTargetIdentitiesBuilderList() {
   3947         return getTargetIdentitiesFieldBuilder().getBuilderList();
   3948       }
   3949       private com.google.protobuf.RepeatedFieldBuilderV3<
   3950           io.grpc.alts.internal.Handshaker.Identity, io.grpc.alts.internal.Handshaker.Identity.Builder, io.grpc.alts.internal.Handshaker.IdentityOrBuilder>
   3951           getTargetIdentitiesFieldBuilder() {
   3952         if (targetIdentitiesBuilder_ == null) {
   3953           targetIdentitiesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
   3954               io.grpc.alts.internal.Handshaker.Identity, io.grpc.alts.internal.Handshaker.Identity.Builder, io.grpc.alts.internal.Handshaker.IdentityOrBuilder>(
   3955                   targetIdentities_,
   3956                   ((bitField0_ & 0x00000008) == 0x00000008),
   3957                   getParentForChildren(),
   3958                   isClean());
   3959           targetIdentities_ = null;
   3960         }
   3961         return targetIdentitiesBuilder_;
   3962       }
   3963 
   3964       private io.grpc.alts.internal.Handshaker.Identity localIdentity_ = null;
   3965       private com.google.protobuf.SingleFieldBuilderV3<
   3966           io.grpc.alts.internal.Handshaker.Identity, io.grpc.alts.internal.Handshaker.Identity.Builder, io.grpc.alts.internal.Handshaker.IdentityOrBuilder> localIdentityBuilder_;
   3967       /**
   3968        * <pre>
   3969        * (Optional) Application may specify a local identity. Otherwise, the
   3970        * handshaker chooses a default local identity.
   3971        * </pre>
   3972        *
   3973        * <code>.grpc.gcp.Identity local_identity = 5;</code>
   3974        */
   3975       public boolean hasLocalIdentity() {
   3976         return localIdentityBuilder_ != null || localIdentity_ != null;
   3977       }
   3978       /**
   3979        * <pre>
   3980        * (Optional) Application may specify a local identity. Otherwise, the
   3981        * handshaker chooses a default local identity.
   3982        * </pre>
   3983        *
   3984        * <code>.grpc.gcp.Identity local_identity = 5;</code>
   3985        */
   3986       public io.grpc.alts.internal.Handshaker.Identity getLocalIdentity() {
   3987         if (localIdentityBuilder_ == null) {
   3988           return localIdentity_ == null ? io.grpc.alts.internal.Handshaker.Identity.getDefaultInstance() : localIdentity_;
   3989         } else {
   3990           return localIdentityBuilder_.getMessage();
   3991         }
   3992       }
   3993       /**
   3994        * <pre>
   3995        * (Optional) Application may specify a local identity. Otherwise, the
   3996        * handshaker chooses a default local identity.
   3997        * </pre>
   3998        *
   3999        * <code>.grpc.gcp.Identity local_identity = 5;</code>
   4000        */
   4001       public Builder setLocalIdentity(io.grpc.alts.internal.Handshaker.Identity value) {
   4002         if (localIdentityBuilder_ == null) {
   4003           if (value == null) {
   4004             throw new NullPointerException();
   4005           }
   4006           localIdentity_ = value;
   4007           onChanged();
   4008         } else {
   4009           localIdentityBuilder_.setMessage(value);
   4010         }
   4011 
   4012         return this;
   4013       }
   4014       /**
   4015        * <pre>
   4016        * (Optional) Application may specify a local identity. Otherwise, the
   4017        * handshaker chooses a default local identity.
   4018        * </pre>
   4019        *
   4020        * <code>.grpc.gcp.Identity local_identity = 5;</code>
   4021        */
   4022       public Builder setLocalIdentity(
   4023           io.grpc.alts.internal.Handshaker.Identity.Builder builderForValue) {
   4024         if (localIdentityBuilder_ == null) {
   4025           localIdentity_ = builderForValue.build();
   4026           onChanged();
   4027         } else {
   4028           localIdentityBuilder_.setMessage(builderForValue.build());
   4029         }
   4030 
   4031         return this;
   4032       }
   4033       /**
   4034        * <pre>
   4035        * (Optional) Application may specify a local identity. Otherwise, the
   4036        * handshaker chooses a default local identity.
   4037        * </pre>
   4038        *
   4039        * <code>.grpc.gcp.Identity local_identity = 5;</code>
   4040        */
   4041       public Builder mergeLocalIdentity(io.grpc.alts.internal.Handshaker.Identity value) {
   4042         if (localIdentityBuilder_ == null) {
   4043           if (localIdentity_ != null) {
   4044             localIdentity_ =
   4045               io.grpc.alts.internal.Handshaker.Identity.newBuilder(localIdentity_).mergeFrom(value).buildPartial();
   4046           } else {
   4047             localIdentity_ = value;
   4048           }
   4049           onChanged();
   4050         } else {
   4051           localIdentityBuilder_.mergeFrom(value);
   4052         }
   4053 
   4054         return this;
   4055       }
   4056       /**
   4057        * <pre>
   4058        * (Optional) Application may specify a local identity. Otherwise, the
   4059        * handshaker chooses a default local identity.
   4060        * </pre>
   4061        *
   4062        * <code>.grpc.gcp.Identity local_identity = 5;</code>
   4063        */
   4064       public Builder clearLocalIdentity() {
   4065         if (localIdentityBuilder_ == null) {
   4066           localIdentity_ = null;
   4067           onChanged();
   4068         } else {
   4069           localIdentity_ = null;
   4070           localIdentityBuilder_ = null;
   4071         }
   4072 
   4073         return this;
   4074       }
   4075       /**
   4076        * <pre>
   4077        * (Optional) Application may specify a local identity. Otherwise, the
   4078        * handshaker chooses a default local identity.
   4079        * </pre>
   4080        *
   4081        * <code>.grpc.gcp.Identity local_identity = 5;</code>
   4082        */
   4083       public io.grpc.alts.internal.Handshaker.Identity.Builder getLocalIdentityBuilder() {
   4084 
   4085         onChanged();
   4086         return getLocalIdentityFieldBuilder().getBuilder();
   4087       }
   4088       /**
   4089        * <pre>
   4090        * (Optional) Application may specify a local identity. Otherwise, the
   4091        * handshaker chooses a default local identity.
   4092        * </pre>
   4093        *
   4094        * <code>.grpc.gcp.Identity local_identity = 5;</code>
   4095        */
   4096       public io.grpc.alts.internal.Handshaker.IdentityOrBuilder getLocalIdentityOrBuilder() {
   4097         if (localIdentityBuilder_ != null) {
   4098           return localIdentityBuilder_.getMessageOrBuilder();
   4099         } else {
   4100           return localIdentity_ == null ?
   4101               io.grpc.alts.internal.Handshaker.Identity.getDefaultInstance() : localIdentity_;
   4102         }
   4103       }
   4104       /**
   4105        * <pre>
   4106        * (Optional) Application may specify a local identity. Otherwise, the
   4107        * handshaker chooses a default local identity.
   4108        * </pre>
   4109        *
   4110        * <code>.grpc.gcp.Identity local_identity = 5;</code>
   4111        */
   4112       private com.google.protobuf.SingleFieldBuilderV3<
   4113           io.grpc.alts.internal.Handshaker.Identity, io.grpc.alts.internal.Handshaker.Identity.Builder, io.grpc.alts.internal.Handshaker.IdentityOrBuilder>
   4114           getLocalIdentityFieldBuilder() {
   4115         if (localIdentityBuilder_ == null) {
   4116           localIdentityBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
   4117               io.grpc.alts.internal.Handshaker.Identity, io.grpc.alts.internal.Handshaker.Identity.Builder, io.grpc.alts.internal.Handshaker.IdentityOrBuilder>(
   4118                   getLocalIdentity(),
   4119                   getParentForChildren(),
   4120                   isClean());
   4121           localIdentity_ = null;
   4122         }
   4123         return localIdentityBuilder_;
   4124       }
   4125 
   4126       private io.grpc.alts.internal.Handshaker.Endpoint localEndpoint_ = null;
   4127       private com.google.protobuf.SingleFieldBuilderV3<
   4128           io.grpc.alts.internal.Handshaker.Endpoint, io.grpc.alts.internal.Handshaker.Endpoint.Builder, io.grpc.alts.internal.Handshaker.EndpointOrBuilder> localEndpointBuilder_;
   4129       /**
   4130        * <pre>
   4131        * (Optional) Local endpoint information of the connection to the server,
   4132        * such as local IP address, port number, and network protocol.
   4133        * </pre>
   4134        *
   4135        * <code>.grpc.gcp.Endpoint local_endpoint = 6;</code>
   4136        */
   4137       public boolean hasLocalEndpoint() {
   4138         return localEndpointBuilder_ != null || localEndpoint_ != null;
   4139       }
   4140       /**
   4141        * <pre>
   4142        * (Optional) Local endpoint information of the connection to the server,
   4143        * such as local IP address, port number, and network protocol.
   4144        * </pre>
   4145        *
   4146        * <code>.grpc.gcp.Endpoint local_endpoint = 6;</code>
   4147        */
   4148       public io.grpc.alts.internal.Handshaker.Endpoint getLocalEndpoint() {
   4149         if (localEndpointBuilder_ == null) {
   4150           return localEndpoint_ == null ? io.grpc.alts.internal.Handshaker.Endpoint.getDefaultInstance() : localEndpoint_;
   4151         } else {
   4152           return localEndpointBuilder_.getMessage();
   4153         }
   4154       }
   4155       /**
   4156        * <pre>
   4157        * (Optional) Local endpoint information of the connection to the server,
   4158        * such as local IP address, port number, and network protocol.
   4159        * </pre>
   4160        *
   4161        * <code>.grpc.gcp.Endpoint local_endpoint = 6;</code>
   4162        */
   4163       public Builder setLocalEndpoint(io.grpc.alts.internal.Handshaker.Endpoint value) {
   4164         if (localEndpointBuilder_ == null) {
   4165           if (value == null) {
   4166             throw new NullPointerException();
   4167           }
   4168           localEndpoint_ = value;
   4169           onChanged();
   4170         } else {
   4171           localEndpointBuilder_.setMessage(value);
   4172         }
   4173 
   4174         return this;
   4175       }
   4176       /**
   4177        * <pre>
   4178        * (Optional) Local endpoint information of the connection to the server,
   4179        * such as local IP address, port number, and network protocol.
   4180        * </pre>
   4181        *
   4182        * <code>.grpc.gcp.Endpoint local_endpoint = 6;</code>
   4183        */
   4184       public Builder setLocalEndpoint(
   4185           io.grpc.alts.internal.Handshaker.Endpoint.Builder builderForValue) {
   4186         if (localEndpointBuilder_ == null) {
   4187           localEndpoint_ = builderForValue.build();
   4188           onChanged();
   4189         } else {
   4190           localEndpointBuilder_.setMessage(builderForValue.build());
   4191         }
   4192 
   4193         return this;
   4194       }
   4195       /**
   4196        * <pre>
   4197        * (Optional) Local endpoint information of the connection to the server,
   4198        * such as local IP address, port number, and network protocol.
   4199        * </pre>
   4200        *
   4201        * <code>.grpc.gcp.Endpoint local_endpoint = 6;</code>
   4202        */
   4203       public Builder mergeLocalEndpoint(io.grpc.alts.internal.Handshaker.Endpoint value) {
   4204         if (localEndpointBuilder_ == null) {
   4205           if (localEndpoint_ != null) {
   4206             localEndpoint_ =
   4207               io.grpc.alts.internal.Handshaker.Endpoint.newBuilder(localEndpoint_).mergeFrom(value).buildPartial();
   4208           } else {
   4209             localEndpoint_ = value;
   4210           }
   4211           onChanged();
   4212         } else {
   4213           localEndpointBuilder_.mergeFrom(value);
   4214         }
   4215 
   4216         return this;
   4217       }
   4218       /**
   4219        * <pre>
   4220        * (Optional) Local endpoint information of the connection to the server,
   4221        * such as local IP address, port number, and network protocol.
   4222        * </pre>
   4223        *
   4224        * <code>.grpc.gcp.Endpoint local_endpoint = 6;</code>
   4225        */
   4226       public Builder clearLocalEndpoint() {
   4227         if (localEndpointBuilder_ == null) {
   4228           localEndpoint_ = null;
   4229           onChanged();
   4230         } else {
   4231           localEndpoint_ = null;
   4232           localEndpointBuilder_ = null;
   4233         }
   4234 
   4235         return this;
   4236       }
   4237       /**
   4238        * <pre>
   4239        * (Optional) Local endpoint information of the connection to the server,
   4240        * such as local IP address, port number, and network protocol.
   4241        * </pre>
   4242        *
   4243        * <code>.grpc.gcp.Endpoint local_endpoint = 6;</code>
   4244        */
   4245       public io.grpc.alts.internal.Handshaker.Endpoint.Builder getLocalEndpointBuilder() {
   4246 
   4247         onChanged();
   4248         return getLocalEndpointFieldBuilder().getBuilder();
   4249       }
   4250       /**
   4251        * <pre>
   4252        * (Optional) Local endpoint information of the connection to the server,
   4253        * such as local IP address, port number, and network protocol.
   4254        * </pre>
   4255        *
   4256        * <code>.grpc.gcp.Endpoint local_endpoint = 6;</code>
   4257        */
   4258       public io.grpc.alts.internal.Handshaker.EndpointOrBuilder getLocalEndpointOrBuilder() {
   4259         if (localEndpointBuilder_ != null) {
   4260           return localEndpointBuilder_.getMessageOrBuilder();
   4261         } else {
   4262           return localEndpoint_ == null ?
   4263               io.grpc.alts.internal.Handshaker.Endpoint.getDefaultInstance() : localEndpoint_;
   4264         }
   4265       }
   4266       /**
   4267        * <pre>
   4268        * (Optional) Local endpoint information of the connection to the server,
   4269        * such as local IP address, port number, and network protocol.
   4270        * </pre>
   4271        *
   4272        * <code>.grpc.gcp.Endpoint local_endpoint = 6;</code>
   4273        */
   4274       private com.google.protobuf.SingleFieldBuilderV3<
   4275           io.grpc.alts.internal.Handshaker.Endpoint, io.grpc.alts.internal.Handshaker.Endpoint.Builder, io.grpc.alts.internal.Handshaker.EndpointOrBuilder>
   4276           getLocalEndpointFieldBuilder() {
   4277         if (localEndpointBuilder_ == null) {
   4278           localEndpointBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
   4279               io.grpc.alts.internal.Handshaker.Endpoint, io.grpc.alts.internal.Handshaker.Endpoint.Builder, io.grpc.alts.internal.Handshaker.EndpointOrBuilder>(
   4280                   getLocalEndpoint(),
   4281                   getParentForChildren(),
   4282                   isClean());
   4283           localEndpoint_ = null;
   4284         }
   4285         return localEndpointBuilder_;
   4286       }
   4287 
   4288       private io.grpc.alts.internal.Handshaker.Endpoint remoteEndpoint_ = null;
   4289       private com.google.protobuf.SingleFieldBuilderV3<
   4290           io.grpc.alts.internal.Handshaker.Endpoint, io.grpc.alts.internal.Handshaker.Endpoint.Builder, io.grpc.alts.internal.Handshaker.EndpointOrBuilder> remoteEndpointBuilder_;
   4291       /**
   4292        * <pre>
   4293        * (Optional) Endpoint information of the remote server, such as IP address,
   4294        * port number, and network protocol.
   4295        * </pre>
   4296        *
   4297        * <code>.grpc.gcp.Endpoint remote_endpoint = 7;</code>
   4298        */
   4299       public boolean hasRemoteEndpoint() {
   4300         return remoteEndpointBuilder_ != null || remoteEndpoint_ != null;
   4301       }
   4302       /**
   4303        * <pre>
   4304        * (Optional) Endpoint information of the remote server, such as IP address,
   4305        * port number, and network protocol.
   4306        * </pre>
   4307        *
   4308        * <code>.grpc.gcp.Endpoint remote_endpoint = 7;</code>
   4309        */
   4310       public io.grpc.alts.internal.Handshaker.Endpoint getRemoteEndpoint() {
   4311         if (remoteEndpointBuilder_ == null) {
   4312           return remoteEndpoint_ == null ? io.grpc.alts.internal.Handshaker.Endpoint.getDefaultInstance() : remoteEndpoint_;
   4313         } else {
   4314           return remoteEndpointBuilder_.getMessage();
   4315         }
   4316       }
   4317       /**
   4318        * <pre>
   4319        * (Optional) Endpoint information of the remote server, such as IP address,
   4320        * port number, and network protocol.
   4321        * </pre>
   4322        *
   4323        * <code>.grpc.gcp.Endpoint remote_endpoint = 7;</code>
   4324        */
   4325       public Builder setRemoteEndpoint(io.grpc.alts.internal.Handshaker.Endpoint value) {
   4326         if (remoteEndpointBuilder_ == null) {
   4327           if (value == null) {
   4328             throw new NullPointerException();
   4329           }
   4330           remoteEndpoint_ = value;
   4331           onChanged();
   4332         } else {
   4333           remoteEndpointBuilder_.setMessage(value);
   4334         }
   4335 
   4336         return this;
   4337       }
   4338       /**
   4339        * <pre>
   4340        * (Optional) Endpoint information of the remote server, such as IP address,
   4341        * port number, and network protocol.
   4342        * </pre>
   4343        *
   4344        * <code>.grpc.gcp.Endpoint remote_endpoint = 7;</code>
   4345        */
   4346       public Builder setRemoteEndpoint(
   4347           io.grpc.alts.internal.Handshaker.Endpoint.Builder builderForValue) {
   4348         if (remoteEndpointBuilder_ == null) {
   4349           remoteEndpoint_ = builderForValue.build();
   4350           onChanged();
   4351         } else {
   4352           remoteEndpointBuilder_.setMessage(builderForValue.build());
   4353         }
   4354 
   4355         return this;
   4356       }
   4357       /**
   4358        * <pre>
   4359        * (Optional) Endpoint information of the remote server, such as IP address,
   4360        * port number, and network protocol.
   4361        * </pre>
   4362        *
   4363        * <code>.grpc.gcp.Endpoint remote_endpoint = 7;</code>
   4364        */
   4365       public Builder mergeRemoteEndpoint(io.grpc.alts.internal.Handshaker.Endpoint value) {
   4366         if (remoteEndpointBuilder_ == null) {
   4367           if (remoteEndpoint_ != null) {
   4368             remoteEndpoint_ =
   4369               io.grpc.alts.internal.Handshaker.Endpoint.newBuilder(remoteEndpoint_).mergeFrom(value).buildPartial();
   4370           } else {
   4371             remoteEndpoint_ = value;
   4372           }
   4373           onChanged();
   4374         } else {
   4375           remoteEndpointBuilder_.mergeFrom(value);
   4376         }
   4377 
   4378         return this;
   4379       }
   4380       /**
   4381        * <pre>
   4382        * (Optional) Endpoint information of the remote server, such as IP address,
   4383        * port number, and network protocol.
   4384        * </pre>
   4385        *
   4386        * <code>.grpc.gcp.Endpoint remote_endpoint = 7;</code>
   4387        */
   4388       public Builder clearRemoteEndpoint() {
   4389         if (remoteEndpointBuilder_ == null) {
   4390           remoteEndpoint_ = null;
   4391           onChanged();
   4392         } else {
   4393           remoteEndpoint_ = null;
   4394           remoteEndpointBuilder_ = null;
   4395         }
   4396 
   4397         return this;
   4398       }
   4399       /**
   4400        * <pre>
   4401        * (Optional) Endpoint information of the remote server, such as IP address,
   4402        * port number, and network protocol.
   4403        * </pre>
   4404        *
   4405        * <code>.grpc.gcp.Endpoint remote_endpoint = 7;</code>
   4406        */
   4407       public io.grpc.alts.internal.Handshaker.Endpoint.Builder getRemoteEndpointBuilder() {
   4408 
   4409         onChanged();
   4410         return getRemoteEndpointFieldBuilder().getBuilder();
   4411       }
   4412       /**
   4413        * <pre>
   4414        * (Optional) Endpoint information of the remote server, such as IP address,
   4415        * port number, and network protocol.
   4416        * </pre>
   4417        *
   4418        * <code>.grpc.gcp.Endpoint remote_endpoint = 7;</code>
   4419        */
   4420       public io.grpc.alts.internal.Handshaker.EndpointOrBuilder getRemoteEndpointOrBuilder() {
   4421         if (remoteEndpointBuilder_ != null) {
   4422           return remoteEndpointBuilder_.getMessageOrBuilder();
   4423         } else {
   4424           return remoteEndpoint_ == null ?
   4425               io.grpc.alts.internal.Handshaker.Endpoint.getDefaultInstance() : remoteEndpoint_;
   4426         }
   4427       }
   4428       /**
   4429        * <pre>
   4430        * (Optional) Endpoint information of the remote server, such as IP address,
   4431        * port number, and network protocol.
   4432        * </pre>
   4433        *
   4434        * <code>.grpc.gcp.Endpoint remote_endpoint = 7;</code>
   4435        */
   4436       private com.google.protobuf.SingleFieldBuilderV3<
   4437           io.grpc.alts.internal.Handshaker.Endpoint, io.grpc.alts.internal.Handshaker.Endpoint.Builder, io.grpc.alts.internal.Handshaker.EndpointOrBuilder>
   4438           getRemoteEndpointFieldBuilder() {
   4439         if (remoteEndpointBuilder_ == null) {
   4440           remoteEndpointBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
   4441               io.grpc.alts.internal.Handshaker.Endpoint, io.grpc.alts.internal.Handshaker.Endpoint.Builder, io.grpc.alts.internal.Handshaker.EndpointOrBuilder>(
   4442                   getRemoteEndpoint(),
   4443                   getParentForChildren(),
   4444                   isClean());
   4445           remoteEndpoint_ = null;
   4446         }
   4447         return remoteEndpointBuilder_;
   4448       }
   4449 
   4450       private java.lang.Object targetName_ = "";
   4451       /**
   4452        * <pre>
   4453        * (Optional) If target name is provided, a secure naming check is performed
   4454        * to verify that the peer authenticated identity is indeed authorized to run
   4455        * the target name.
   4456        * </pre>
   4457        *
   4458        * <code>string target_name = 8;</code>
   4459        */
   4460       public java.lang.String getTargetName() {
   4461         java.lang.Object ref = targetName_;
   4462         if (!(ref instanceof java.lang.String)) {
   4463           com.google.protobuf.ByteString bs =
   4464               (com.google.protobuf.ByteString) ref;
   4465           java.lang.String s = bs.toStringUtf8();
   4466           targetName_ = s;
   4467           return s;
   4468         } else {
   4469           return (java.lang.String) ref;
   4470         }
   4471       }
   4472       /**
   4473        * <pre>
   4474        * (Optional) If target name is provided, a secure naming check is performed
   4475        * to verify that the peer authenticated identity is indeed authorized to run
   4476        * the target name.
   4477        * </pre>
   4478        *
   4479        * <code>string target_name = 8;</code>
   4480        */
   4481       public com.google.protobuf.ByteString
   4482           getTargetNameBytes() {
   4483         java.lang.Object ref = targetName_;
   4484         if (ref instanceof String) {
   4485           com.google.protobuf.ByteString b =
   4486               com.google.protobuf.ByteString.copyFromUtf8(
   4487                   (java.lang.String) ref);
   4488           targetName_ = b;
   4489           return b;
   4490         } else {
   4491           return (com.google.protobuf.ByteString) ref;
   4492         }
   4493       }
   4494       /**
   4495        * <pre>
   4496        * (Optional) If target name is provided, a secure naming check is performed
   4497        * to verify that the peer authenticated identity is indeed authorized to run
   4498        * the target name.
   4499        * </pre>
   4500        *
   4501        * <code>string target_name = 8;</code>
   4502        */
   4503       public Builder setTargetName(
   4504           java.lang.String value) {
   4505         if (value == null) {
   4506     throw new NullPointerException();
   4507   }
   4508 
   4509         targetName_ = value;
   4510         onChanged();
   4511         return this;
   4512       }
   4513       /**
   4514        * <pre>
   4515        * (Optional) If target name is provided, a secure naming check is performed
   4516        * to verify that the peer authenticated identity is indeed authorized to run
   4517        * the target name.
   4518        * </pre>
   4519        *
   4520        * <code>string target_name = 8;</code>
   4521        */
   4522       public Builder clearTargetName() {
   4523 
   4524         targetName_ = getDefaultInstance().getTargetName();
   4525         onChanged();
   4526         return this;
   4527       }
   4528       /**
   4529        * <pre>
   4530        * (Optional) If target name is provided, a secure naming check is performed
   4531        * to verify that the peer authenticated identity is indeed authorized to run
   4532        * the target name.
   4533        * </pre>
   4534        *
   4535        * <code>string target_name = 8;</code>
   4536        */
   4537       public Builder setTargetNameBytes(
   4538           com.google.protobuf.ByteString value) {
   4539         if (value == null) {
   4540     throw new NullPointerException();
   4541   }
   4542   checkByteStringIsUtf8(value);
   4543 
   4544         targetName_ = value;
   4545         onChanged();
   4546         return this;
   4547       }
   4548 
   4549       private io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions rpcVersions_ = null;
   4550       private com.google.protobuf.SingleFieldBuilderV3<
   4551           io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions, io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.Builder, io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersionsOrBuilder> rpcVersionsBuilder_;
   4552       /**
   4553        * <pre>
   4554        * (Optional) RPC protocol versions supported by the client.
   4555        * </pre>
   4556        *
   4557        * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 9;</code>
   4558        */
   4559       public boolean hasRpcVersions() {
   4560         return rpcVersionsBuilder_ != null || rpcVersions_ != null;
   4561       }
   4562       /**
   4563        * <pre>
   4564        * (Optional) RPC protocol versions supported by the client.
   4565        * </pre>
   4566        *
   4567        * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 9;</code>
   4568        */
   4569       public io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions getRpcVersions() {
   4570         if (rpcVersionsBuilder_ == null) {
   4571           return rpcVersions_ == null ? io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.getDefaultInstance() : rpcVersions_;
   4572         } else {
   4573           return rpcVersionsBuilder_.getMessage();
   4574         }
   4575       }
   4576       /**
   4577        * <pre>
   4578        * (Optional) RPC protocol versions supported by the client.
   4579        * </pre>
   4580        *
   4581        * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 9;</code>
   4582        */
   4583       public Builder setRpcVersions(io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions value) {
   4584         if (rpcVersionsBuilder_ == null) {
   4585           if (value == null) {
   4586             throw new NullPointerException();
   4587           }
   4588           rpcVersions_ = value;
   4589           onChanged();
   4590         } else {
   4591           rpcVersionsBuilder_.setMessage(value);
   4592         }
   4593 
   4594         return this;
   4595       }
   4596       /**
   4597        * <pre>
   4598        * (Optional) RPC protocol versions supported by the client.
   4599        * </pre>
   4600        *
   4601        * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 9;</code>
   4602        */
   4603       public Builder setRpcVersions(
   4604           io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.Builder builderForValue) {
   4605         if (rpcVersionsBuilder_ == null) {
   4606           rpcVersions_ = builderForValue.build();
   4607           onChanged();
   4608         } else {
   4609           rpcVersionsBuilder_.setMessage(builderForValue.build());
   4610         }
   4611 
   4612         return this;
   4613       }
   4614       /**
   4615        * <pre>
   4616        * (Optional) RPC protocol versions supported by the client.
   4617        * </pre>
   4618        *
   4619        * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 9;</code>
   4620        */
   4621       public Builder mergeRpcVersions(io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions value) {
   4622         if (rpcVersionsBuilder_ == null) {
   4623           if (rpcVersions_ != null) {
   4624             rpcVersions_ =
   4625               io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.newBuilder(rpcVersions_).mergeFrom(value).buildPartial();
   4626           } else {
   4627             rpcVersions_ = value;
   4628           }
   4629           onChanged();
   4630         } else {
   4631           rpcVersionsBuilder_.mergeFrom(value);
   4632         }
   4633 
   4634         return this;
   4635       }
   4636       /**
   4637        * <pre>
   4638        * (Optional) RPC protocol versions supported by the client.
   4639        * </pre>
   4640        *
   4641        * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 9;</code>
   4642        */
   4643       public Builder clearRpcVersions() {
   4644         if (rpcVersionsBuilder_ == null) {
   4645           rpcVersions_ = null;
   4646           onChanged();
   4647         } else {
   4648           rpcVersions_ = null;
   4649           rpcVersionsBuilder_ = null;
   4650         }
   4651 
   4652         return this;
   4653       }
   4654       /**
   4655        * <pre>
   4656        * (Optional) RPC protocol versions supported by the client.
   4657        * </pre>
   4658        *
   4659        * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 9;</code>
   4660        */
   4661       public io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.Builder getRpcVersionsBuilder() {
   4662 
   4663         onChanged();
   4664         return getRpcVersionsFieldBuilder().getBuilder();
   4665       }
   4666       /**
   4667        * <pre>
   4668        * (Optional) RPC protocol versions supported by the client.
   4669        * </pre>
   4670        *
   4671        * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 9;</code>
   4672        */
   4673       public io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersionsOrBuilder getRpcVersionsOrBuilder() {
   4674         if (rpcVersionsBuilder_ != null) {
   4675           return rpcVersionsBuilder_.getMessageOrBuilder();
   4676         } else {
   4677           return rpcVersions_ == null ?
   4678               io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.getDefaultInstance() : rpcVersions_;
   4679         }
   4680       }
   4681       /**
   4682        * <pre>
   4683        * (Optional) RPC protocol versions supported by the client.
   4684        * </pre>
   4685        *
   4686        * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 9;</code>
   4687        */
   4688       private com.google.protobuf.SingleFieldBuilderV3<
   4689           io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions, io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.Builder, io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersionsOrBuilder>
   4690           getRpcVersionsFieldBuilder() {
   4691         if (rpcVersionsBuilder_ == null) {
   4692           rpcVersionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
   4693               io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions, io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.Builder, io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersionsOrBuilder>(
   4694                   getRpcVersions(),
   4695                   getParentForChildren(),
   4696                   isClean());
   4697           rpcVersions_ = null;
   4698         }
   4699         return rpcVersionsBuilder_;
   4700       }
   4701       public final Builder setUnknownFields(
   4702           final com.google.protobuf.UnknownFieldSet unknownFields) {
   4703         return super.setUnknownFieldsProto3(unknownFields);
   4704       }
   4705 
   4706       public final Builder mergeUnknownFields(
   4707           final com.google.protobuf.UnknownFieldSet unknownFields) {
   4708         return super.mergeUnknownFields(unknownFields);
   4709       }
   4710 
   4711 
   4712       // @@protoc_insertion_point(builder_scope:grpc.gcp.StartClientHandshakeReq)
   4713     }
   4714 
   4715     // @@protoc_insertion_point(class_scope:grpc.gcp.StartClientHandshakeReq)
   4716     private static final io.grpc.alts.internal.Handshaker.StartClientHandshakeReq DEFAULT_INSTANCE;
   4717     static {
   4718       DEFAULT_INSTANCE = new io.grpc.alts.internal.Handshaker.StartClientHandshakeReq();
   4719     }
   4720 
   4721     public static io.grpc.alts.internal.Handshaker.StartClientHandshakeReq getDefaultInstance() {
   4722       return DEFAULT_INSTANCE;
   4723     }
   4724 
   4725     private static final com.google.protobuf.Parser<StartClientHandshakeReq>
   4726         PARSER = new com.google.protobuf.AbstractParser<StartClientHandshakeReq>() {
   4727       public StartClientHandshakeReq parsePartialFrom(
   4728           com.google.protobuf.CodedInputStream input,
   4729           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   4730           throws com.google.protobuf.InvalidProtocolBufferException {
   4731         return new StartClientHandshakeReq(input, extensionRegistry);
   4732       }
   4733     };
   4734 
   4735     public static com.google.protobuf.Parser<StartClientHandshakeReq> parser() {
   4736       return PARSER;
   4737     }
   4738 
   4739     @java.lang.Override
   4740     public com.google.protobuf.Parser<StartClientHandshakeReq> getParserForType() {
   4741       return PARSER;
   4742     }
   4743 
   4744     public io.grpc.alts.internal.Handshaker.StartClientHandshakeReq getDefaultInstanceForType() {
   4745       return DEFAULT_INSTANCE;
   4746     }
   4747 
   4748   }
   4749 
   4750   public interface ServerHandshakeParametersOrBuilder extends
   4751       // @@protoc_insertion_point(interface_extends:grpc.gcp.ServerHandshakeParameters)
   4752       com.google.protobuf.MessageOrBuilder {
   4753 
   4754     /**
   4755      * <pre>
   4756      * The record protocols supported by the server, e.g.,
   4757      * "ALTSRP_GCM_AES128".
   4758      * </pre>
   4759      *
   4760      * <code>repeated string record_protocols = 1;</code>
   4761      */
   4762     java.util.List<java.lang.String>
   4763         getRecordProtocolsList();
   4764     /**
   4765      * <pre>
   4766      * The record protocols supported by the server, e.g.,
   4767      * "ALTSRP_GCM_AES128".
   4768      * </pre>
   4769      *
   4770      * <code>repeated string record_protocols = 1;</code>
   4771      */
   4772     int getRecordProtocolsCount();
   4773     /**
   4774      * <pre>
   4775      * The record protocols supported by the server, e.g.,
   4776      * "ALTSRP_GCM_AES128".
   4777      * </pre>
   4778      *
   4779      * <code>repeated string record_protocols = 1;</code>
   4780      */
   4781     java.lang.String getRecordProtocols(int index);
   4782     /**
   4783      * <pre>
   4784      * The record protocols supported by the server, e.g.,
   4785      * "ALTSRP_GCM_AES128".
   4786      * </pre>
   4787      *
   4788      * <code>repeated string record_protocols = 1;</code>
   4789      */
   4790     com.google.protobuf.ByteString
   4791         getRecordProtocolsBytes(int index);
   4792 
   4793     /**
   4794      * <pre>
   4795      * (Optional) A list of local identities supported by the server, if
   4796      * specified. Otherwise, the handshaker chooses a default local identity.
   4797      * </pre>
   4798      *
   4799      * <code>repeated .grpc.gcp.Identity local_identities = 2;</code>
   4800      */
   4801     java.util.List<io.grpc.alts.internal.Handshaker.Identity>
   4802         getLocalIdentitiesList();
   4803     /**
   4804      * <pre>
   4805      * (Optional) A list of local identities supported by the server, if
   4806      * specified. Otherwise, the handshaker chooses a default local identity.
   4807      * </pre>
   4808      *
   4809      * <code>repeated .grpc.gcp.Identity local_identities = 2;</code>
   4810      */
   4811     io.grpc.alts.internal.Handshaker.Identity getLocalIdentities(int index);
   4812     /**
   4813      * <pre>
   4814      * (Optional) A list of local identities supported by the server, if
   4815      * specified. Otherwise, the handshaker chooses a default local identity.
   4816      * </pre>
   4817      *
   4818      * <code>repeated .grpc.gcp.Identity local_identities = 2;</code>
   4819      */
   4820     int getLocalIdentitiesCount();
   4821     /**
   4822      * <pre>
   4823      * (Optional) A list of local identities supported by the server, if
   4824      * specified. Otherwise, the handshaker chooses a default local identity.
   4825      * </pre>
   4826      *
   4827      * <code>repeated .grpc.gcp.Identity local_identities = 2;</code>
   4828      */
   4829     java.util.List<? extends io.grpc.alts.internal.Handshaker.IdentityOrBuilder>
   4830         getLocalIdentitiesOrBuilderList();
   4831     /**
   4832      * <pre>
   4833      * (Optional) A list of local identities supported by the server, if
   4834      * specified. Otherwise, the handshaker chooses a default local identity.
   4835      * </pre>
   4836      *
   4837      * <code>repeated .grpc.gcp.Identity local_identities = 2;</code>
   4838      */
   4839     io.grpc.alts.internal.Handshaker.IdentityOrBuilder getLocalIdentitiesOrBuilder(
   4840         int index);
   4841   }
   4842   /**
   4843    * Protobuf type {@code grpc.gcp.ServerHandshakeParameters}
   4844    */
   4845   public  static final class ServerHandshakeParameters extends
   4846       com.google.protobuf.GeneratedMessageV3 implements
   4847       // @@protoc_insertion_point(message_implements:grpc.gcp.ServerHandshakeParameters)
   4848       ServerHandshakeParametersOrBuilder {
   4849   private static final long serialVersionUID = 0L;
   4850     // Use ServerHandshakeParameters.newBuilder() to construct.
   4851     private ServerHandshakeParameters(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
   4852       super(builder);
   4853     }
   4854     private ServerHandshakeParameters() {
   4855       recordProtocols_ = com.google.protobuf.LazyStringArrayList.EMPTY;
   4856       localIdentities_ = java.util.Collections.emptyList();
   4857     }
   4858 
   4859     @java.lang.Override
   4860     public final com.google.protobuf.UnknownFieldSet
   4861     getUnknownFields() {
   4862       return this.unknownFields;
   4863     }
   4864     private ServerHandshakeParameters(
   4865         com.google.protobuf.CodedInputStream input,
   4866         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   4867         throws com.google.protobuf.InvalidProtocolBufferException {
   4868       this();
   4869       if (extensionRegistry == null) {
   4870         throw new java.lang.NullPointerException();
   4871       }
   4872       int mutable_bitField0_ = 0;
   4873       com.google.protobuf.UnknownFieldSet.Builder unknownFields =
   4874           com.google.protobuf.UnknownFieldSet.newBuilder();
   4875       try {
   4876         boolean done = false;
   4877         while (!done) {
   4878           int tag = input.readTag();
   4879           switch (tag) {
   4880             case 0:
   4881               done = true;
   4882               break;
   4883             default: {
   4884               if (!parseUnknownFieldProto3(
   4885                   input, unknownFields, extensionRegistry, tag)) {
   4886                 done = true;
   4887               }
   4888               break;
   4889             }
   4890             case 10: {
   4891               java.lang.String s = input.readStringRequireUtf8();
   4892               if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
   4893                 recordProtocols_ = new com.google.protobuf.LazyStringArrayList();
   4894                 mutable_bitField0_ |= 0x00000001;
   4895               }
   4896               recordProtocols_.add(s);
   4897               break;
   4898             }
   4899             case 18: {
   4900               if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
   4901                 localIdentities_ = new java.util.ArrayList<io.grpc.alts.internal.Handshaker.Identity>();
   4902                 mutable_bitField0_ |= 0x00000002;
   4903               }
   4904               localIdentities_.add(
   4905                   input.readMessage(io.grpc.alts.internal.Handshaker.Identity.parser(), extensionRegistry));
   4906               break;
   4907             }
   4908           }
   4909         }
   4910       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
   4911         throw e.setUnfinishedMessage(this);
   4912       } catch (java.io.IOException e) {
   4913         throw new com.google.protobuf.InvalidProtocolBufferException(
   4914             e).setUnfinishedMessage(this);
   4915       } finally {
   4916         if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
   4917           recordProtocols_ = recordProtocols_.getUnmodifiableView();
   4918         }
   4919         if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
   4920           localIdentities_ = java.util.Collections.unmodifiableList(localIdentities_);
   4921         }
   4922         this.unknownFields = unknownFields.build();
   4923         makeExtensionsImmutable();
   4924       }
   4925     }
   4926     public static final com.google.protobuf.Descriptors.Descriptor
   4927         getDescriptor() {
   4928       return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_ServerHandshakeParameters_descriptor;
   4929     }
   4930 
   4931     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
   4932         internalGetFieldAccessorTable() {
   4933       return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_ServerHandshakeParameters_fieldAccessorTable
   4934           .ensureFieldAccessorsInitialized(
   4935               io.grpc.alts.internal.Handshaker.ServerHandshakeParameters.class, io.grpc.alts.internal.Handshaker.ServerHandshakeParameters.Builder.class);
   4936     }
   4937 
   4938     public static final int RECORD_PROTOCOLS_FIELD_NUMBER = 1;
   4939     private com.google.protobuf.LazyStringList recordProtocols_;
   4940     /**
   4941      * <pre>
   4942      * The record protocols supported by the server, e.g.,
   4943      * "ALTSRP_GCM_AES128".
   4944      * </pre>
   4945      *
   4946      * <code>repeated string record_protocols = 1;</code>
   4947      */
   4948     public com.google.protobuf.ProtocolStringList
   4949         getRecordProtocolsList() {
   4950       return recordProtocols_;
   4951     }
   4952     /**
   4953      * <pre>
   4954      * The record protocols supported by the server, e.g.,
   4955      * "ALTSRP_GCM_AES128".
   4956      * </pre>
   4957      *
   4958      * <code>repeated string record_protocols = 1;</code>
   4959      */
   4960     public int getRecordProtocolsCount() {
   4961       return recordProtocols_.size();
   4962     }
   4963     /**
   4964      * <pre>
   4965      * The record protocols supported by the server, e.g.,
   4966      * "ALTSRP_GCM_AES128".
   4967      * </pre>
   4968      *
   4969      * <code>repeated string record_protocols = 1;</code>
   4970      */
   4971     public java.lang.String getRecordProtocols(int index) {
   4972       return recordProtocols_.get(index);
   4973     }
   4974     /**
   4975      * <pre>
   4976      * The record protocols supported by the server, e.g.,
   4977      * "ALTSRP_GCM_AES128".
   4978      * </pre>
   4979      *
   4980      * <code>repeated string record_protocols = 1;</code>
   4981      */
   4982     public com.google.protobuf.ByteString
   4983         getRecordProtocolsBytes(int index) {
   4984       return recordProtocols_.getByteString(index);
   4985     }
   4986 
   4987     public static final int LOCAL_IDENTITIES_FIELD_NUMBER = 2;
   4988     private java.util.List<io.grpc.alts.internal.Handshaker.Identity> localIdentities_;
   4989     /**
   4990      * <pre>
   4991      * (Optional) A list of local identities supported by the server, if
   4992      * specified. Otherwise, the handshaker chooses a default local identity.
   4993      * </pre>
   4994      *
   4995      * <code>repeated .grpc.gcp.Identity local_identities = 2;</code>
   4996      */
   4997     public java.util.List<io.grpc.alts.internal.Handshaker.Identity> getLocalIdentitiesList() {
   4998       return localIdentities_;
   4999     }
   5000     /**
   5001      * <pre>
   5002      * (Optional) A list of local identities supported by the server, if
   5003      * specified. Otherwise, the handshaker chooses a default local identity.
   5004      * </pre>
   5005      *
   5006      * <code>repeated .grpc.gcp.Identity local_identities = 2;</code>
   5007      */
   5008     public java.util.List<? extends io.grpc.alts.internal.Handshaker.IdentityOrBuilder>
   5009         getLocalIdentitiesOrBuilderList() {
   5010       return localIdentities_;
   5011     }
   5012     /**
   5013      * <pre>
   5014      * (Optional) A list of local identities supported by the server, if
   5015      * specified. Otherwise, the handshaker chooses a default local identity.
   5016      * </pre>
   5017      *
   5018      * <code>repeated .grpc.gcp.Identity local_identities = 2;</code>
   5019      */
   5020     public int getLocalIdentitiesCount() {
   5021       return localIdentities_.size();
   5022     }
   5023     /**
   5024      * <pre>
   5025      * (Optional) A list of local identities supported by the server, if
   5026      * specified. Otherwise, the handshaker chooses a default local identity.
   5027      * </pre>
   5028      *
   5029      * <code>repeated .grpc.gcp.Identity local_identities = 2;</code>
   5030      */
   5031     public io.grpc.alts.internal.Handshaker.Identity getLocalIdentities(int index) {
   5032       return localIdentities_.get(index);
   5033     }
   5034     /**
   5035      * <pre>
   5036      * (Optional) A list of local identities supported by the server, if
   5037      * specified. Otherwise, the handshaker chooses a default local identity.
   5038      * </pre>
   5039      *
   5040      * <code>repeated .grpc.gcp.Identity local_identities = 2;</code>
   5041      */
   5042     public io.grpc.alts.internal.Handshaker.IdentityOrBuilder getLocalIdentitiesOrBuilder(
   5043         int index) {
   5044       return localIdentities_.get(index);
   5045     }
   5046 
   5047     private byte memoizedIsInitialized = -1;
   5048     public final boolean isInitialized() {
   5049       byte isInitialized = memoizedIsInitialized;
   5050       if (isInitialized == 1) return true;
   5051       if (isInitialized == 0) return false;
   5052 
   5053       memoizedIsInitialized = 1;
   5054       return true;
   5055     }
   5056 
   5057     public void writeTo(com.google.protobuf.CodedOutputStream output)
   5058                         throws java.io.IOException {
   5059       for (int i = 0; i < recordProtocols_.size(); i++) {
   5060         com.google.protobuf.GeneratedMessageV3.writeString(output, 1, recordProtocols_.getRaw(i));
   5061       }
   5062       for (int i = 0; i < localIdentities_.size(); i++) {
   5063         output.writeMessage(2, localIdentities_.get(i));
   5064       }
   5065       unknownFields.writeTo(output);
   5066     }
   5067 
   5068     public int getSerializedSize() {
   5069       int size = memoizedSize;
   5070       if (size != -1) return size;
   5071 
   5072       size = 0;
   5073       {
   5074         int dataSize = 0;
   5075         for (int i = 0; i < recordProtocols_.size(); i++) {
   5076           dataSize += computeStringSizeNoTag(recordProtocols_.getRaw(i));
   5077         }
   5078         size += dataSize;
   5079         size += 1 * getRecordProtocolsList().size();
   5080       }
   5081       for (int i = 0; i < localIdentities_.size(); i++) {
   5082         size += com.google.protobuf.CodedOutputStream
   5083           .computeMessageSize(2, localIdentities_.get(i));
   5084       }
   5085       size += unknownFields.getSerializedSize();
   5086       memoizedSize = size;
   5087       return size;
   5088     }
   5089 
   5090     @java.lang.Override
   5091     public boolean equals(final java.lang.Object obj) {
   5092       if (obj == this) {
   5093        return true;
   5094       }
   5095       if (!(obj instanceof io.grpc.alts.internal.Handshaker.ServerHandshakeParameters)) {
   5096         return super.equals(obj);
   5097       }
   5098       io.grpc.alts.internal.Handshaker.ServerHandshakeParameters other = (io.grpc.alts.internal.Handshaker.ServerHandshakeParameters) obj;
   5099 
   5100       boolean result = true;
   5101       result = result && getRecordProtocolsList()
   5102           .equals(other.getRecordProtocolsList());
   5103       result = result && getLocalIdentitiesList()
   5104           .equals(other.getLocalIdentitiesList());
   5105       result = result && unknownFields.equals(other.unknownFields);
   5106       return result;
   5107     }
   5108 
   5109     @java.lang.Override
   5110     public int hashCode() {
   5111       if (memoizedHashCode != 0) {
   5112         return memoizedHashCode;
   5113       }
   5114       int hash = 41;
   5115       hash = (19 * hash) + getDescriptor().hashCode();
   5116       if (getRecordProtocolsCount() > 0) {
   5117         hash = (37 * hash) + RECORD_PROTOCOLS_FIELD_NUMBER;
   5118         hash = (53 * hash) + getRecordProtocolsList().hashCode();
   5119       }
   5120       if (getLocalIdentitiesCount() > 0) {
   5121         hash = (37 * hash) + LOCAL_IDENTITIES_FIELD_NUMBER;
   5122         hash = (53 * hash) + getLocalIdentitiesList().hashCode();
   5123       }
   5124       hash = (29 * hash) + unknownFields.hashCode();
   5125       memoizedHashCode = hash;
   5126       return hash;
   5127     }
   5128 
   5129     public static io.grpc.alts.internal.Handshaker.ServerHandshakeParameters parseFrom(
   5130         java.nio.ByteBuffer data)
   5131         throws com.google.protobuf.InvalidProtocolBufferException {
   5132       return PARSER.parseFrom(data);
   5133     }
   5134     public static io.grpc.alts.internal.Handshaker.ServerHandshakeParameters parseFrom(
   5135         java.nio.ByteBuffer data,
   5136         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   5137         throws com.google.protobuf.InvalidProtocolBufferException {
   5138       return PARSER.parseFrom(data, extensionRegistry);
   5139     }
   5140     public static io.grpc.alts.internal.Handshaker.ServerHandshakeParameters parseFrom(
   5141         com.google.protobuf.ByteString data)
   5142         throws com.google.protobuf.InvalidProtocolBufferException {
   5143       return PARSER.parseFrom(data);
   5144     }
   5145     public static io.grpc.alts.internal.Handshaker.ServerHandshakeParameters parseFrom(
   5146         com.google.protobuf.ByteString data,
   5147         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   5148         throws com.google.protobuf.InvalidProtocolBufferException {
   5149       return PARSER.parseFrom(data, extensionRegistry);
   5150     }
   5151     public static io.grpc.alts.internal.Handshaker.ServerHandshakeParameters parseFrom(byte[] data)
   5152         throws com.google.protobuf.InvalidProtocolBufferException {
   5153       return PARSER.parseFrom(data);
   5154     }
   5155     public static io.grpc.alts.internal.Handshaker.ServerHandshakeParameters parseFrom(
   5156         byte[] data,
   5157         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   5158         throws com.google.protobuf.InvalidProtocolBufferException {
   5159       return PARSER.parseFrom(data, extensionRegistry);
   5160     }
   5161     public static io.grpc.alts.internal.Handshaker.ServerHandshakeParameters parseFrom(java.io.InputStream input)
   5162         throws java.io.IOException {
   5163       return com.google.protobuf.GeneratedMessageV3
   5164           .parseWithIOException(PARSER, input);
   5165     }
   5166     public static io.grpc.alts.internal.Handshaker.ServerHandshakeParameters parseFrom(
   5167         java.io.InputStream input,
   5168         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   5169         throws java.io.IOException {
   5170       return com.google.protobuf.GeneratedMessageV3
   5171           .parseWithIOException(PARSER, input, extensionRegistry);
   5172     }
   5173     public static io.grpc.alts.internal.Handshaker.ServerHandshakeParameters parseDelimitedFrom(java.io.InputStream input)
   5174         throws java.io.IOException {
   5175       return com.google.protobuf.GeneratedMessageV3
   5176           .parseDelimitedWithIOException(PARSER, input);
   5177     }
   5178     public static io.grpc.alts.internal.Handshaker.ServerHandshakeParameters parseDelimitedFrom(
   5179         java.io.InputStream input,
   5180         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   5181         throws java.io.IOException {
   5182       return com.google.protobuf.GeneratedMessageV3
   5183           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
   5184     }
   5185     public static io.grpc.alts.internal.Handshaker.ServerHandshakeParameters parseFrom(
   5186         com.google.protobuf.CodedInputStream input)
   5187         throws java.io.IOException {
   5188       return com.google.protobuf.GeneratedMessageV3
   5189           .parseWithIOException(PARSER, input);
   5190     }
   5191     public static io.grpc.alts.internal.Handshaker.ServerHandshakeParameters parseFrom(
   5192         com.google.protobuf.CodedInputStream input,
   5193         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   5194         throws java.io.IOException {
   5195       return com.google.protobuf.GeneratedMessageV3
   5196           .parseWithIOException(PARSER, input, extensionRegistry);
   5197     }
   5198 
   5199     public Builder newBuilderForType() { return newBuilder(); }
   5200     public static Builder newBuilder() {
   5201       return DEFAULT_INSTANCE.toBuilder();
   5202     }
   5203     public static Builder newBuilder(io.grpc.alts.internal.Handshaker.ServerHandshakeParameters prototype) {
   5204       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
   5205     }
   5206     public Builder toBuilder() {
   5207       return this == DEFAULT_INSTANCE
   5208           ? new Builder() : new Builder().mergeFrom(this);
   5209     }
   5210 
   5211     @java.lang.Override
   5212     protected Builder newBuilderForType(
   5213         com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
   5214       Builder builder = new Builder(parent);
   5215       return builder;
   5216     }
   5217     /**
   5218      * Protobuf type {@code grpc.gcp.ServerHandshakeParameters}
   5219      */
   5220     public static final class Builder extends
   5221         com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
   5222         // @@protoc_insertion_point(builder_implements:grpc.gcp.ServerHandshakeParameters)
   5223         io.grpc.alts.internal.Handshaker.ServerHandshakeParametersOrBuilder {
   5224       public static final com.google.protobuf.Descriptors.Descriptor
   5225           getDescriptor() {
   5226         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_ServerHandshakeParameters_descriptor;
   5227       }
   5228 
   5229       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
   5230           internalGetFieldAccessorTable() {
   5231         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_ServerHandshakeParameters_fieldAccessorTable
   5232             .ensureFieldAccessorsInitialized(
   5233                 io.grpc.alts.internal.Handshaker.ServerHandshakeParameters.class, io.grpc.alts.internal.Handshaker.ServerHandshakeParameters.Builder.class);
   5234       }
   5235 
   5236       // Construct using io.grpc.alts.internal.Handshaker.ServerHandshakeParameters.newBuilder()
   5237       private Builder() {
   5238         maybeForceBuilderInitialization();
   5239       }
   5240 
   5241       private Builder(
   5242           com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
   5243         super(parent);
   5244         maybeForceBuilderInitialization();
   5245       }
   5246       private void maybeForceBuilderInitialization() {
   5247         if (com.google.protobuf.GeneratedMessageV3
   5248                 .alwaysUseFieldBuilders) {
   5249           getLocalIdentitiesFieldBuilder();
   5250         }
   5251       }
   5252       public Builder clear() {
   5253         super.clear();
   5254         recordProtocols_ = com.google.protobuf.LazyStringArrayList.EMPTY;
   5255         bitField0_ = (bitField0_ & ~0x00000001);
   5256         if (localIdentitiesBuilder_ == null) {
   5257           localIdentities_ = java.util.Collections.emptyList();
   5258           bitField0_ = (bitField0_ & ~0x00000002);
   5259         } else {
   5260           localIdentitiesBuilder_.clear();
   5261         }
   5262         return this;
   5263       }
   5264 
   5265       public com.google.protobuf.Descriptors.Descriptor
   5266           getDescriptorForType() {
   5267         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_ServerHandshakeParameters_descriptor;
   5268       }
   5269 
   5270       public io.grpc.alts.internal.Handshaker.ServerHandshakeParameters getDefaultInstanceForType() {
   5271         return io.grpc.alts.internal.Handshaker.ServerHandshakeParameters.getDefaultInstance();
   5272       }
   5273 
   5274       public io.grpc.alts.internal.Handshaker.ServerHandshakeParameters build() {
   5275         io.grpc.alts.internal.Handshaker.ServerHandshakeParameters result = buildPartial();
   5276         if (!result.isInitialized()) {
   5277           throw newUninitializedMessageException(result);
   5278         }
   5279         return result;
   5280       }
   5281 
   5282       public io.grpc.alts.internal.Handshaker.ServerHandshakeParameters buildPartial() {
   5283         io.grpc.alts.internal.Handshaker.ServerHandshakeParameters result = new io.grpc.alts.internal.Handshaker.ServerHandshakeParameters(this);
   5284         int from_bitField0_ = bitField0_;
   5285         if (((bitField0_ & 0x00000001) == 0x00000001)) {
   5286           recordProtocols_ = recordProtocols_.getUnmodifiableView();
   5287           bitField0_ = (bitField0_ & ~0x00000001);
   5288         }
   5289         result.recordProtocols_ = recordProtocols_;
   5290         if (localIdentitiesBuilder_ == null) {
   5291           if (((bitField0_ & 0x00000002) == 0x00000002)) {
   5292             localIdentities_ = java.util.Collections.unmodifiableList(localIdentities_);
   5293             bitField0_ = (bitField0_ & ~0x00000002);
   5294           }
   5295           result.localIdentities_ = localIdentities_;
   5296         } else {
   5297           result.localIdentities_ = localIdentitiesBuilder_.build();
   5298         }
   5299         onBuilt();
   5300         return result;
   5301       }
   5302 
   5303       public Builder clone() {
   5304         return (Builder) super.clone();
   5305       }
   5306       public Builder setField(
   5307           com.google.protobuf.Descriptors.FieldDescriptor field,
   5308           java.lang.Object value) {
   5309         return (Builder) super.setField(field, value);
   5310       }
   5311       public Builder clearField(
   5312           com.google.protobuf.Descriptors.FieldDescriptor field) {
   5313         return (Builder) super.clearField(field);
   5314       }
   5315       public Builder clearOneof(
   5316           com.google.protobuf.Descriptors.OneofDescriptor oneof) {
   5317         return (Builder) super.clearOneof(oneof);
   5318       }
   5319       public Builder setRepeatedField(
   5320           com.google.protobuf.Descriptors.FieldDescriptor field,
   5321           int index, java.lang.Object value) {
   5322         return (Builder) super.setRepeatedField(field, index, value);
   5323       }
   5324       public Builder addRepeatedField(
   5325           com.google.protobuf.Descriptors.FieldDescriptor field,
   5326           java.lang.Object value) {
   5327         return (Builder) super.addRepeatedField(field, value);
   5328       }
   5329       public Builder mergeFrom(com.google.protobuf.Message other) {
   5330         if (other instanceof io.grpc.alts.internal.Handshaker.ServerHandshakeParameters) {
   5331           return mergeFrom((io.grpc.alts.internal.Handshaker.ServerHandshakeParameters)other);
   5332         } else {
   5333           super.mergeFrom(other);
   5334           return this;
   5335         }
   5336       }
   5337 
   5338       public Builder mergeFrom(io.grpc.alts.internal.Handshaker.ServerHandshakeParameters other) {
   5339         if (other == io.grpc.alts.internal.Handshaker.ServerHandshakeParameters.getDefaultInstance()) return this;
   5340         if (!other.recordProtocols_.isEmpty()) {
   5341           if (recordProtocols_.isEmpty()) {
   5342             recordProtocols_ = other.recordProtocols_;
   5343             bitField0_ = (bitField0_ & ~0x00000001);
   5344           } else {
   5345             ensureRecordProtocolsIsMutable();
   5346             recordProtocols_.addAll(other.recordProtocols_);
   5347           }
   5348           onChanged();
   5349         }
   5350         if (localIdentitiesBuilder_ == null) {
   5351           if (!other.localIdentities_.isEmpty()) {
   5352             if (localIdentities_.isEmpty()) {
   5353               localIdentities_ = other.localIdentities_;
   5354               bitField0_ = (bitField0_ & ~0x00000002);
   5355             } else {
   5356               ensureLocalIdentitiesIsMutable();
   5357               localIdentities_.addAll(other.localIdentities_);
   5358             }
   5359             onChanged();
   5360           }
   5361         } else {
   5362           if (!other.localIdentities_.isEmpty()) {
   5363             if (localIdentitiesBuilder_.isEmpty()) {
   5364               localIdentitiesBuilder_.dispose();
   5365               localIdentitiesBuilder_ = null;
   5366               localIdentities_ = other.localIdentities_;
   5367               bitField0_ = (bitField0_ & ~0x00000002);
   5368               localIdentitiesBuilder_ =
   5369                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
   5370                    getLocalIdentitiesFieldBuilder() : null;
   5371             } else {
   5372               localIdentitiesBuilder_.addAllMessages(other.localIdentities_);
   5373             }
   5374           }
   5375         }
   5376         this.mergeUnknownFields(other.unknownFields);
   5377         onChanged();
   5378         return this;
   5379       }
   5380 
   5381       public final boolean isInitialized() {
   5382         return true;
   5383       }
   5384 
   5385       public Builder mergeFrom(
   5386           com.google.protobuf.CodedInputStream input,
   5387           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   5388           throws java.io.IOException {
   5389         io.grpc.alts.internal.Handshaker.ServerHandshakeParameters parsedMessage = null;
   5390         try {
   5391           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
   5392         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
   5393           parsedMessage = (io.grpc.alts.internal.Handshaker.ServerHandshakeParameters) e.getUnfinishedMessage();
   5394           throw e.unwrapIOException();
   5395         } finally {
   5396           if (parsedMessage != null) {
   5397             mergeFrom(parsedMessage);
   5398           }
   5399         }
   5400         return this;
   5401       }
   5402       private int bitField0_;
   5403 
   5404       private com.google.protobuf.LazyStringList recordProtocols_ = com.google.protobuf.LazyStringArrayList.EMPTY;
   5405       private void ensureRecordProtocolsIsMutable() {
   5406         if (!((bitField0_ & 0x00000001) == 0x00000001)) {
   5407           recordProtocols_ = new com.google.protobuf.LazyStringArrayList(recordProtocols_);
   5408           bitField0_ |= 0x00000001;
   5409          }
   5410       }
   5411       /**
   5412        * <pre>
   5413        * The record protocols supported by the server, e.g.,
   5414        * "ALTSRP_GCM_AES128".
   5415        * </pre>
   5416        *
   5417        * <code>repeated string record_protocols = 1;</code>
   5418        */
   5419       public com.google.protobuf.ProtocolStringList
   5420           getRecordProtocolsList() {
   5421         return recordProtocols_.getUnmodifiableView();
   5422       }
   5423       /**
   5424        * <pre>
   5425        * The record protocols supported by the server, e.g.,
   5426        * "ALTSRP_GCM_AES128".
   5427        * </pre>
   5428        *
   5429        * <code>repeated string record_protocols = 1;</code>
   5430        */
   5431       public int getRecordProtocolsCount() {
   5432         return recordProtocols_.size();
   5433       }
   5434       /**
   5435        * <pre>
   5436        * The record protocols supported by the server, e.g.,
   5437        * "ALTSRP_GCM_AES128".
   5438        * </pre>
   5439        *
   5440        * <code>repeated string record_protocols = 1;</code>
   5441        */
   5442       public java.lang.String getRecordProtocols(int index) {
   5443         return recordProtocols_.get(index);
   5444       }
   5445       /**
   5446        * <pre>
   5447        * The record protocols supported by the server, e.g.,
   5448        * "ALTSRP_GCM_AES128".
   5449        * </pre>
   5450        *
   5451        * <code>repeated string record_protocols = 1;</code>
   5452        */
   5453       public com.google.protobuf.ByteString
   5454           getRecordProtocolsBytes(int index) {
   5455         return recordProtocols_.getByteString(index);
   5456       }
   5457       /**
   5458        * <pre>
   5459        * The record protocols supported by the server, e.g.,
   5460        * "ALTSRP_GCM_AES128".
   5461        * </pre>
   5462        *
   5463        * <code>repeated string record_protocols = 1;</code>
   5464        */
   5465       public Builder setRecordProtocols(
   5466           int index, java.lang.String value) {
   5467         if (value == null) {
   5468     throw new NullPointerException();
   5469   }
   5470   ensureRecordProtocolsIsMutable();
   5471         recordProtocols_.set(index, value);
   5472         onChanged();
   5473         return this;
   5474       }
   5475       /**
   5476        * <pre>
   5477        * The record protocols supported by the server, e.g.,
   5478        * "ALTSRP_GCM_AES128".
   5479        * </pre>
   5480        *
   5481        * <code>repeated string record_protocols = 1;</code>
   5482        */
   5483       public Builder addRecordProtocols(
   5484           java.lang.String value) {
   5485         if (value == null) {
   5486     throw new NullPointerException();
   5487   }
   5488   ensureRecordProtocolsIsMutable();
   5489         recordProtocols_.add(value);
   5490         onChanged();
   5491         return this;
   5492       }
   5493       /**
   5494        * <pre>
   5495        * The record protocols supported by the server, e.g.,
   5496        * "ALTSRP_GCM_AES128".
   5497        * </pre>
   5498        *
   5499        * <code>repeated string record_protocols = 1;</code>
   5500        */
   5501       public Builder addAllRecordProtocols(
   5502           java.lang.Iterable<java.lang.String> values) {
   5503         ensureRecordProtocolsIsMutable();
   5504         com.google.protobuf.AbstractMessageLite.Builder.addAll(
   5505             values, recordProtocols_);
   5506         onChanged();
   5507         return this;
   5508       }
   5509       /**
   5510        * <pre>
   5511        * The record protocols supported by the server, e.g.,
   5512        * "ALTSRP_GCM_AES128".
   5513        * </pre>
   5514        *
   5515        * <code>repeated string record_protocols = 1;</code>
   5516        */
   5517       public Builder clearRecordProtocols() {
   5518         recordProtocols_ = com.google.protobuf.LazyStringArrayList.EMPTY;
   5519         bitField0_ = (bitField0_ & ~0x00000001);
   5520         onChanged();
   5521         return this;
   5522       }
   5523       /**
   5524        * <pre>
   5525        * The record protocols supported by the server, e.g.,
   5526        * "ALTSRP_GCM_AES128".
   5527        * </pre>
   5528        *
   5529        * <code>repeated string record_protocols = 1;</code>
   5530        */
   5531       public Builder addRecordProtocolsBytes(
   5532           com.google.protobuf.ByteString value) {
   5533         if (value == null) {
   5534     throw new NullPointerException();
   5535   }
   5536   checkByteStringIsUtf8(value);
   5537         ensureRecordProtocolsIsMutable();
   5538         recordProtocols_.add(value);
   5539         onChanged();
   5540         return this;
   5541       }
   5542 
   5543       private java.util.List<io.grpc.alts.internal.Handshaker.Identity> localIdentities_ =
   5544         java.util.Collections.emptyList();
   5545       private void ensureLocalIdentitiesIsMutable() {
   5546         if (!((bitField0_ & 0x00000002) == 0x00000002)) {
   5547           localIdentities_ = new java.util.ArrayList<io.grpc.alts.internal.Handshaker.Identity>(localIdentities_);
   5548           bitField0_ |= 0x00000002;
   5549          }
   5550       }
   5551 
   5552       private com.google.protobuf.RepeatedFieldBuilderV3<
   5553           io.grpc.alts.internal.Handshaker.Identity, io.grpc.alts.internal.Handshaker.Identity.Builder, io.grpc.alts.internal.Handshaker.IdentityOrBuilder> localIdentitiesBuilder_;
   5554 
   5555       /**
   5556        * <pre>
   5557        * (Optional) A list of local identities supported by the server, if
   5558        * specified. Otherwise, the handshaker chooses a default local identity.
   5559        * </pre>
   5560        *
   5561        * <code>repeated .grpc.gcp.Identity local_identities = 2;</code>
   5562        */
   5563       public java.util.List<io.grpc.alts.internal.Handshaker.Identity> getLocalIdentitiesList() {
   5564         if (localIdentitiesBuilder_ == null) {
   5565           return java.util.Collections.unmodifiableList(localIdentities_);
   5566         } else {
   5567           return localIdentitiesBuilder_.getMessageList();
   5568         }
   5569       }
   5570       /**
   5571        * <pre>
   5572        * (Optional) A list of local identities supported by the server, if
   5573        * specified. Otherwise, the handshaker chooses a default local identity.
   5574        * </pre>
   5575        *
   5576        * <code>repeated .grpc.gcp.Identity local_identities = 2;</code>
   5577        */
   5578       public int getLocalIdentitiesCount() {
   5579         if (localIdentitiesBuilder_ == null) {
   5580           return localIdentities_.size();
   5581         } else {
   5582           return localIdentitiesBuilder_.getCount();
   5583         }
   5584       }
   5585       /**
   5586        * <pre>
   5587        * (Optional) A list of local identities supported by the server, if
   5588        * specified. Otherwise, the handshaker chooses a default local identity.
   5589        * </pre>
   5590        *
   5591        * <code>repeated .grpc.gcp.Identity local_identities = 2;</code>
   5592        */
   5593       public io.grpc.alts.internal.Handshaker.Identity getLocalIdentities(int index) {
   5594         if (localIdentitiesBuilder_ == null) {
   5595           return localIdentities_.get(index);
   5596         } else {
   5597           return localIdentitiesBuilder_.getMessage(index);
   5598         }
   5599       }
   5600       /**
   5601        * <pre>
   5602        * (Optional) A list of local identities supported by the server, if
   5603        * specified. Otherwise, the handshaker chooses a default local identity.
   5604        * </pre>
   5605        *
   5606        * <code>repeated .grpc.gcp.Identity local_identities = 2;</code>
   5607        */
   5608       public Builder setLocalIdentities(
   5609           int index, io.grpc.alts.internal.Handshaker.Identity value) {
   5610         if (localIdentitiesBuilder_ == null) {
   5611           if (value == null) {
   5612             throw new NullPointerException();
   5613           }
   5614           ensureLocalIdentitiesIsMutable();
   5615           localIdentities_.set(index, value);
   5616           onChanged();
   5617         } else {
   5618           localIdentitiesBuilder_.setMessage(index, value);
   5619         }
   5620         return this;
   5621       }
   5622       /**
   5623        * <pre>
   5624        * (Optional) A list of local identities supported by the server, if
   5625        * specified. Otherwise, the handshaker chooses a default local identity.
   5626        * </pre>
   5627        *
   5628        * <code>repeated .grpc.gcp.Identity local_identities = 2;</code>
   5629        */
   5630       public Builder setLocalIdentities(
   5631           int index, io.grpc.alts.internal.Handshaker.Identity.Builder builderForValue) {
   5632         if (localIdentitiesBuilder_ == null) {
   5633           ensureLocalIdentitiesIsMutable();
   5634           localIdentities_.set(index, builderForValue.build());
   5635           onChanged();
   5636         } else {
   5637           localIdentitiesBuilder_.setMessage(index, builderForValue.build());
   5638         }
   5639         return this;
   5640       }
   5641       /**
   5642        * <pre>
   5643        * (Optional) A list of local identities supported by the server, if
   5644        * specified. Otherwise, the handshaker chooses a default local identity.
   5645        * </pre>
   5646        *
   5647        * <code>repeated .grpc.gcp.Identity local_identities = 2;</code>
   5648        */
   5649       public Builder addLocalIdentities(io.grpc.alts.internal.Handshaker.Identity value) {
   5650         if (localIdentitiesBuilder_ == null) {
   5651           if (value == null) {
   5652             throw new NullPointerException();
   5653           }
   5654           ensureLocalIdentitiesIsMutable();
   5655           localIdentities_.add(value);
   5656           onChanged();
   5657         } else {
   5658           localIdentitiesBuilder_.addMessage(value);
   5659         }
   5660         return this;
   5661       }
   5662       /**
   5663        * <pre>
   5664        * (Optional) A list of local identities supported by the server, if
   5665        * specified. Otherwise, the handshaker chooses a default local identity.
   5666        * </pre>
   5667        *
   5668        * <code>repeated .grpc.gcp.Identity local_identities = 2;</code>
   5669        */
   5670       public Builder addLocalIdentities(
   5671           int index, io.grpc.alts.internal.Handshaker.Identity value) {
   5672         if (localIdentitiesBuilder_ == null) {
   5673           if (value == null) {
   5674             throw new NullPointerException();
   5675           }
   5676           ensureLocalIdentitiesIsMutable();
   5677           localIdentities_.add(index, value);
   5678           onChanged();
   5679         } else {
   5680           localIdentitiesBuilder_.addMessage(index, value);
   5681         }
   5682         return this;
   5683       }
   5684       /**
   5685        * <pre>
   5686        * (Optional) A list of local identities supported by the server, if
   5687        * specified. Otherwise, the handshaker chooses a default local identity.
   5688        * </pre>
   5689        *
   5690        * <code>repeated .grpc.gcp.Identity local_identities = 2;</code>
   5691        */
   5692       public Builder addLocalIdentities(
   5693           io.grpc.alts.internal.Handshaker.Identity.Builder builderForValue) {
   5694         if (localIdentitiesBuilder_ == null) {
   5695           ensureLocalIdentitiesIsMutable();
   5696           localIdentities_.add(builderForValue.build());
   5697           onChanged();
   5698         } else {
   5699           localIdentitiesBuilder_.addMessage(builderForValue.build());
   5700         }
   5701         return this;
   5702       }
   5703       /**
   5704        * <pre>
   5705        * (Optional) A list of local identities supported by the server, if
   5706        * specified. Otherwise, the handshaker chooses a default local identity.
   5707        * </pre>
   5708        *
   5709        * <code>repeated .grpc.gcp.Identity local_identities = 2;</code>
   5710        */
   5711       public Builder addLocalIdentities(
   5712           int index, io.grpc.alts.internal.Handshaker.Identity.Builder builderForValue) {
   5713         if (localIdentitiesBuilder_ == null) {
   5714           ensureLocalIdentitiesIsMutable();
   5715           localIdentities_.add(index, builderForValue.build());
   5716           onChanged();
   5717         } else {
   5718           localIdentitiesBuilder_.addMessage(index, builderForValue.build());
   5719         }
   5720         return this;
   5721       }
   5722       /**
   5723        * <pre>
   5724        * (Optional) A list of local identities supported by the server, if
   5725        * specified. Otherwise, the handshaker chooses a default local identity.
   5726        * </pre>
   5727        *
   5728        * <code>repeated .grpc.gcp.Identity local_identities = 2;</code>
   5729        */
   5730       public Builder addAllLocalIdentities(
   5731           java.lang.Iterable<? extends io.grpc.alts.internal.Handshaker.Identity> values) {
   5732         if (localIdentitiesBuilder_ == null) {
   5733           ensureLocalIdentitiesIsMutable();
   5734           com.google.protobuf.AbstractMessageLite.Builder.addAll(
   5735               values, localIdentities_);
   5736           onChanged();
   5737         } else {
   5738           localIdentitiesBuilder_.addAllMessages(values);
   5739         }
   5740         return this;
   5741       }
   5742       /**
   5743        * <pre>
   5744        * (Optional) A list of local identities supported by the server, if
   5745        * specified. Otherwise, the handshaker chooses a default local identity.
   5746        * </pre>
   5747        *
   5748        * <code>repeated .grpc.gcp.Identity local_identities = 2;</code>
   5749        */
   5750       public Builder clearLocalIdentities() {
   5751         if (localIdentitiesBuilder_ == null) {
   5752           localIdentities_ = java.util.Collections.emptyList();
   5753           bitField0_ = (bitField0_ & ~0x00000002);
   5754           onChanged();
   5755         } else {
   5756           localIdentitiesBuilder_.clear();
   5757         }
   5758         return this;
   5759       }
   5760       /**
   5761        * <pre>
   5762        * (Optional) A list of local identities supported by the server, if
   5763        * specified. Otherwise, the handshaker chooses a default local identity.
   5764        * </pre>
   5765        *
   5766        * <code>repeated .grpc.gcp.Identity local_identities = 2;</code>
   5767        */
   5768       public Builder removeLocalIdentities(int index) {
   5769         if (localIdentitiesBuilder_ == null) {
   5770           ensureLocalIdentitiesIsMutable();
   5771           localIdentities_.remove(index);
   5772           onChanged();
   5773         } else {
   5774           localIdentitiesBuilder_.remove(index);
   5775         }
   5776         return this;
   5777       }
   5778       /**
   5779        * <pre>
   5780        * (Optional) A list of local identities supported by the server, if
   5781        * specified. Otherwise, the handshaker chooses a default local identity.
   5782        * </pre>
   5783        *
   5784        * <code>repeated .grpc.gcp.Identity local_identities = 2;</code>
   5785        */
   5786       public io.grpc.alts.internal.Handshaker.Identity.Builder getLocalIdentitiesBuilder(
   5787           int index) {
   5788         return getLocalIdentitiesFieldBuilder().getBuilder(index);
   5789       }
   5790       /**
   5791        * <pre>
   5792        * (Optional) A list of local identities supported by the server, if
   5793        * specified. Otherwise, the handshaker chooses a default local identity.
   5794        * </pre>
   5795        *
   5796        * <code>repeated .grpc.gcp.Identity local_identities = 2;</code>
   5797        */
   5798       public io.grpc.alts.internal.Handshaker.IdentityOrBuilder getLocalIdentitiesOrBuilder(
   5799           int index) {
   5800         if (localIdentitiesBuilder_ == null) {
   5801           return localIdentities_.get(index);  } else {
   5802           return localIdentitiesBuilder_.getMessageOrBuilder(index);
   5803         }
   5804       }
   5805       /**
   5806        * <pre>
   5807        * (Optional) A list of local identities supported by the server, if
   5808        * specified. Otherwise, the handshaker chooses a default local identity.
   5809        * </pre>
   5810        *
   5811        * <code>repeated .grpc.gcp.Identity local_identities = 2;</code>
   5812        */
   5813       public java.util.List<? extends io.grpc.alts.internal.Handshaker.IdentityOrBuilder>
   5814            getLocalIdentitiesOrBuilderList() {
   5815         if (localIdentitiesBuilder_ != null) {
   5816           return localIdentitiesBuilder_.getMessageOrBuilderList();
   5817         } else {
   5818           return java.util.Collections.unmodifiableList(localIdentities_);
   5819         }
   5820       }
   5821       /**
   5822        * <pre>
   5823        * (Optional) A list of local identities supported by the server, if
   5824        * specified. Otherwise, the handshaker chooses a default local identity.
   5825        * </pre>
   5826        *
   5827        * <code>repeated .grpc.gcp.Identity local_identities = 2;</code>
   5828        */
   5829       public io.grpc.alts.internal.Handshaker.Identity.Builder addLocalIdentitiesBuilder() {
   5830         return getLocalIdentitiesFieldBuilder().addBuilder(
   5831             io.grpc.alts.internal.Handshaker.Identity.getDefaultInstance());
   5832       }
   5833       /**
   5834        * <pre>
   5835        * (Optional) A list of local identities supported by the server, if
   5836        * specified. Otherwise, the handshaker chooses a default local identity.
   5837        * </pre>
   5838        *
   5839        * <code>repeated .grpc.gcp.Identity local_identities = 2;</code>
   5840        */
   5841       public io.grpc.alts.internal.Handshaker.Identity.Builder addLocalIdentitiesBuilder(
   5842           int index) {
   5843         return getLocalIdentitiesFieldBuilder().addBuilder(
   5844             index, io.grpc.alts.internal.Handshaker.Identity.getDefaultInstance());
   5845       }
   5846       /**
   5847        * <pre>
   5848        * (Optional) A list of local identities supported by the server, if
   5849        * specified. Otherwise, the handshaker chooses a default local identity.
   5850        * </pre>
   5851        *
   5852        * <code>repeated .grpc.gcp.Identity local_identities = 2;</code>
   5853        */
   5854       public java.util.List<io.grpc.alts.internal.Handshaker.Identity.Builder>
   5855            getLocalIdentitiesBuilderList() {
   5856         return getLocalIdentitiesFieldBuilder().getBuilderList();
   5857       }
   5858       private com.google.protobuf.RepeatedFieldBuilderV3<
   5859           io.grpc.alts.internal.Handshaker.Identity, io.grpc.alts.internal.Handshaker.Identity.Builder, io.grpc.alts.internal.Handshaker.IdentityOrBuilder>
   5860           getLocalIdentitiesFieldBuilder() {
   5861         if (localIdentitiesBuilder_ == null) {
   5862           localIdentitiesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
   5863               io.grpc.alts.internal.Handshaker.Identity, io.grpc.alts.internal.Handshaker.Identity.Builder, io.grpc.alts.internal.Handshaker.IdentityOrBuilder>(
   5864                   localIdentities_,
   5865                   ((bitField0_ & 0x00000002) == 0x00000002),
   5866                   getParentForChildren(),
   5867                   isClean());
   5868           localIdentities_ = null;
   5869         }
   5870         return localIdentitiesBuilder_;
   5871       }
   5872       public final Builder setUnknownFields(
   5873           final com.google.protobuf.UnknownFieldSet unknownFields) {
   5874         return super.setUnknownFieldsProto3(unknownFields);
   5875       }
   5876 
   5877       public final Builder mergeUnknownFields(
   5878           final com.google.protobuf.UnknownFieldSet unknownFields) {
   5879         return super.mergeUnknownFields(unknownFields);
   5880       }
   5881 
   5882 
   5883       // @@protoc_insertion_point(builder_scope:grpc.gcp.ServerHandshakeParameters)
   5884     }
   5885 
   5886     // @@protoc_insertion_point(class_scope:grpc.gcp.ServerHandshakeParameters)
   5887     private static final io.grpc.alts.internal.Handshaker.ServerHandshakeParameters DEFAULT_INSTANCE;
   5888     static {
   5889       DEFAULT_INSTANCE = new io.grpc.alts.internal.Handshaker.ServerHandshakeParameters();
   5890     }
   5891 
   5892     public static io.grpc.alts.internal.Handshaker.ServerHandshakeParameters getDefaultInstance() {
   5893       return DEFAULT_INSTANCE;
   5894     }
   5895 
   5896     private static final com.google.protobuf.Parser<ServerHandshakeParameters>
   5897         PARSER = new com.google.protobuf.AbstractParser<ServerHandshakeParameters>() {
   5898       public ServerHandshakeParameters parsePartialFrom(
   5899           com.google.protobuf.CodedInputStream input,
   5900           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   5901           throws com.google.protobuf.InvalidProtocolBufferException {
   5902         return new ServerHandshakeParameters(input, extensionRegistry);
   5903       }
   5904     };
   5905 
   5906     public static com.google.protobuf.Parser<ServerHandshakeParameters> parser() {
   5907       return PARSER;
   5908     }
   5909 
   5910     @java.lang.Override
   5911     public com.google.protobuf.Parser<ServerHandshakeParameters> getParserForType() {
   5912       return PARSER;
   5913     }
   5914 
   5915     public io.grpc.alts.internal.Handshaker.ServerHandshakeParameters getDefaultInstanceForType() {
   5916       return DEFAULT_INSTANCE;
   5917     }
   5918 
   5919   }
   5920 
   5921   public interface StartServerHandshakeReqOrBuilder extends
   5922       // @@protoc_insertion_point(interface_extends:grpc.gcp.StartServerHandshakeReq)
   5923       com.google.protobuf.MessageOrBuilder {
   5924 
   5925     /**
   5926      * <pre>
   5927      * The application protocols supported by the server, e.g., "h2" (for http2),
   5928      * "grpc".
   5929      * </pre>
   5930      *
   5931      * <code>repeated string application_protocols = 1;</code>
   5932      */
   5933     java.util.List<java.lang.String>
   5934         getApplicationProtocolsList();
   5935     /**
   5936      * <pre>
   5937      * The application protocols supported by the server, e.g., "h2" (for http2),
   5938      * "grpc".
   5939      * </pre>
   5940      *
   5941      * <code>repeated string application_protocols = 1;</code>
   5942      */
   5943     int getApplicationProtocolsCount();
   5944     /**
   5945      * <pre>
   5946      * The application protocols supported by the server, e.g., "h2" (for http2),
   5947      * "grpc".
   5948      * </pre>
   5949      *
   5950      * <code>repeated string application_protocols = 1;</code>
   5951      */
   5952     java.lang.String getApplicationProtocols(int index);
   5953     /**
   5954      * <pre>
   5955      * The application protocols supported by the server, e.g., "h2" (for http2),
   5956      * "grpc".
   5957      * </pre>
   5958      *
   5959      * <code>repeated string application_protocols = 1;</code>
   5960      */
   5961     com.google.protobuf.ByteString
   5962         getApplicationProtocolsBytes(int index);
   5963 
   5964     /**
   5965      * <pre>
   5966      * Handshake parameters (record protocols and local identities supported by
   5967      * the server) mapped by the handshake protocol. Each handshake security
   5968      * protocol (e.g., TLS or ALTS) has its own set of record protocols and local
   5969      * identities. Since protobuf does not support enum as key to the map, the key
   5970      * to handshake_parameters is the integer value of HandshakeProtocol enum.
   5971      * </pre>
   5972      *
   5973      * <code>map&lt;int32, .grpc.gcp.ServerHandshakeParameters&gt; handshake_parameters = 2;</code>
   5974      */
   5975     int getHandshakeParametersCount();
   5976     /**
   5977      * <pre>
   5978      * Handshake parameters (record protocols and local identities supported by
   5979      * the server) mapped by the handshake protocol. Each handshake security
   5980      * protocol (e.g., TLS or ALTS) has its own set of record protocols and local
   5981      * identities. Since protobuf does not support enum as key to the map, the key
   5982      * to handshake_parameters is the integer value of HandshakeProtocol enum.
   5983      * </pre>
   5984      *
   5985      * <code>map&lt;int32, .grpc.gcp.ServerHandshakeParameters&gt; handshake_parameters = 2;</code>
   5986      */
   5987     boolean containsHandshakeParameters(
   5988         int key);
   5989     /**
   5990      * Use {@link #getHandshakeParametersMap()} instead.
   5991      */
   5992     @java.lang.Deprecated
   5993     java.util.Map<java.lang.Integer, io.grpc.alts.internal.Handshaker.ServerHandshakeParameters>
   5994     getHandshakeParameters();
   5995     /**
   5996      * <pre>
   5997      * Handshake parameters (record protocols and local identities supported by
   5998      * the server) mapped by the handshake protocol. Each handshake security
   5999      * protocol (e.g., TLS or ALTS) has its own set of record protocols and local
   6000      * identities. Since protobuf does not support enum as key to the map, the key
   6001      * to handshake_parameters is the integer value of HandshakeProtocol enum.
   6002      * </pre>
   6003      *
   6004      * <code>map&lt;int32, .grpc.gcp.ServerHandshakeParameters&gt; handshake_parameters = 2;</code>
   6005      */
   6006     java.util.Map<java.lang.Integer, io.grpc.alts.internal.Handshaker.ServerHandshakeParameters>
   6007     getHandshakeParametersMap();
   6008     /**
   6009      * <pre>
   6010      * Handshake parameters (record protocols and local identities supported by
   6011      * the server) mapped by the handshake protocol. Each handshake security
   6012      * protocol (e.g., TLS or ALTS) has its own set of record protocols and local
   6013      * identities. Since protobuf does not support enum as key to the map, the key
   6014      * to handshake_parameters is the integer value of HandshakeProtocol enum.
   6015      * </pre>
   6016      *
   6017      * <code>map&lt;int32, .grpc.gcp.ServerHandshakeParameters&gt; handshake_parameters = 2;</code>
   6018      */
   6019 
   6020     io.grpc.alts.internal.Handshaker.ServerHandshakeParameters getHandshakeParametersOrDefault(
   6021         int key,
   6022         io.grpc.alts.internal.Handshaker.ServerHandshakeParameters defaultValue);
   6023     /**
   6024      * <pre>
   6025      * Handshake parameters (record protocols and local identities supported by
   6026      * the server) mapped by the handshake protocol. Each handshake security
   6027      * protocol (e.g., TLS or ALTS) has its own set of record protocols and local
   6028      * identities. Since protobuf does not support enum as key to the map, the key
   6029      * to handshake_parameters is the integer value of HandshakeProtocol enum.
   6030      * </pre>
   6031      *
   6032      * <code>map&lt;int32, .grpc.gcp.ServerHandshakeParameters&gt; handshake_parameters = 2;</code>
   6033      */
   6034 
   6035     io.grpc.alts.internal.Handshaker.ServerHandshakeParameters getHandshakeParametersOrThrow(
   6036         int key);
   6037 
   6038     /**
   6039      * <pre>
   6040      * Bytes in out_frames returned from the peer's HandshakerResp. It is possible
   6041      * that the peer's out_frames are split into multiple HandshakReq messages.
   6042      * </pre>
   6043      *
   6044      * <code>bytes in_bytes = 3;</code>
   6045      */
   6046     com.google.protobuf.ByteString getInBytes();
   6047 
   6048     /**
   6049      * <pre>
   6050      * (Optional) Local endpoint information of the connection to the client,
   6051      * such as local IP address, port number, and network protocol.
   6052      * </pre>
   6053      *
   6054      * <code>.grpc.gcp.Endpoint local_endpoint = 4;</code>
   6055      */
   6056     boolean hasLocalEndpoint();
   6057     /**
   6058      * <pre>
   6059      * (Optional) Local endpoint information of the connection to the client,
   6060      * such as local IP address, port number, and network protocol.
   6061      * </pre>
   6062      *
   6063      * <code>.grpc.gcp.Endpoint local_endpoint = 4;</code>
   6064      */
   6065     io.grpc.alts.internal.Handshaker.Endpoint getLocalEndpoint();
   6066     /**
   6067      * <pre>
   6068      * (Optional) Local endpoint information of the connection to the client,
   6069      * such as local IP address, port number, and network protocol.
   6070      * </pre>
   6071      *
   6072      * <code>.grpc.gcp.Endpoint local_endpoint = 4;</code>
   6073      */
   6074     io.grpc.alts.internal.Handshaker.EndpointOrBuilder getLocalEndpointOrBuilder();
   6075 
   6076     /**
   6077      * <pre>
   6078      * (Optional) Endpoint information of the remote client, such as IP address,
   6079      * port number, and network protocol.
   6080      * </pre>
   6081      *
   6082      * <code>.grpc.gcp.Endpoint remote_endpoint = 5;</code>
   6083      */
   6084     boolean hasRemoteEndpoint();
   6085     /**
   6086      * <pre>
   6087      * (Optional) Endpoint information of the remote client, such as IP address,
   6088      * port number, and network protocol.
   6089      * </pre>
   6090      *
   6091      * <code>.grpc.gcp.Endpoint remote_endpoint = 5;</code>
   6092      */
   6093     io.grpc.alts.internal.Handshaker.Endpoint getRemoteEndpoint();
   6094     /**
   6095      * <pre>
   6096      * (Optional) Endpoint information of the remote client, such as IP address,
   6097      * port number, and network protocol.
   6098      * </pre>
   6099      *
   6100      * <code>.grpc.gcp.Endpoint remote_endpoint = 5;</code>
   6101      */
   6102     io.grpc.alts.internal.Handshaker.EndpointOrBuilder getRemoteEndpointOrBuilder();
   6103 
   6104     /**
   6105      * <pre>
   6106      * (Optional) RPC protocol versions supported by the server.
   6107      * </pre>
   6108      *
   6109      * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 6;</code>
   6110      */
   6111     boolean hasRpcVersions();
   6112     /**
   6113      * <pre>
   6114      * (Optional) RPC protocol versions supported by the server.
   6115      * </pre>
   6116      *
   6117      * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 6;</code>
   6118      */
   6119     io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions getRpcVersions();
   6120     /**
   6121      * <pre>
   6122      * (Optional) RPC protocol versions supported by the server.
   6123      * </pre>
   6124      *
   6125      * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 6;</code>
   6126      */
   6127     io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersionsOrBuilder getRpcVersionsOrBuilder();
   6128   }
   6129   /**
   6130    * Protobuf type {@code grpc.gcp.StartServerHandshakeReq}
   6131    */
   6132   public  static final class StartServerHandshakeReq extends
   6133       com.google.protobuf.GeneratedMessageV3 implements
   6134       // @@protoc_insertion_point(message_implements:grpc.gcp.StartServerHandshakeReq)
   6135       StartServerHandshakeReqOrBuilder {
   6136   private static final long serialVersionUID = 0L;
   6137     // Use StartServerHandshakeReq.newBuilder() to construct.
   6138     private StartServerHandshakeReq(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
   6139       super(builder);
   6140     }
   6141     private StartServerHandshakeReq() {
   6142       applicationProtocols_ = com.google.protobuf.LazyStringArrayList.EMPTY;
   6143       inBytes_ = com.google.protobuf.ByteString.EMPTY;
   6144     }
   6145 
   6146     @java.lang.Override
   6147     public final com.google.protobuf.UnknownFieldSet
   6148     getUnknownFields() {
   6149       return this.unknownFields;
   6150     }
   6151     private StartServerHandshakeReq(
   6152         com.google.protobuf.CodedInputStream input,
   6153         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   6154         throws com.google.protobuf.InvalidProtocolBufferException {
   6155       this();
   6156       if (extensionRegistry == null) {
   6157         throw new java.lang.NullPointerException();
   6158       }
   6159       int mutable_bitField0_ = 0;
   6160       com.google.protobuf.UnknownFieldSet.Builder unknownFields =
   6161           com.google.protobuf.UnknownFieldSet.newBuilder();
   6162       try {
   6163         boolean done = false;
   6164         while (!done) {
   6165           int tag = input.readTag();
   6166           switch (tag) {
   6167             case 0:
   6168               done = true;
   6169               break;
   6170             default: {
   6171               if (!parseUnknownFieldProto3(
   6172                   input, unknownFields, extensionRegistry, tag)) {
   6173                 done = true;
   6174               }
   6175               break;
   6176             }
   6177             case 10: {
   6178               java.lang.String s = input.readStringRequireUtf8();
   6179               if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
   6180                 applicationProtocols_ = new com.google.protobuf.LazyStringArrayList();
   6181                 mutable_bitField0_ |= 0x00000001;
   6182               }
   6183               applicationProtocols_.add(s);
   6184               break;
   6185             }
   6186             case 18: {
   6187               if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
   6188                 handshakeParameters_ = com.google.protobuf.MapField.newMapField(
   6189                     HandshakeParametersDefaultEntryHolder.defaultEntry);
   6190                 mutable_bitField0_ |= 0x00000002;
   6191               }
   6192               com.google.protobuf.MapEntry<java.lang.Integer, io.grpc.alts.internal.Handshaker.ServerHandshakeParameters>
   6193               handshakeParameters__ = input.readMessage(
   6194                   HandshakeParametersDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
   6195               handshakeParameters_.getMutableMap().put(
   6196                   handshakeParameters__.getKey(), handshakeParameters__.getValue());
   6197               break;
   6198             }
   6199             case 26: {
   6200 
   6201               inBytes_ = input.readBytes();
   6202               break;
   6203             }
   6204             case 34: {
   6205               io.grpc.alts.internal.Handshaker.Endpoint.Builder subBuilder = null;
   6206               if (localEndpoint_ != null) {
   6207                 subBuilder = localEndpoint_.toBuilder();
   6208               }
   6209               localEndpoint_ = input.readMessage(io.grpc.alts.internal.Handshaker.Endpoint.parser(), extensionRegistry);
   6210               if (subBuilder != null) {
   6211                 subBuilder.mergeFrom(localEndpoint_);
   6212                 localEndpoint_ = subBuilder.buildPartial();
   6213               }
   6214 
   6215               break;
   6216             }
   6217             case 42: {
   6218               io.grpc.alts.internal.Handshaker.Endpoint.Builder subBuilder = null;
   6219               if (remoteEndpoint_ != null) {
   6220                 subBuilder = remoteEndpoint_.toBuilder();
   6221               }
   6222               remoteEndpoint_ = input.readMessage(io.grpc.alts.internal.Handshaker.Endpoint.parser(), extensionRegistry);
   6223               if (subBuilder != null) {
   6224                 subBuilder.mergeFrom(remoteEndpoint_);
   6225                 remoteEndpoint_ = subBuilder.buildPartial();
   6226               }
   6227 
   6228               break;
   6229             }
   6230             case 50: {
   6231               io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.Builder subBuilder = null;
   6232               if (rpcVersions_ != null) {
   6233                 subBuilder = rpcVersions_.toBuilder();
   6234               }
   6235               rpcVersions_ = input.readMessage(io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.parser(), extensionRegistry);
   6236               if (subBuilder != null) {
   6237                 subBuilder.mergeFrom(rpcVersions_);
   6238                 rpcVersions_ = subBuilder.buildPartial();
   6239               }
   6240 
   6241               break;
   6242             }
   6243           }
   6244         }
   6245       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
   6246         throw e.setUnfinishedMessage(this);
   6247       } catch (java.io.IOException e) {
   6248         throw new com.google.protobuf.InvalidProtocolBufferException(
   6249             e).setUnfinishedMessage(this);
   6250       } finally {
   6251         if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
   6252           applicationProtocols_ = applicationProtocols_.getUnmodifiableView();
   6253         }
   6254         this.unknownFields = unknownFields.build();
   6255         makeExtensionsImmutable();
   6256       }
   6257     }
   6258     public static final com.google.protobuf.Descriptors.Descriptor
   6259         getDescriptor() {
   6260       return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_StartServerHandshakeReq_descriptor;
   6261     }
   6262 
   6263     @SuppressWarnings({"rawtypes"})
   6264     protected com.google.protobuf.MapField internalGetMapField(
   6265         int number) {
   6266       switch (number) {
   6267         case 2:
   6268           return internalGetHandshakeParameters();
   6269         default:
   6270           throw new RuntimeException(
   6271               "Invalid map field number: " + number);
   6272       }
   6273     }
   6274     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
   6275         internalGetFieldAccessorTable() {
   6276       return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_StartServerHandshakeReq_fieldAccessorTable
   6277           .ensureFieldAccessorsInitialized(
   6278               io.grpc.alts.internal.Handshaker.StartServerHandshakeReq.class, io.grpc.alts.internal.Handshaker.StartServerHandshakeReq.Builder.class);
   6279     }
   6280 
   6281     private int bitField0_;
   6282     public static final int APPLICATION_PROTOCOLS_FIELD_NUMBER = 1;
   6283     private com.google.protobuf.LazyStringList applicationProtocols_;
   6284     /**
   6285      * <pre>
   6286      * The application protocols supported by the server, e.g., "h2" (for http2),
   6287      * "grpc".
   6288      * </pre>
   6289      *
   6290      * <code>repeated string application_protocols = 1;</code>
   6291      */
   6292     public com.google.protobuf.ProtocolStringList
   6293         getApplicationProtocolsList() {
   6294       return applicationProtocols_;
   6295     }
   6296     /**
   6297      * <pre>
   6298      * The application protocols supported by the server, e.g., "h2" (for http2),
   6299      * "grpc".
   6300      * </pre>
   6301      *
   6302      * <code>repeated string application_protocols = 1;</code>
   6303      */
   6304     public int getApplicationProtocolsCount() {
   6305       return applicationProtocols_.size();
   6306     }
   6307     /**
   6308      * <pre>
   6309      * The application protocols supported by the server, e.g., "h2" (for http2),
   6310      * "grpc".
   6311      * </pre>
   6312      *
   6313      * <code>repeated string application_protocols = 1;</code>
   6314      */
   6315     public java.lang.String getApplicationProtocols(int index) {
   6316       return applicationProtocols_.get(index);
   6317     }
   6318     /**
   6319      * <pre>
   6320      * The application protocols supported by the server, e.g., "h2" (for http2),
   6321      * "grpc".
   6322      * </pre>
   6323      *
   6324      * <code>repeated string application_protocols = 1;</code>
   6325      */
   6326     public com.google.protobuf.ByteString
   6327         getApplicationProtocolsBytes(int index) {
   6328       return applicationProtocols_.getByteString(index);
   6329     }
   6330 
   6331     public static final int HANDSHAKE_PARAMETERS_FIELD_NUMBER = 2;
   6332     private static final class HandshakeParametersDefaultEntryHolder {
   6333       static final com.google.protobuf.MapEntry<
   6334           java.lang.Integer, io.grpc.alts.internal.Handshaker.ServerHandshakeParameters> defaultEntry =
   6335               com.google.protobuf.MapEntry
   6336               .<java.lang.Integer, io.grpc.alts.internal.Handshaker.ServerHandshakeParameters>newDefaultInstance(
   6337                   io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_StartServerHandshakeReq_HandshakeParametersEntry_descriptor,
   6338                   com.google.protobuf.WireFormat.FieldType.INT32,
   6339                   0,
   6340                   com.google.protobuf.WireFormat.FieldType.MESSAGE,
   6341                   io.grpc.alts.internal.Handshaker.ServerHandshakeParameters.getDefaultInstance());
   6342     }
   6343     private com.google.protobuf.MapField<
   6344         java.lang.Integer, io.grpc.alts.internal.Handshaker.ServerHandshakeParameters> handshakeParameters_;
   6345     private com.google.protobuf.MapField<java.lang.Integer, io.grpc.alts.internal.Handshaker.ServerHandshakeParameters>
   6346     internalGetHandshakeParameters() {
   6347       if (handshakeParameters_ == null) {
   6348         return com.google.protobuf.MapField.emptyMapField(
   6349             HandshakeParametersDefaultEntryHolder.defaultEntry);
   6350       }
   6351       return handshakeParameters_;
   6352     }
   6353 
   6354     public int getHandshakeParametersCount() {
   6355       return internalGetHandshakeParameters().getMap().size();
   6356     }
   6357     /**
   6358      * <pre>
   6359      * Handshake parameters (record protocols and local identities supported by
   6360      * the server) mapped by the handshake protocol. Each handshake security
   6361      * protocol (e.g., TLS or ALTS) has its own set of record protocols and local
   6362      * identities. Since protobuf does not support enum as key to the map, the key
   6363      * to handshake_parameters is the integer value of HandshakeProtocol enum.
   6364      * </pre>
   6365      *
   6366      * <code>map&lt;int32, .grpc.gcp.ServerHandshakeParameters&gt; handshake_parameters = 2;</code>
   6367      */
   6368 
   6369     public boolean containsHandshakeParameters(
   6370         int key) {
   6371 
   6372       return internalGetHandshakeParameters().getMap().containsKey(key);
   6373     }
   6374     /**
   6375      * Use {@link #getHandshakeParametersMap()} instead.
   6376      */
   6377     @java.lang.Deprecated
   6378     public java.util.Map<java.lang.Integer, io.grpc.alts.internal.Handshaker.ServerHandshakeParameters> getHandshakeParameters() {
   6379       return getHandshakeParametersMap();
   6380     }
   6381     /**
   6382      * <pre>
   6383      * Handshake parameters (record protocols and local identities supported by
   6384      * the server) mapped by the handshake protocol. Each handshake security
   6385      * protocol (e.g., TLS or ALTS) has its own set of record protocols and local
   6386      * identities. Since protobuf does not support enum as key to the map, the key
   6387      * to handshake_parameters is the integer value of HandshakeProtocol enum.
   6388      * </pre>
   6389      *
   6390      * <code>map&lt;int32, .grpc.gcp.ServerHandshakeParameters&gt; handshake_parameters = 2;</code>
   6391      */
   6392 
   6393     public java.util.Map<java.lang.Integer, io.grpc.alts.internal.Handshaker.ServerHandshakeParameters> getHandshakeParametersMap() {
   6394       return internalGetHandshakeParameters().getMap();
   6395     }
   6396     /**
   6397      * <pre>
   6398      * Handshake parameters (record protocols and local identities supported by
   6399      * the server) mapped by the handshake protocol. Each handshake security
   6400      * protocol (e.g., TLS or ALTS) has its own set of record protocols and local
   6401      * identities. Since protobuf does not support enum as key to the map, the key
   6402      * to handshake_parameters is the integer value of HandshakeProtocol enum.
   6403      * </pre>
   6404      *
   6405      * <code>map&lt;int32, .grpc.gcp.ServerHandshakeParameters&gt; handshake_parameters = 2;</code>
   6406      */
   6407 
   6408     public io.grpc.alts.internal.Handshaker.ServerHandshakeParameters getHandshakeParametersOrDefault(
   6409         int key,
   6410         io.grpc.alts.internal.Handshaker.ServerHandshakeParameters defaultValue) {
   6411 
   6412       java.util.Map<java.lang.Integer, io.grpc.alts.internal.Handshaker.ServerHandshakeParameters> map =
   6413           internalGetHandshakeParameters().getMap();
   6414       return map.containsKey(key) ? map.get(key) : defaultValue;
   6415     }
   6416     /**
   6417      * <pre>
   6418      * Handshake parameters (record protocols and local identities supported by
   6419      * the server) mapped by the handshake protocol. Each handshake security
   6420      * protocol (e.g., TLS or ALTS) has its own set of record protocols and local
   6421      * identities. Since protobuf does not support enum as key to the map, the key
   6422      * to handshake_parameters is the integer value of HandshakeProtocol enum.
   6423      * </pre>
   6424      *
   6425      * <code>map&lt;int32, .grpc.gcp.ServerHandshakeParameters&gt; handshake_parameters = 2;</code>
   6426      */
   6427 
   6428     public io.grpc.alts.internal.Handshaker.ServerHandshakeParameters getHandshakeParametersOrThrow(
   6429         int key) {
   6430 
   6431       java.util.Map<java.lang.Integer, io.grpc.alts.internal.Handshaker.ServerHandshakeParameters> map =
   6432           internalGetHandshakeParameters().getMap();
   6433       if (!map.containsKey(key)) {
   6434         throw new java.lang.IllegalArgumentException();
   6435       }
   6436       return map.get(key);
   6437     }
   6438 
   6439     public static final int IN_BYTES_FIELD_NUMBER = 3;
   6440     private com.google.protobuf.ByteString inBytes_;
   6441     /**
   6442      * <pre>
   6443      * Bytes in out_frames returned from the peer's HandshakerResp. It is possible
   6444      * that the peer's out_frames are split into multiple HandshakReq messages.
   6445      * </pre>
   6446      *
   6447      * <code>bytes in_bytes = 3;</code>
   6448      */
   6449     public com.google.protobuf.ByteString getInBytes() {
   6450       return inBytes_;
   6451     }
   6452 
   6453     public static final int LOCAL_ENDPOINT_FIELD_NUMBER = 4;
   6454     private io.grpc.alts.internal.Handshaker.Endpoint localEndpoint_;
   6455     /**
   6456      * <pre>
   6457      * (Optional) Local endpoint information of the connection to the client,
   6458      * such as local IP address, port number, and network protocol.
   6459      * </pre>
   6460      *
   6461      * <code>.grpc.gcp.Endpoint local_endpoint = 4;</code>
   6462      */
   6463     public boolean hasLocalEndpoint() {
   6464       return localEndpoint_ != null;
   6465     }
   6466     /**
   6467      * <pre>
   6468      * (Optional) Local endpoint information of the connection to the client,
   6469      * such as local IP address, port number, and network protocol.
   6470      * </pre>
   6471      *
   6472      * <code>.grpc.gcp.Endpoint local_endpoint = 4;</code>
   6473      */
   6474     public io.grpc.alts.internal.Handshaker.Endpoint getLocalEndpoint() {
   6475       return localEndpoint_ == null ? io.grpc.alts.internal.Handshaker.Endpoint.getDefaultInstance() : localEndpoint_;
   6476     }
   6477     /**
   6478      * <pre>
   6479      * (Optional) Local endpoint information of the connection to the client,
   6480      * such as local IP address, port number, and network protocol.
   6481      * </pre>
   6482      *
   6483      * <code>.grpc.gcp.Endpoint local_endpoint = 4;</code>
   6484      */
   6485     public io.grpc.alts.internal.Handshaker.EndpointOrBuilder getLocalEndpointOrBuilder() {
   6486       return getLocalEndpoint();
   6487     }
   6488 
   6489     public static final int REMOTE_ENDPOINT_FIELD_NUMBER = 5;
   6490     private io.grpc.alts.internal.Handshaker.Endpoint remoteEndpoint_;
   6491     /**
   6492      * <pre>
   6493      * (Optional) Endpoint information of the remote client, such as IP address,
   6494      * port number, and network protocol.
   6495      * </pre>
   6496      *
   6497      * <code>.grpc.gcp.Endpoint remote_endpoint = 5;</code>
   6498      */
   6499     public boolean hasRemoteEndpoint() {
   6500       return remoteEndpoint_ != null;
   6501     }
   6502     /**
   6503      * <pre>
   6504      * (Optional) Endpoint information of the remote client, such as IP address,
   6505      * port number, and network protocol.
   6506      * </pre>
   6507      *
   6508      * <code>.grpc.gcp.Endpoint remote_endpoint = 5;</code>
   6509      */
   6510     public io.grpc.alts.internal.Handshaker.Endpoint getRemoteEndpoint() {
   6511       return remoteEndpoint_ == null ? io.grpc.alts.internal.Handshaker.Endpoint.getDefaultInstance() : remoteEndpoint_;
   6512     }
   6513     /**
   6514      * <pre>
   6515      * (Optional) Endpoint information of the remote client, such as IP address,
   6516      * port number, and network protocol.
   6517      * </pre>
   6518      *
   6519      * <code>.grpc.gcp.Endpoint remote_endpoint = 5;</code>
   6520      */
   6521     public io.grpc.alts.internal.Handshaker.EndpointOrBuilder getRemoteEndpointOrBuilder() {
   6522       return getRemoteEndpoint();
   6523     }
   6524 
   6525     public static final int RPC_VERSIONS_FIELD_NUMBER = 6;
   6526     private io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions rpcVersions_;
   6527     /**
   6528      * <pre>
   6529      * (Optional) RPC protocol versions supported by the server.
   6530      * </pre>
   6531      *
   6532      * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 6;</code>
   6533      */
   6534     public boolean hasRpcVersions() {
   6535       return rpcVersions_ != null;
   6536     }
   6537     /**
   6538      * <pre>
   6539      * (Optional) RPC protocol versions supported by the server.
   6540      * </pre>
   6541      *
   6542      * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 6;</code>
   6543      */
   6544     public io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions getRpcVersions() {
   6545       return rpcVersions_ == null ? io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.getDefaultInstance() : rpcVersions_;
   6546     }
   6547     /**
   6548      * <pre>
   6549      * (Optional) RPC protocol versions supported by the server.
   6550      * </pre>
   6551      *
   6552      * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 6;</code>
   6553      */
   6554     public io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersionsOrBuilder getRpcVersionsOrBuilder() {
   6555       return getRpcVersions();
   6556     }
   6557 
   6558     private byte memoizedIsInitialized = -1;
   6559     public final boolean isInitialized() {
   6560       byte isInitialized = memoizedIsInitialized;
   6561       if (isInitialized == 1) return true;
   6562       if (isInitialized == 0) return false;
   6563 
   6564       memoizedIsInitialized = 1;
   6565       return true;
   6566     }
   6567 
   6568     public void writeTo(com.google.protobuf.CodedOutputStream output)
   6569                         throws java.io.IOException {
   6570       for (int i = 0; i < applicationProtocols_.size(); i++) {
   6571         com.google.protobuf.GeneratedMessageV3.writeString(output, 1, applicationProtocols_.getRaw(i));
   6572       }
   6573       com.google.protobuf.GeneratedMessageV3
   6574         .serializeIntegerMapTo(
   6575           output,
   6576           internalGetHandshakeParameters(),
   6577           HandshakeParametersDefaultEntryHolder.defaultEntry,
   6578           2);
   6579       if (!inBytes_.isEmpty()) {
   6580         output.writeBytes(3, inBytes_);
   6581       }
   6582       if (localEndpoint_ != null) {
   6583         output.writeMessage(4, getLocalEndpoint());
   6584       }
   6585       if (remoteEndpoint_ != null) {
   6586         output.writeMessage(5, getRemoteEndpoint());
   6587       }
   6588       if (rpcVersions_ != null) {
   6589         output.writeMessage(6, getRpcVersions());
   6590       }
   6591       unknownFields.writeTo(output);
   6592     }
   6593 
   6594     public int getSerializedSize() {
   6595       int size = memoizedSize;
   6596       if (size != -1) return size;
   6597 
   6598       size = 0;
   6599       {
   6600         int dataSize = 0;
   6601         for (int i = 0; i < applicationProtocols_.size(); i++) {
   6602           dataSize += computeStringSizeNoTag(applicationProtocols_.getRaw(i));
   6603         }
   6604         size += dataSize;
   6605         size += 1 * getApplicationProtocolsList().size();
   6606       }
   6607       for (java.util.Map.Entry<java.lang.Integer, io.grpc.alts.internal.Handshaker.ServerHandshakeParameters> entry
   6608            : internalGetHandshakeParameters().getMap().entrySet()) {
   6609         com.google.protobuf.MapEntry<java.lang.Integer, io.grpc.alts.internal.Handshaker.ServerHandshakeParameters>
   6610         handshakeParameters__ = HandshakeParametersDefaultEntryHolder.defaultEntry.newBuilderForType()
   6611             .setKey(entry.getKey())
   6612             .setValue(entry.getValue())
   6613             .build();
   6614         size += com.google.protobuf.CodedOutputStream
   6615             .computeMessageSize(2, handshakeParameters__);
   6616       }
   6617       if (!inBytes_.isEmpty()) {
   6618         size += com.google.protobuf.CodedOutputStream
   6619           .computeBytesSize(3, inBytes_);
   6620       }
   6621       if (localEndpoint_ != null) {
   6622         size += com.google.protobuf.CodedOutputStream
   6623           .computeMessageSize(4, getLocalEndpoint());
   6624       }
   6625       if (remoteEndpoint_ != null) {
   6626         size += com.google.protobuf.CodedOutputStream
   6627           .computeMessageSize(5, getRemoteEndpoint());
   6628       }
   6629       if (rpcVersions_ != null) {
   6630         size += com.google.protobuf.CodedOutputStream
   6631           .computeMessageSize(6, getRpcVersions());
   6632       }
   6633       size += unknownFields.getSerializedSize();
   6634       memoizedSize = size;
   6635       return size;
   6636     }
   6637 
   6638     @java.lang.Override
   6639     public boolean equals(final java.lang.Object obj) {
   6640       if (obj == this) {
   6641        return true;
   6642       }
   6643       if (!(obj instanceof io.grpc.alts.internal.Handshaker.StartServerHandshakeReq)) {
   6644         return super.equals(obj);
   6645       }
   6646       io.grpc.alts.internal.Handshaker.StartServerHandshakeReq other = (io.grpc.alts.internal.Handshaker.StartServerHandshakeReq) obj;
   6647 
   6648       boolean result = true;
   6649       result = result && getApplicationProtocolsList()
   6650           .equals(other.getApplicationProtocolsList());
   6651       result = result && internalGetHandshakeParameters().equals(
   6652           other.internalGetHandshakeParameters());
   6653       result = result && getInBytes()
   6654           .equals(other.getInBytes());
   6655       result = result && (hasLocalEndpoint() == other.hasLocalEndpoint());
   6656       if (hasLocalEndpoint()) {
   6657         result = result && getLocalEndpoint()
   6658             .equals(other.getLocalEndpoint());
   6659       }
   6660       result = result && (hasRemoteEndpoint() == other.hasRemoteEndpoint());
   6661       if (hasRemoteEndpoint()) {
   6662         result = result && getRemoteEndpoint()
   6663             .equals(other.getRemoteEndpoint());
   6664       }
   6665       result = result && (hasRpcVersions() == other.hasRpcVersions());
   6666       if (hasRpcVersions()) {
   6667         result = result && getRpcVersions()
   6668             .equals(other.getRpcVersions());
   6669       }
   6670       result = result && unknownFields.equals(other.unknownFields);
   6671       return result;
   6672     }
   6673 
   6674     @java.lang.Override
   6675     public int hashCode() {
   6676       if (memoizedHashCode != 0) {
   6677         return memoizedHashCode;
   6678       }
   6679       int hash = 41;
   6680       hash = (19 * hash) + getDescriptor().hashCode();
   6681       if (getApplicationProtocolsCount() > 0) {
   6682         hash = (37 * hash) + APPLICATION_PROTOCOLS_FIELD_NUMBER;
   6683         hash = (53 * hash) + getApplicationProtocolsList().hashCode();
   6684       }
   6685       if (!internalGetHandshakeParameters().getMap().isEmpty()) {
   6686         hash = (37 * hash) + HANDSHAKE_PARAMETERS_FIELD_NUMBER;
   6687         hash = (53 * hash) + internalGetHandshakeParameters().hashCode();
   6688       }
   6689       hash = (37 * hash) + IN_BYTES_FIELD_NUMBER;
   6690       hash = (53 * hash) + getInBytes().hashCode();
   6691       if (hasLocalEndpoint()) {
   6692         hash = (37 * hash) + LOCAL_ENDPOINT_FIELD_NUMBER;
   6693         hash = (53 * hash) + getLocalEndpoint().hashCode();
   6694       }
   6695       if (hasRemoteEndpoint()) {
   6696         hash = (37 * hash) + REMOTE_ENDPOINT_FIELD_NUMBER;
   6697         hash = (53 * hash) + getRemoteEndpoint().hashCode();
   6698       }
   6699       if (hasRpcVersions()) {
   6700         hash = (37 * hash) + RPC_VERSIONS_FIELD_NUMBER;
   6701         hash = (53 * hash) + getRpcVersions().hashCode();
   6702       }
   6703       hash = (29 * hash) + unknownFields.hashCode();
   6704       memoizedHashCode = hash;
   6705       return hash;
   6706     }
   6707 
   6708     public static io.grpc.alts.internal.Handshaker.StartServerHandshakeReq parseFrom(
   6709         java.nio.ByteBuffer data)
   6710         throws com.google.protobuf.InvalidProtocolBufferException {
   6711       return PARSER.parseFrom(data);
   6712     }
   6713     public static io.grpc.alts.internal.Handshaker.StartServerHandshakeReq parseFrom(
   6714         java.nio.ByteBuffer data,
   6715         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   6716         throws com.google.protobuf.InvalidProtocolBufferException {
   6717       return PARSER.parseFrom(data, extensionRegistry);
   6718     }
   6719     public static io.grpc.alts.internal.Handshaker.StartServerHandshakeReq parseFrom(
   6720         com.google.protobuf.ByteString data)
   6721         throws com.google.protobuf.InvalidProtocolBufferException {
   6722       return PARSER.parseFrom(data);
   6723     }
   6724     public static io.grpc.alts.internal.Handshaker.StartServerHandshakeReq parseFrom(
   6725         com.google.protobuf.ByteString data,
   6726         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   6727         throws com.google.protobuf.InvalidProtocolBufferException {
   6728       return PARSER.parseFrom(data, extensionRegistry);
   6729     }
   6730     public static io.grpc.alts.internal.Handshaker.StartServerHandshakeReq parseFrom(byte[] data)
   6731         throws com.google.protobuf.InvalidProtocolBufferException {
   6732       return PARSER.parseFrom(data);
   6733     }
   6734     public static io.grpc.alts.internal.Handshaker.StartServerHandshakeReq parseFrom(
   6735         byte[] data,
   6736         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   6737         throws com.google.protobuf.InvalidProtocolBufferException {
   6738       return PARSER.parseFrom(data, extensionRegistry);
   6739     }
   6740     public static io.grpc.alts.internal.Handshaker.StartServerHandshakeReq parseFrom(java.io.InputStream input)
   6741         throws java.io.IOException {
   6742       return com.google.protobuf.GeneratedMessageV3
   6743           .parseWithIOException(PARSER, input);
   6744     }
   6745     public static io.grpc.alts.internal.Handshaker.StartServerHandshakeReq parseFrom(
   6746         java.io.InputStream input,
   6747         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   6748         throws java.io.IOException {
   6749       return com.google.protobuf.GeneratedMessageV3
   6750           .parseWithIOException(PARSER, input, extensionRegistry);
   6751     }
   6752     public static io.grpc.alts.internal.Handshaker.StartServerHandshakeReq parseDelimitedFrom(java.io.InputStream input)
   6753         throws java.io.IOException {
   6754       return com.google.protobuf.GeneratedMessageV3
   6755           .parseDelimitedWithIOException(PARSER, input);
   6756     }
   6757     public static io.grpc.alts.internal.Handshaker.StartServerHandshakeReq parseDelimitedFrom(
   6758         java.io.InputStream input,
   6759         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   6760         throws java.io.IOException {
   6761       return com.google.protobuf.GeneratedMessageV3
   6762           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
   6763     }
   6764     public static io.grpc.alts.internal.Handshaker.StartServerHandshakeReq parseFrom(
   6765         com.google.protobuf.CodedInputStream input)
   6766         throws java.io.IOException {
   6767       return com.google.protobuf.GeneratedMessageV3
   6768           .parseWithIOException(PARSER, input);
   6769     }
   6770     public static io.grpc.alts.internal.Handshaker.StartServerHandshakeReq parseFrom(
   6771         com.google.protobuf.CodedInputStream input,
   6772         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   6773         throws java.io.IOException {
   6774       return com.google.protobuf.GeneratedMessageV3
   6775           .parseWithIOException(PARSER, input, extensionRegistry);
   6776     }
   6777 
   6778     public Builder newBuilderForType() { return newBuilder(); }
   6779     public static Builder newBuilder() {
   6780       return DEFAULT_INSTANCE.toBuilder();
   6781     }
   6782     public static Builder newBuilder(io.grpc.alts.internal.Handshaker.StartServerHandshakeReq prototype) {
   6783       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
   6784     }
   6785     public Builder toBuilder() {
   6786       return this == DEFAULT_INSTANCE
   6787           ? new Builder() : new Builder().mergeFrom(this);
   6788     }
   6789 
   6790     @java.lang.Override
   6791     protected Builder newBuilderForType(
   6792         com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
   6793       Builder builder = new Builder(parent);
   6794       return builder;
   6795     }
   6796     /**
   6797      * Protobuf type {@code grpc.gcp.StartServerHandshakeReq}
   6798      */
   6799     public static final class Builder extends
   6800         com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
   6801         // @@protoc_insertion_point(builder_implements:grpc.gcp.StartServerHandshakeReq)
   6802         io.grpc.alts.internal.Handshaker.StartServerHandshakeReqOrBuilder {
   6803       public static final com.google.protobuf.Descriptors.Descriptor
   6804           getDescriptor() {
   6805         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_StartServerHandshakeReq_descriptor;
   6806       }
   6807 
   6808       @SuppressWarnings({"rawtypes"})
   6809       protected com.google.protobuf.MapField internalGetMapField(
   6810           int number) {
   6811         switch (number) {
   6812           case 2:
   6813             return internalGetHandshakeParameters();
   6814           default:
   6815             throw new RuntimeException(
   6816                 "Invalid map field number: " + number);
   6817         }
   6818       }
   6819       @SuppressWarnings({"rawtypes"})
   6820       protected com.google.protobuf.MapField internalGetMutableMapField(
   6821           int number) {
   6822         switch (number) {
   6823           case 2:
   6824             return internalGetMutableHandshakeParameters();
   6825           default:
   6826             throw new RuntimeException(
   6827                 "Invalid map field number: " + number);
   6828         }
   6829       }
   6830       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
   6831           internalGetFieldAccessorTable() {
   6832         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_StartServerHandshakeReq_fieldAccessorTable
   6833             .ensureFieldAccessorsInitialized(
   6834                 io.grpc.alts.internal.Handshaker.StartServerHandshakeReq.class, io.grpc.alts.internal.Handshaker.StartServerHandshakeReq.Builder.class);
   6835       }
   6836 
   6837       // Construct using io.grpc.alts.internal.Handshaker.StartServerHandshakeReq.newBuilder()
   6838       private Builder() {
   6839         maybeForceBuilderInitialization();
   6840       }
   6841 
   6842       private Builder(
   6843           com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
   6844         super(parent);
   6845         maybeForceBuilderInitialization();
   6846       }
   6847       private void maybeForceBuilderInitialization() {
   6848         if (com.google.protobuf.GeneratedMessageV3
   6849                 .alwaysUseFieldBuilders) {
   6850         }
   6851       }
   6852       public Builder clear() {
   6853         super.clear();
   6854         applicationProtocols_ = com.google.protobuf.LazyStringArrayList.EMPTY;
   6855         bitField0_ = (bitField0_ & ~0x00000001);
   6856         internalGetMutableHandshakeParameters().clear();
   6857         inBytes_ = com.google.protobuf.ByteString.EMPTY;
   6858 
   6859         if (localEndpointBuilder_ == null) {
   6860           localEndpoint_ = null;
   6861         } else {
   6862           localEndpoint_ = null;
   6863           localEndpointBuilder_ = null;
   6864         }
   6865         if (remoteEndpointBuilder_ == null) {
   6866           remoteEndpoint_ = null;
   6867         } else {
   6868           remoteEndpoint_ = null;
   6869           remoteEndpointBuilder_ = null;
   6870         }
   6871         if (rpcVersionsBuilder_ == null) {
   6872           rpcVersions_ = null;
   6873         } else {
   6874           rpcVersions_ = null;
   6875           rpcVersionsBuilder_ = null;
   6876         }
   6877         return this;
   6878       }
   6879 
   6880       public com.google.protobuf.Descriptors.Descriptor
   6881           getDescriptorForType() {
   6882         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_StartServerHandshakeReq_descriptor;
   6883       }
   6884 
   6885       public io.grpc.alts.internal.Handshaker.StartServerHandshakeReq getDefaultInstanceForType() {
   6886         return io.grpc.alts.internal.Handshaker.StartServerHandshakeReq.getDefaultInstance();
   6887       }
   6888 
   6889       public io.grpc.alts.internal.Handshaker.StartServerHandshakeReq build() {
   6890         io.grpc.alts.internal.Handshaker.StartServerHandshakeReq result = buildPartial();
   6891         if (!result.isInitialized()) {
   6892           throw newUninitializedMessageException(result);
   6893         }
   6894         return result;
   6895       }
   6896 
   6897       public io.grpc.alts.internal.Handshaker.StartServerHandshakeReq buildPartial() {
   6898         io.grpc.alts.internal.Handshaker.StartServerHandshakeReq result = new io.grpc.alts.internal.Handshaker.StartServerHandshakeReq(this);
   6899         int from_bitField0_ = bitField0_;
   6900         int to_bitField0_ = 0;
   6901         if (((bitField0_ & 0x00000001) == 0x00000001)) {
   6902           applicationProtocols_ = applicationProtocols_.getUnmodifiableView();
   6903           bitField0_ = (bitField0_ & ~0x00000001);
   6904         }
   6905         result.applicationProtocols_ = applicationProtocols_;
   6906         result.handshakeParameters_ = internalGetHandshakeParameters();
   6907         result.handshakeParameters_.makeImmutable();
   6908         result.inBytes_ = inBytes_;
   6909         if (localEndpointBuilder_ == null) {
   6910           result.localEndpoint_ = localEndpoint_;
   6911         } else {
   6912           result.localEndpoint_ = localEndpointBuilder_.build();
   6913         }
   6914         if (remoteEndpointBuilder_ == null) {
   6915           result.remoteEndpoint_ = remoteEndpoint_;
   6916         } else {
   6917           result.remoteEndpoint_ = remoteEndpointBuilder_.build();
   6918         }
   6919         if (rpcVersionsBuilder_ == null) {
   6920           result.rpcVersions_ = rpcVersions_;
   6921         } else {
   6922           result.rpcVersions_ = rpcVersionsBuilder_.build();
   6923         }
   6924         result.bitField0_ = to_bitField0_;
   6925         onBuilt();
   6926         return result;
   6927       }
   6928 
   6929       public Builder clone() {
   6930         return (Builder) super.clone();
   6931       }
   6932       public Builder setField(
   6933           com.google.protobuf.Descriptors.FieldDescriptor field,
   6934           java.lang.Object value) {
   6935         return (Builder) super.setField(field, value);
   6936       }
   6937       public Builder clearField(
   6938           com.google.protobuf.Descriptors.FieldDescriptor field) {
   6939         return (Builder) super.clearField(field);
   6940       }
   6941       public Builder clearOneof(
   6942           com.google.protobuf.Descriptors.OneofDescriptor oneof) {
   6943         return (Builder) super.clearOneof(oneof);
   6944       }
   6945       public Builder setRepeatedField(
   6946           com.google.protobuf.Descriptors.FieldDescriptor field,
   6947           int index, java.lang.Object value) {
   6948         return (Builder) super.setRepeatedField(field, index, value);
   6949       }
   6950       public Builder addRepeatedField(
   6951           com.google.protobuf.Descriptors.FieldDescriptor field,
   6952           java.lang.Object value) {
   6953         return (Builder) super.addRepeatedField(field, value);
   6954       }
   6955       public Builder mergeFrom(com.google.protobuf.Message other) {
   6956         if (other instanceof io.grpc.alts.internal.Handshaker.StartServerHandshakeReq) {
   6957           return mergeFrom((io.grpc.alts.internal.Handshaker.StartServerHandshakeReq)other);
   6958         } else {
   6959           super.mergeFrom(other);
   6960           return this;
   6961         }
   6962       }
   6963 
   6964       public Builder mergeFrom(io.grpc.alts.internal.Handshaker.StartServerHandshakeReq other) {
   6965         if (other == io.grpc.alts.internal.Handshaker.StartServerHandshakeReq.getDefaultInstance()) return this;
   6966         if (!other.applicationProtocols_.isEmpty()) {
   6967           if (applicationProtocols_.isEmpty()) {
   6968             applicationProtocols_ = other.applicationProtocols_;
   6969             bitField0_ = (bitField0_ & ~0x00000001);
   6970           } else {
   6971             ensureApplicationProtocolsIsMutable();
   6972             applicationProtocols_.addAll(other.applicationProtocols_);
   6973           }
   6974           onChanged();
   6975         }
   6976         internalGetMutableHandshakeParameters().mergeFrom(
   6977             other.internalGetHandshakeParameters());
   6978         if (other.getInBytes() != com.google.protobuf.ByteString.EMPTY) {
   6979           setInBytes(other.getInBytes());
   6980         }
   6981         if (other.hasLocalEndpoint()) {
   6982           mergeLocalEndpoint(other.getLocalEndpoint());
   6983         }
   6984         if (other.hasRemoteEndpoint()) {
   6985           mergeRemoteEndpoint(other.getRemoteEndpoint());
   6986         }
   6987         if (other.hasRpcVersions()) {
   6988           mergeRpcVersions(other.getRpcVersions());
   6989         }
   6990         this.mergeUnknownFields(other.unknownFields);
   6991         onChanged();
   6992         return this;
   6993       }
   6994 
   6995       public final boolean isInitialized() {
   6996         return true;
   6997       }
   6998 
   6999       public Builder mergeFrom(
   7000           com.google.protobuf.CodedInputStream input,
   7001           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   7002           throws java.io.IOException {
   7003         io.grpc.alts.internal.Handshaker.StartServerHandshakeReq parsedMessage = null;
   7004         try {
   7005           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
   7006         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
   7007           parsedMessage = (io.grpc.alts.internal.Handshaker.StartServerHandshakeReq) e.getUnfinishedMessage();
   7008           throw e.unwrapIOException();
   7009         } finally {
   7010           if (parsedMessage != null) {
   7011             mergeFrom(parsedMessage);
   7012           }
   7013         }
   7014         return this;
   7015       }
   7016       private int bitField0_;
   7017 
   7018       private com.google.protobuf.LazyStringList applicationProtocols_ = com.google.protobuf.LazyStringArrayList.EMPTY;
   7019       private void ensureApplicationProtocolsIsMutable() {
   7020         if (!((bitField0_ & 0x00000001) == 0x00000001)) {
   7021           applicationProtocols_ = new com.google.protobuf.LazyStringArrayList(applicationProtocols_);
   7022           bitField0_ |= 0x00000001;
   7023          }
   7024       }
   7025       /**
   7026        * <pre>
   7027        * The application protocols supported by the server, e.g., "h2" (for http2),
   7028        * "grpc".
   7029        * </pre>
   7030        *
   7031        * <code>repeated string application_protocols = 1;</code>
   7032        */
   7033       public com.google.protobuf.ProtocolStringList
   7034           getApplicationProtocolsList() {
   7035         return applicationProtocols_.getUnmodifiableView();
   7036       }
   7037       /**
   7038        * <pre>
   7039        * The application protocols supported by the server, e.g., "h2" (for http2),
   7040        * "grpc".
   7041        * </pre>
   7042        *
   7043        * <code>repeated string application_protocols = 1;</code>
   7044        */
   7045       public int getApplicationProtocolsCount() {
   7046         return applicationProtocols_.size();
   7047       }
   7048       /**
   7049        * <pre>
   7050        * The application protocols supported by the server, e.g., "h2" (for http2),
   7051        * "grpc".
   7052        * </pre>
   7053        *
   7054        * <code>repeated string application_protocols = 1;</code>
   7055        */
   7056       public java.lang.String getApplicationProtocols(int index) {
   7057         return applicationProtocols_.get(index);
   7058       }
   7059       /**
   7060        * <pre>
   7061        * The application protocols supported by the server, e.g., "h2" (for http2),
   7062        * "grpc".
   7063        * </pre>
   7064        *
   7065        * <code>repeated string application_protocols = 1;</code>
   7066        */
   7067       public com.google.protobuf.ByteString
   7068           getApplicationProtocolsBytes(int index) {
   7069         return applicationProtocols_.getByteString(index);
   7070       }
   7071       /**
   7072        * <pre>
   7073        * The application protocols supported by the server, e.g., "h2" (for http2),
   7074        * "grpc".
   7075        * </pre>
   7076        *
   7077        * <code>repeated string application_protocols = 1;</code>
   7078        */
   7079       public Builder setApplicationProtocols(
   7080           int index, java.lang.String value) {
   7081         if (value == null) {
   7082     throw new NullPointerException();
   7083   }
   7084   ensureApplicationProtocolsIsMutable();
   7085         applicationProtocols_.set(index, value);
   7086         onChanged();
   7087         return this;
   7088       }
   7089       /**
   7090        * <pre>
   7091        * The application protocols supported by the server, e.g., "h2" (for http2),
   7092        * "grpc".
   7093        * </pre>
   7094        *
   7095        * <code>repeated string application_protocols = 1;</code>
   7096        */
   7097       public Builder addApplicationProtocols(
   7098           java.lang.String value) {
   7099         if (value == null) {
   7100     throw new NullPointerException();
   7101   }
   7102   ensureApplicationProtocolsIsMutable();
   7103         applicationProtocols_.add(value);
   7104         onChanged();
   7105         return this;
   7106       }
   7107       /**
   7108        * <pre>
   7109        * The application protocols supported by the server, e.g., "h2" (for http2),
   7110        * "grpc".
   7111        * </pre>
   7112        *
   7113        * <code>repeated string application_protocols = 1;</code>
   7114        */
   7115       public Builder addAllApplicationProtocols(
   7116           java.lang.Iterable<java.lang.String> values) {
   7117         ensureApplicationProtocolsIsMutable();
   7118         com.google.protobuf.AbstractMessageLite.Builder.addAll(
   7119             values, applicationProtocols_);
   7120         onChanged();
   7121         return this;
   7122       }
   7123       /**
   7124        * <pre>
   7125        * The application protocols supported by the server, e.g., "h2" (for http2),
   7126        * "grpc".
   7127        * </pre>
   7128        *
   7129        * <code>repeated string application_protocols = 1;</code>
   7130        */
   7131       public Builder clearApplicationProtocols() {
   7132         applicationProtocols_ = com.google.protobuf.LazyStringArrayList.EMPTY;
   7133         bitField0_ = (bitField0_ & ~0x00000001);
   7134         onChanged();
   7135         return this;
   7136       }
   7137       /**
   7138        * <pre>
   7139        * The application protocols supported by the server, e.g., "h2" (for http2),
   7140        * "grpc".
   7141        * </pre>
   7142        *
   7143        * <code>repeated string application_protocols = 1;</code>
   7144        */
   7145       public Builder addApplicationProtocolsBytes(
   7146           com.google.protobuf.ByteString value) {
   7147         if (value == null) {
   7148     throw new NullPointerException();
   7149   }
   7150   checkByteStringIsUtf8(value);
   7151         ensureApplicationProtocolsIsMutable();
   7152         applicationProtocols_.add(value);
   7153         onChanged();
   7154         return this;
   7155       }
   7156 
   7157       private com.google.protobuf.MapField<
   7158           java.lang.Integer, io.grpc.alts.internal.Handshaker.ServerHandshakeParameters> handshakeParameters_;
   7159       private com.google.protobuf.MapField<java.lang.Integer, io.grpc.alts.internal.Handshaker.ServerHandshakeParameters>
   7160       internalGetHandshakeParameters() {
   7161         if (handshakeParameters_ == null) {
   7162           return com.google.protobuf.MapField.emptyMapField(
   7163               HandshakeParametersDefaultEntryHolder.defaultEntry);
   7164         }
   7165         return handshakeParameters_;
   7166       }
   7167       private com.google.protobuf.MapField<java.lang.Integer, io.grpc.alts.internal.Handshaker.ServerHandshakeParameters>
   7168       internalGetMutableHandshakeParameters() {
   7169         onChanged();;
   7170         if (handshakeParameters_ == null) {
   7171           handshakeParameters_ = com.google.protobuf.MapField.newMapField(
   7172               HandshakeParametersDefaultEntryHolder.defaultEntry);
   7173         }
   7174         if (!handshakeParameters_.isMutable()) {
   7175           handshakeParameters_ = handshakeParameters_.copy();
   7176         }
   7177         return handshakeParameters_;
   7178       }
   7179 
   7180       public int getHandshakeParametersCount() {
   7181         return internalGetHandshakeParameters().getMap().size();
   7182       }
   7183       /**
   7184        * <pre>
   7185        * Handshake parameters (record protocols and local identities supported by
   7186        * the server) mapped by the handshake protocol. Each handshake security
   7187        * protocol (e.g., TLS or ALTS) has its own set of record protocols and local
   7188        * identities. Since protobuf does not support enum as key to the map, the key
   7189        * to handshake_parameters is the integer value of HandshakeProtocol enum.
   7190        * </pre>
   7191        *
   7192        * <code>map&lt;int32, .grpc.gcp.ServerHandshakeParameters&gt; handshake_parameters = 2;</code>
   7193        */
   7194 
   7195       public boolean containsHandshakeParameters(
   7196           int key) {
   7197 
   7198         return internalGetHandshakeParameters().getMap().containsKey(key);
   7199       }
   7200       /**
   7201        * Use {@link #getHandshakeParametersMap()} instead.
   7202        */
   7203       @java.lang.Deprecated
   7204       public java.util.Map<java.lang.Integer, io.grpc.alts.internal.Handshaker.ServerHandshakeParameters> getHandshakeParameters() {
   7205         return getHandshakeParametersMap();
   7206       }
   7207       /**
   7208        * <pre>
   7209        * Handshake parameters (record protocols and local identities supported by
   7210        * the server) mapped by the handshake protocol. Each handshake security
   7211        * protocol (e.g., TLS or ALTS) has its own set of record protocols and local
   7212        * identities. Since protobuf does not support enum as key to the map, the key
   7213        * to handshake_parameters is the integer value of HandshakeProtocol enum.
   7214        * </pre>
   7215        *
   7216        * <code>map&lt;int32, .grpc.gcp.ServerHandshakeParameters&gt; handshake_parameters = 2;</code>
   7217        */
   7218 
   7219       public java.util.Map<java.lang.Integer, io.grpc.alts.internal.Handshaker.ServerHandshakeParameters> getHandshakeParametersMap() {
   7220         return internalGetHandshakeParameters().getMap();
   7221       }
   7222       /**
   7223        * <pre>
   7224        * Handshake parameters (record protocols and local identities supported by
   7225        * the server) mapped by the handshake protocol. Each handshake security
   7226        * protocol (e.g., TLS or ALTS) has its own set of record protocols and local
   7227        * identities. Since protobuf does not support enum as key to the map, the key
   7228        * to handshake_parameters is the integer value of HandshakeProtocol enum.
   7229        * </pre>
   7230        *
   7231        * <code>map&lt;int32, .grpc.gcp.ServerHandshakeParameters&gt; handshake_parameters = 2;</code>
   7232        */
   7233 
   7234       public io.grpc.alts.internal.Handshaker.ServerHandshakeParameters getHandshakeParametersOrDefault(
   7235           int key,
   7236           io.grpc.alts.internal.Handshaker.ServerHandshakeParameters defaultValue) {
   7237 
   7238         java.util.Map<java.lang.Integer, io.grpc.alts.internal.Handshaker.ServerHandshakeParameters> map =
   7239             internalGetHandshakeParameters().getMap();
   7240         return map.containsKey(key) ? map.get(key) : defaultValue;
   7241       }
   7242       /**
   7243        * <pre>
   7244        * Handshake parameters (record protocols and local identities supported by
   7245        * the server) mapped by the handshake protocol. Each handshake security
   7246        * protocol (e.g., TLS or ALTS) has its own set of record protocols and local
   7247        * identities. Since protobuf does not support enum as key to the map, the key
   7248        * to handshake_parameters is the integer value of HandshakeProtocol enum.
   7249        * </pre>
   7250        *
   7251        * <code>map&lt;int32, .grpc.gcp.ServerHandshakeParameters&gt; handshake_parameters = 2;</code>
   7252        */
   7253 
   7254       public io.grpc.alts.internal.Handshaker.ServerHandshakeParameters getHandshakeParametersOrThrow(
   7255           int key) {
   7256 
   7257         java.util.Map<java.lang.Integer, io.grpc.alts.internal.Handshaker.ServerHandshakeParameters> map =
   7258             internalGetHandshakeParameters().getMap();
   7259         if (!map.containsKey(key)) {
   7260           throw new java.lang.IllegalArgumentException();
   7261         }
   7262         return map.get(key);
   7263       }
   7264 
   7265       public Builder clearHandshakeParameters() {
   7266         internalGetMutableHandshakeParameters().getMutableMap()
   7267             .clear();
   7268         return this;
   7269       }
   7270       /**
   7271        * <pre>
   7272        * Handshake parameters (record protocols and local identities supported by
   7273        * the server) mapped by the handshake protocol. Each handshake security
   7274        * protocol (e.g., TLS or ALTS) has its own set of record protocols and local
   7275        * identities. Since protobuf does not support enum as key to the map, the key
   7276        * to handshake_parameters is the integer value of HandshakeProtocol enum.
   7277        * </pre>
   7278        *
   7279        * <code>map&lt;int32, .grpc.gcp.ServerHandshakeParameters&gt; handshake_parameters = 2;</code>
   7280        */
   7281 
   7282       public Builder removeHandshakeParameters(
   7283           int key) {
   7284 
   7285         internalGetMutableHandshakeParameters().getMutableMap()
   7286             .remove(key);
   7287         return this;
   7288       }
   7289       /**
   7290        * Use alternate mutation accessors instead.
   7291        */
   7292       @java.lang.Deprecated
   7293       public java.util.Map<java.lang.Integer, io.grpc.alts.internal.Handshaker.ServerHandshakeParameters>
   7294       getMutableHandshakeParameters() {
   7295         return internalGetMutableHandshakeParameters().getMutableMap();
   7296       }
   7297       /**
   7298        * <pre>
   7299        * Handshake parameters (record protocols and local identities supported by
   7300        * the server) mapped by the handshake protocol. Each handshake security
   7301        * protocol (e.g., TLS or ALTS) has its own set of record protocols and local
   7302        * identities. Since protobuf does not support enum as key to the map, the key
   7303        * to handshake_parameters is the integer value of HandshakeProtocol enum.
   7304        * </pre>
   7305        *
   7306        * <code>map&lt;int32, .grpc.gcp.ServerHandshakeParameters&gt; handshake_parameters = 2;</code>
   7307        */
   7308       public Builder putHandshakeParameters(
   7309           int key,
   7310           io.grpc.alts.internal.Handshaker.ServerHandshakeParameters value) {
   7311 
   7312         if (value == null) { throw new java.lang.NullPointerException(); }
   7313         internalGetMutableHandshakeParameters().getMutableMap()
   7314             .put(key, value);
   7315         return this;
   7316       }
   7317       /**
   7318        * <pre>
   7319        * Handshake parameters (record protocols and local identities supported by
   7320        * the server) mapped by the handshake protocol. Each handshake security
   7321        * protocol (e.g., TLS or ALTS) has its own set of record protocols and local
   7322        * identities. Since protobuf does not support enum as key to the map, the key
   7323        * to handshake_parameters is the integer value of HandshakeProtocol enum.
   7324        * </pre>
   7325        *
   7326        * <code>map&lt;int32, .grpc.gcp.ServerHandshakeParameters&gt; handshake_parameters = 2;</code>
   7327        */
   7328 
   7329       public Builder putAllHandshakeParameters(
   7330           java.util.Map<java.lang.Integer, io.grpc.alts.internal.Handshaker.ServerHandshakeParameters> values) {
   7331         internalGetMutableHandshakeParameters().getMutableMap()
   7332             .putAll(values);
   7333         return this;
   7334       }
   7335 
   7336       private com.google.protobuf.ByteString inBytes_ = com.google.protobuf.ByteString.EMPTY;
   7337       /**
   7338        * <pre>
   7339        * Bytes in out_frames returned from the peer's HandshakerResp. It is possible
   7340        * that the peer's out_frames are split into multiple HandshakReq messages.
   7341        * </pre>
   7342        *
   7343        * <code>bytes in_bytes = 3;</code>
   7344        */
   7345       public com.google.protobuf.ByteString getInBytes() {
   7346         return inBytes_;
   7347       }
   7348       /**
   7349        * <pre>
   7350        * Bytes in out_frames returned from the peer's HandshakerResp. It is possible
   7351        * that the peer's out_frames are split into multiple HandshakReq messages.
   7352        * </pre>
   7353        *
   7354        * <code>bytes in_bytes = 3;</code>
   7355        */
   7356       public Builder setInBytes(com.google.protobuf.ByteString value) {
   7357         if (value == null) {
   7358     throw new NullPointerException();
   7359   }
   7360 
   7361         inBytes_ = value;
   7362         onChanged();
   7363         return this;
   7364       }
   7365       /**
   7366        * <pre>
   7367        * Bytes in out_frames returned from the peer's HandshakerResp. It is possible
   7368        * that the peer's out_frames are split into multiple HandshakReq messages.
   7369        * </pre>
   7370        *
   7371        * <code>bytes in_bytes = 3;</code>
   7372        */
   7373       public Builder clearInBytes() {
   7374 
   7375         inBytes_ = getDefaultInstance().getInBytes();
   7376         onChanged();
   7377         return this;
   7378       }
   7379 
   7380       private io.grpc.alts.internal.Handshaker.Endpoint localEndpoint_ = null;
   7381       private com.google.protobuf.SingleFieldBuilderV3<
   7382           io.grpc.alts.internal.Handshaker.Endpoint, io.grpc.alts.internal.Handshaker.Endpoint.Builder, io.grpc.alts.internal.Handshaker.EndpointOrBuilder> localEndpointBuilder_;
   7383       /**
   7384        * <pre>
   7385        * (Optional) Local endpoint information of the connection to the client,
   7386        * such as local IP address, port number, and network protocol.
   7387        * </pre>
   7388        *
   7389        * <code>.grpc.gcp.Endpoint local_endpoint = 4;</code>
   7390        */
   7391       public boolean hasLocalEndpoint() {
   7392         return localEndpointBuilder_ != null || localEndpoint_ != null;
   7393       }
   7394       /**
   7395        * <pre>
   7396        * (Optional) Local endpoint information of the connection to the client,
   7397        * such as local IP address, port number, and network protocol.
   7398        * </pre>
   7399        *
   7400        * <code>.grpc.gcp.Endpoint local_endpoint = 4;</code>
   7401        */
   7402       public io.grpc.alts.internal.Handshaker.Endpoint getLocalEndpoint() {
   7403         if (localEndpointBuilder_ == null) {
   7404           return localEndpoint_ == null ? io.grpc.alts.internal.Handshaker.Endpoint.getDefaultInstance() : localEndpoint_;
   7405         } else {
   7406           return localEndpointBuilder_.getMessage();
   7407         }
   7408       }
   7409       /**
   7410        * <pre>
   7411        * (Optional) Local endpoint information of the connection to the client,
   7412        * such as local IP address, port number, and network protocol.
   7413        * </pre>
   7414        *
   7415        * <code>.grpc.gcp.Endpoint local_endpoint = 4;</code>
   7416        */
   7417       public Builder setLocalEndpoint(io.grpc.alts.internal.Handshaker.Endpoint value) {
   7418         if (localEndpointBuilder_ == null) {
   7419           if (value == null) {
   7420             throw new NullPointerException();
   7421           }
   7422           localEndpoint_ = value;
   7423           onChanged();
   7424         } else {
   7425           localEndpointBuilder_.setMessage(value);
   7426         }
   7427 
   7428         return this;
   7429       }
   7430       /**
   7431        * <pre>
   7432        * (Optional) Local endpoint information of the connection to the client,
   7433        * such as local IP address, port number, and network protocol.
   7434        * </pre>
   7435        *
   7436        * <code>.grpc.gcp.Endpoint local_endpoint = 4;</code>
   7437        */
   7438       public Builder setLocalEndpoint(
   7439           io.grpc.alts.internal.Handshaker.Endpoint.Builder builderForValue) {
   7440         if (localEndpointBuilder_ == null) {
   7441           localEndpoint_ = builderForValue.build();
   7442           onChanged();
   7443         } else {
   7444           localEndpointBuilder_.setMessage(builderForValue.build());
   7445         }
   7446 
   7447         return this;
   7448       }
   7449       /**
   7450        * <pre>
   7451        * (Optional) Local endpoint information of the connection to the client,
   7452        * such as local IP address, port number, and network protocol.
   7453        * </pre>
   7454        *
   7455        * <code>.grpc.gcp.Endpoint local_endpoint = 4;</code>
   7456        */
   7457       public Builder mergeLocalEndpoint(io.grpc.alts.internal.Handshaker.Endpoint value) {
   7458         if (localEndpointBuilder_ == null) {
   7459           if (localEndpoint_ != null) {
   7460             localEndpoint_ =
   7461               io.grpc.alts.internal.Handshaker.Endpoint.newBuilder(localEndpoint_).mergeFrom(value).buildPartial();
   7462           } else {
   7463             localEndpoint_ = value;
   7464           }
   7465           onChanged();
   7466         } else {
   7467           localEndpointBuilder_.mergeFrom(value);
   7468         }
   7469 
   7470         return this;
   7471       }
   7472       /**
   7473        * <pre>
   7474        * (Optional) Local endpoint information of the connection to the client,
   7475        * such as local IP address, port number, and network protocol.
   7476        * </pre>
   7477        *
   7478        * <code>.grpc.gcp.Endpoint local_endpoint = 4;</code>
   7479        */
   7480       public Builder clearLocalEndpoint() {
   7481         if (localEndpointBuilder_ == null) {
   7482           localEndpoint_ = null;
   7483           onChanged();
   7484         } else {
   7485           localEndpoint_ = null;
   7486           localEndpointBuilder_ = null;
   7487         }
   7488 
   7489         return this;
   7490       }
   7491       /**
   7492        * <pre>
   7493        * (Optional) Local endpoint information of the connection to the client,
   7494        * such as local IP address, port number, and network protocol.
   7495        * </pre>
   7496        *
   7497        * <code>.grpc.gcp.Endpoint local_endpoint = 4;</code>
   7498        */
   7499       public io.grpc.alts.internal.Handshaker.Endpoint.Builder getLocalEndpointBuilder() {
   7500 
   7501         onChanged();
   7502         return getLocalEndpointFieldBuilder().getBuilder();
   7503       }
   7504       /**
   7505        * <pre>
   7506        * (Optional) Local endpoint information of the connection to the client,
   7507        * such as local IP address, port number, and network protocol.
   7508        * </pre>
   7509        *
   7510        * <code>.grpc.gcp.Endpoint local_endpoint = 4;</code>
   7511        */
   7512       public io.grpc.alts.internal.Handshaker.EndpointOrBuilder getLocalEndpointOrBuilder() {
   7513         if (localEndpointBuilder_ != null) {
   7514           return localEndpointBuilder_.getMessageOrBuilder();
   7515         } else {
   7516           return localEndpoint_ == null ?
   7517               io.grpc.alts.internal.Handshaker.Endpoint.getDefaultInstance() : localEndpoint_;
   7518         }
   7519       }
   7520       /**
   7521        * <pre>
   7522        * (Optional) Local endpoint information of the connection to the client,
   7523        * such as local IP address, port number, and network protocol.
   7524        * </pre>
   7525        *
   7526        * <code>.grpc.gcp.Endpoint local_endpoint = 4;</code>
   7527        */
   7528       private com.google.protobuf.SingleFieldBuilderV3<
   7529           io.grpc.alts.internal.Handshaker.Endpoint, io.grpc.alts.internal.Handshaker.Endpoint.Builder, io.grpc.alts.internal.Handshaker.EndpointOrBuilder>
   7530           getLocalEndpointFieldBuilder() {
   7531         if (localEndpointBuilder_ == null) {
   7532           localEndpointBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
   7533               io.grpc.alts.internal.Handshaker.Endpoint, io.grpc.alts.internal.Handshaker.Endpoint.Builder, io.grpc.alts.internal.Handshaker.EndpointOrBuilder>(
   7534                   getLocalEndpoint(),
   7535                   getParentForChildren(),
   7536                   isClean());
   7537           localEndpoint_ = null;
   7538         }
   7539         return localEndpointBuilder_;
   7540       }
   7541 
   7542       private io.grpc.alts.internal.Handshaker.Endpoint remoteEndpoint_ = null;
   7543       private com.google.protobuf.SingleFieldBuilderV3<
   7544           io.grpc.alts.internal.Handshaker.Endpoint, io.grpc.alts.internal.Handshaker.Endpoint.Builder, io.grpc.alts.internal.Handshaker.EndpointOrBuilder> remoteEndpointBuilder_;
   7545       /**
   7546        * <pre>
   7547        * (Optional) Endpoint information of the remote client, such as IP address,
   7548        * port number, and network protocol.
   7549        * </pre>
   7550        *
   7551        * <code>.grpc.gcp.Endpoint remote_endpoint = 5;</code>
   7552        */
   7553       public boolean hasRemoteEndpoint() {
   7554         return remoteEndpointBuilder_ != null || remoteEndpoint_ != null;
   7555       }
   7556       /**
   7557        * <pre>
   7558        * (Optional) Endpoint information of the remote client, such as IP address,
   7559        * port number, and network protocol.
   7560        * </pre>
   7561        *
   7562        * <code>.grpc.gcp.Endpoint remote_endpoint = 5;</code>
   7563        */
   7564       public io.grpc.alts.internal.Handshaker.Endpoint getRemoteEndpoint() {
   7565         if (remoteEndpointBuilder_ == null) {
   7566           return remoteEndpoint_ == null ? io.grpc.alts.internal.Handshaker.Endpoint.getDefaultInstance() : remoteEndpoint_;
   7567         } else {
   7568           return remoteEndpointBuilder_.getMessage();
   7569         }
   7570       }
   7571       /**
   7572        * <pre>
   7573        * (Optional) Endpoint information of the remote client, such as IP address,
   7574        * port number, and network protocol.
   7575        * </pre>
   7576        *
   7577        * <code>.grpc.gcp.Endpoint remote_endpoint = 5;</code>
   7578        */
   7579       public Builder setRemoteEndpoint(io.grpc.alts.internal.Handshaker.Endpoint value) {
   7580         if (remoteEndpointBuilder_ == null) {
   7581           if (value == null) {
   7582             throw new NullPointerException();
   7583           }
   7584           remoteEndpoint_ = value;
   7585           onChanged();
   7586         } else {
   7587           remoteEndpointBuilder_.setMessage(value);
   7588         }
   7589 
   7590         return this;
   7591       }
   7592       /**
   7593        * <pre>
   7594        * (Optional) Endpoint information of the remote client, such as IP address,
   7595        * port number, and network protocol.
   7596        * </pre>
   7597        *
   7598        * <code>.grpc.gcp.Endpoint remote_endpoint = 5;</code>
   7599        */
   7600       public Builder setRemoteEndpoint(
   7601           io.grpc.alts.internal.Handshaker.Endpoint.Builder builderForValue) {
   7602         if (remoteEndpointBuilder_ == null) {
   7603           remoteEndpoint_ = builderForValue.build();
   7604           onChanged();
   7605         } else {
   7606           remoteEndpointBuilder_.setMessage(builderForValue.build());
   7607         }
   7608 
   7609         return this;
   7610       }
   7611       /**
   7612        * <pre>
   7613        * (Optional) Endpoint information of the remote client, such as IP address,
   7614        * port number, and network protocol.
   7615        * </pre>
   7616        *
   7617        * <code>.grpc.gcp.Endpoint remote_endpoint = 5;</code>
   7618        */
   7619       public Builder mergeRemoteEndpoint(io.grpc.alts.internal.Handshaker.Endpoint value) {
   7620         if (remoteEndpointBuilder_ == null) {
   7621           if (remoteEndpoint_ != null) {
   7622             remoteEndpoint_ =
   7623               io.grpc.alts.internal.Handshaker.Endpoint.newBuilder(remoteEndpoint_).mergeFrom(value).buildPartial();
   7624           } else {
   7625             remoteEndpoint_ = value;
   7626           }
   7627           onChanged();
   7628         } else {
   7629           remoteEndpointBuilder_.mergeFrom(value);
   7630         }
   7631 
   7632         return this;
   7633       }
   7634       /**
   7635        * <pre>
   7636        * (Optional) Endpoint information of the remote client, such as IP address,
   7637        * port number, and network protocol.
   7638        * </pre>
   7639        *
   7640        * <code>.grpc.gcp.Endpoint remote_endpoint = 5;</code>
   7641        */
   7642       public Builder clearRemoteEndpoint() {
   7643         if (remoteEndpointBuilder_ == null) {
   7644           remoteEndpoint_ = null;
   7645           onChanged();
   7646         } else {
   7647           remoteEndpoint_ = null;
   7648           remoteEndpointBuilder_ = null;
   7649         }
   7650 
   7651         return this;
   7652       }
   7653       /**
   7654        * <pre>
   7655        * (Optional) Endpoint information of the remote client, such as IP address,
   7656        * port number, and network protocol.
   7657        * </pre>
   7658        *
   7659        * <code>.grpc.gcp.Endpoint remote_endpoint = 5;</code>
   7660        */
   7661       public io.grpc.alts.internal.Handshaker.Endpoint.Builder getRemoteEndpointBuilder() {
   7662 
   7663         onChanged();
   7664         return getRemoteEndpointFieldBuilder().getBuilder();
   7665       }
   7666       /**
   7667        * <pre>
   7668        * (Optional) Endpoint information of the remote client, such as IP address,
   7669        * port number, and network protocol.
   7670        * </pre>
   7671        *
   7672        * <code>.grpc.gcp.Endpoint remote_endpoint = 5;</code>
   7673        */
   7674       public io.grpc.alts.internal.Handshaker.EndpointOrBuilder getRemoteEndpointOrBuilder() {
   7675         if (remoteEndpointBuilder_ != null) {
   7676           return remoteEndpointBuilder_.getMessageOrBuilder();
   7677         } else {
   7678           return remoteEndpoint_ == null ?
   7679               io.grpc.alts.internal.Handshaker.Endpoint.getDefaultInstance() : remoteEndpoint_;
   7680         }
   7681       }
   7682       /**
   7683        * <pre>
   7684        * (Optional) Endpoint information of the remote client, such as IP address,
   7685        * port number, and network protocol.
   7686        * </pre>
   7687        *
   7688        * <code>.grpc.gcp.Endpoint remote_endpoint = 5;</code>
   7689        */
   7690       private com.google.protobuf.SingleFieldBuilderV3<
   7691           io.grpc.alts.internal.Handshaker.Endpoint, io.grpc.alts.internal.Handshaker.Endpoint.Builder, io.grpc.alts.internal.Handshaker.EndpointOrBuilder>
   7692           getRemoteEndpointFieldBuilder() {
   7693         if (remoteEndpointBuilder_ == null) {
   7694           remoteEndpointBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
   7695               io.grpc.alts.internal.Handshaker.Endpoint, io.grpc.alts.internal.Handshaker.Endpoint.Builder, io.grpc.alts.internal.Handshaker.EndpointOrBuilder>(
   7696                   getRemoteEndpoint(),
   7697                   getParentForChildren(),
   7698                   isClean());
   7699           remoteEndpoint_ = null;
   7700         }
   7701         return remoteEndpointBuilder_;
   7702       }
   7703 
   7704       private io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions rpcVersions_ = null;
   7705       private com.google.protobuf.SingleFieldBuilderV3<
   7706           io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions, io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.Builder, io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersionsOrBuilder> rpcVersionsBuilder_;
   7707       /**
   7708        * <pre>
   7709        * (Optional) RPC protocol versions supported by the server.
   7710        * </pre>
   7711        *
   7712        * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 6;</code>
   7713        */
   7714       public boolean hasRpcVersions() {
   7715         return rpcVersionsBuilder_ != null || rpcVersions_ != null;
   7716       }
   7717       /**
   7718        * <pre>
   7719        * (Optional) RPC protocol versions supported by the server.
   7720        * </pre>
   7721        *
   7722        * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 6;</code>
   7723        */
   7724       public io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions getRpcVersions() {
   7725         if (rpcVersionsBuilder_ == null) {
   7726           return rpcVersions_ == null ? io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.getDefaultInstance() : rpcVersions_;
   7727         } else {
   7728           return rpcVersionsBuilder_.getMessage();
   7729         }
   7730       }
   7731       /**
   7732        * <pre>
   7733        * (Optional) RPC protocol versions supported by the server.
   7734        * </pre>
   7735        *
   7736        * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 6;</code>
   7737        */
   7738       public Builder setRpcVersions(io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions value) {
   7739         if (rpcVersionsBuilder_ == null) {
   7740           if (value == null) {
   7741             throw new NullPointerException();
   7742           }
   7743           rpcVersions_ = value;
   7744           onChanged();
   7745         } else {
   7746           rpcVersionsBuilder_.setMessage(value);
   7747         }
   7748 
   7749         return this;
   7750       }
   7751       /**
   7752        * <pre>
   7753        * (Optional) RPC protocol versions supported by the server.
   7754        * </pre>
   7755        *
   7756        * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 6;</code>
   7757        */
   7758       public Builder setRpcVersions(
   7759           io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.Builder builderForValue) {
   7760         if (rpcVersionsBuilder_ == null) {
   7761           rpcVersions_ = builderForValue.build();
   7762           onChanged();
   7763         } else {
   7764           rpcVersionsBuilder_.setMessage(builderForValue.build());
   7765         }
   7766 
   7767         return this;
   7768       }
   7769       /**
   7770        * <pre>
   7771        * (Optional) RPC protocol versions supported by the server.
   7772        * </pre>
   7773        *
   7774        * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 6;</code>
   7775        */
   7776       public Builder mergeRpcVersions(io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions value) {
   7777         if (rpcVersionsBuilder_ == null) {
   7778           if (rpcVersions_ != null) {
   7779             rpcVersions_ =
   7780               io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.newBuilder(rpcVersions_).mergeFrom(value).buildPartial();
   7781           } else {
   7782             rpcVersions_ = value;
   7783           }
   7784           onChanged();
   7785         } else {
   7786           rpcVersionsBuilder_.mergeFrom(value);
   7787         }
   7788 
   7789         return this;
   7790       }
   7791       /**
   7792        * <pre>
   7793        * (Optional) RPC protocol versions supported by the server.
   7794        * </pre>
   7795        *
   7796        * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 6;</code>
   7797        */
   7798       public Builder clearRpcVersions() {
   7799         if (rpcVersionsBuilder_ == null) {
   7800           rpcVersions_ = null;
   7801           onChanged();
   7802         } else {
   7803           rpcVersions_ = null;
   7804           rpcVersionsBuilder_ = null;
   7805         }
   7806 
   7807         return this;
   7808       }
   7809       /**
   7810        * <pre>
   7811        * (Optional) RPC protocol versions supported by the server.
   7812        * </pre>
   7813        *
   7814        * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 6;</code>
   7815        */
   7816       public io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.Builder getRpcVersionsBuilder() {
   7817 
   7818         onChanged();
   7819         return getRpcVersionsFieldBuilder().getBuilder();
   7820       }
   7821       /**
   7822        * <pre>
   7823        * (Optional) RPC protocol versions supported by the server.
   7824        * </pre>
   7825        *
   7826        * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 6;</code>
   7827        */
   7828       public io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersionsOrBuilder getRpcVersionsOrBuilder() {
   7829         if (rpcVersionsBuilder_ != null) {
   7830           return rpcVersionsBuilder_.getMessageOrBuilder();
   7831         } else {
   7832           return rpcVersions_ == null ?
   7833               io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.getDefaultInstance() : rpcVersions_;
   7834         }
   7835       }
   7836       /**
   7837        * <pre>
   7838        * (Optional) RPC protocol versions supported by the server.
   7839        * </pre>
   7840        *
   7841        * <code>.grpc.gcp.RpcProtocolVersions rpc_versions = 6;</code>
   7842        */
   7843       private com.google.protobuf.SingleFieldBuilderV3<
   7844           io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions, io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.Builder, io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersionsOrBuilder>
   7845           getRpcVersionsFieldBuilder() {
   7846         if (rpcVersionsBuilder_ == null) {
   7847           rpcVersionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
   7848               io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions, io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.Builder, io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersionsOrBuilder>(
   7849                   getRpcVersions(),
   7850                   getParentForChildren(),
   7851                   isClean());
   7852           rpcVersions_ = null;
   7853         }
   7854         return rpcVersionsBuilder_;
   7855       }
   7856       public final Builder setUnknownFields(
   7857           final com.google.protobuf.UnknownFieldSet unknownFields) {
   7858         return super.setUnknownFieldsProto3(unknownFields);
   7859       }
   7860 
   7861       public final Builder mergeUnknownFields(
   7862           final com.google.protobuf.UnknownFieldSet unknownFields) {
   7863         return super.mergeUnknownFields(unknownFields);
   7864       }
   7865 
   7866 
   7867       // @@protoc_insertion_point(builder_scope:grpc.gcp.StartServerHandshakeReq)
   7868     }
   7869 
   7870     // @@protoc_insertion_point(class_scope:grpc.gcp.StartServerHandshakeReq)
   7871     private static final io.grpc.alts.internal.Handshaker.StartServerHandshakeReq DEFAULT_INSTANCE;
   7872     static {
   7873       DEFAULT_INSTANCE = new io.grpc.alts.internal.Handshaker.StartServerHandshakeReq();
   7874     }
   7875 
   7876     public static io.grpc.alts.internal.Handshaker.StartServerHandshakeReq getDefaultInstance() {
   7877       return DEFAULT_INSTANCE;
   7878     }
   7879 
   7880     private static final com.google.protobuf.Parser<StartServerHandshakeReq>
   7881         PARSER = new com.google.protobuf.AbstractParser<StartServerHandshakeReq>() {
   7882       public StartServerHandshakeReq parsePartialFrom(
   7883           com.google.protobuf.CodedInputStream input,
   7884           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   7885           throws com.google.protobuf.InvalidProtocolBufferException {
   7886         return new StartServerHandshakeReq(input, extensionRegistry);
   7887       }
   7888     };
   7889 
   7890     public static com.google.protobuf.Parser<StartServerHandshakeReq> parser() {
   7891       return PARSER;
   7892     }
   7893 
   7894     @java.lang.Override
   7895     public com.google.protobuf.Parser<StartServerHandshakeReq> getParserForType() {
   7896       return PARSER;
   7897     }
   7898 
   7899     public io.grpc.alts.internal.Handshaker.StartServerHandshakeReq getDefaultInstanceForType() {
   7900       return DEFAULT_INSTANCE;
   7901     }
   7902 
   7903   }
   7904 
   7905   public interface NextHandshakeMessageReqOrBuilder extends
   7906       // @@protoc_insertion_point(interface_extends:grpc.gcp.NextHandshakeMessageReq)
   7907       com.google.protobuf.MessageOrBuilder {
   7908 
   7909     /**
   7910      * <pre>
   7911      * Bytes in out_frames returned from the peer's HandshakerResp. It is possible
   7912      * that the peer's out_frames are split into multiple NextHandshakerMessageReq
   7913      * messages.
   7914      * </pre>
   7915      *
   7916      * <code>bytes in_bytes = 1;</code>
   7917      */
   7918     com.google.protobuf.ByteString getInBytes();
   7919   }
   7920   /**
   7921    * Protobuf type {@code grpc.gcp.NextHandshakeMessageReq}
   7922    */
   7923   public  static final class NextHandshakeMessageReq extends
   7924       com.google.protobuf.GeneratedMessageV3 implements
   7925       // @@protoc_insertion_point(message_implements:grpc.gcp.NextHandshakeMessageReq)
   7926       NextHandshakeMessageReqOrBuilder {
   7927   private static final long serialVersionUID = 0L;
   7928     // Use NextHandshakeMessageReq.newBuilder() to construct.
   7929     private NextHandshakeMessageReq(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
   7930       super(builder);
   7931     }
   7932     private NextHandshakeMessageReq() {
   7933       inBytes_ = com.google.protobuf.ByteString.EMPTY;
   7934     }
   7935 
   7936     @java.lang.Override
   7937     public final com.google.protobuf.UnknownFieldSet
   7938     getUnknownFields() {
   7939       return this.unknownFields;
   7940     }
   7941     private NextHandshakeMessageReq(
   7942         com.google.protobuf.CodedInputStream input,
   7943         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   7944         throws com.google.protobuf.InvalidProtocolBufferException {
   7945       this();
   7946       if (extensionRegistry == null) {
   7947         throw new java.lang.NullPointerException();
   7948       }
   7949       int mutable_bitField0_ = 0;
   7950       com.google.protobuf.UnknownFieldSet.Builder unknownFields =
   7951           com.google.protobuf.UnknownFieldSet.newBuilder();
   7952       try {
   7953         boolean done = false;
   7954         while (!done) {
   7955           int tag = input.readTag();
   7956           switch (tag) {
   7957             case 0:
   7958               done = true;
   7959               break;
   7960             default: {
   7961               if (!parseUnknownFieldProto3(
   7962                   input, unknownFields, extensionRegistry, tag)) {
   7963                 done = true;
   7964               }
   7965               break;
   7966             }
   7967             case 10: {
   7968 
   7969               inBytes_ = input.readBytes();
   7970               break;
   7971             }
   7972           }
   7973         }
   7974       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
   7975         throw e.setUnfinishedMessage(this);
   7976       } catch (java.io.IOException e) {
   7977         throw new com.google.protobuf.InvalidProtocolBufferException(
   7978             e).setUnfinishedMessage(this);
   7979       } finally {
   7980         this.unknownFields = unknownFields.build();
   7981         makeExtensionsImmutable();
   7982       }
   7983     }
   7984     public static final com.google.protobuf.Descriptors.Descriptor
   7985         getDescriptor() {
   7986       return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_NextHandshakeMessageReq_descriptor;
   7987     }
   7988 
   7989     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
   7990         internalGetFieldAccessorTable() {
   7991       return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_NextHandshakeMessageReq_fieldAccessorTable
   7992           .ensureFieldAccessorsInitialized(
   7993               io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq.class, io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq.Builder.class);
   7994     }
   7995 
   7996     public static final int IN_BYTES_FIELD_NUMBER = 1;
   7997     private com.google.protobuf.ByteString inBytes_;
   7998     /**
   7999      * <pre>
   8000      * Bytes in out_frames returned from the peer's HandshakerResp. It is possible
   8001      * that the peer's out_frames are split into multiple NextHandshakerMessageReq
   8002      * messages.
   8003      * </pre>
   8004      *
   8005      * <code>bytes in_bytes = 1;</code>
   8006      */
   8007     public com.google.protobuf.ByteString getInBytes() {
   8008       return inBytes_;
   8009     }
   8010 
   8011     private byte memoizedIsInitialized = -1;
   8012     public final boolean isInitialized() {
   8013       byte isInitialized = memoizedIsInitialized;
   8014       if (isInitialized == 1) return true;
   8015       if (isInitialized == 0) return false;
   8016 
   8017       memoizedIsInitialized = 1;
   8018       return true;
   8019     }
   8020 
   8021     public void writeTo(com.google.protobuf.CodedOutputStream output)
   8022                         throws java.io.IOException {
   8023       if (!inBytes_.isEmpty()) {
   8024         output.writeBytes(1, inBytes_);
   8025       }
   8026       unknownFields.writeTo(output);
   8027     }
   8028 
   8029     public int getSerializedSize() {
   8030       int size = memoizedSize;
   8031       if (size != -1) return size;
   8032 
   8033       size = 0;
   8034       if (!inBytes_.isEmpty()) {
   8035         size += com.google.protobuf.CodedOutputStream
   8036           .computeBytesSize(1, inBytes_);
   8037       }
   8038       size += unknownFields.getSerializedSize();
   8039       memoizedSize = size;
   8040       return size;
   8041     }
   8042 
   8043     @java.lang.Override
   8044     public boolean equals(final java.lang.Object obj) {
   8045       if (obj == this) {
   8046        return true;
   8047       }
   8048       if (!(obj instanceof io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq)) {
   8049         return super.equals(obj);
   8050       }
   8051       io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq other = (io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq) obj;
   8052 
   8053       boolean result = true;
   8054       result = result && getInBytes()
   8055           .equals(other.getInBytes());
   8056       result = result && unknownFields.equals(other.unknownFields);
   8057       return result;
   8058     }
   8059 
   8060     @java.lang.Override
   8061     public int hashCode() {
   8062       if (memoizedHashCode != 0) {
   8063         return memoizedHashCode;
   8064       }
   8065       int hash = 41;
   8066       hash = (19 * hash) + getDescriptor().hashCode();
   8067       hash = (37 * hash) + IN_BYTES_FIELD_NUMBER;
   8068       hash = (53 * hash) + getInBytes().hashCode();
   8069       hash = (29 * hash) + unknownFields.hashCode();
   8070       memoizedHashCode = hash;
   8071       return hash;
   8072     }
   8073 
   8074     public static io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq parseFrom(
   8075         java.nio.ByteBuffer data)
   8076         throws com.google.protobuf.InvalidProtocolBufferException {
   8077       return PARSER.parseFrom(data);
   8078     }
   8079     public static io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq parseFrom(
   8080         java.nio.ByteBuffer data,
   8081         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   8082         throws com.google.protobuf.InvalidProtocolBufferException {
   8083       return PARSER.parseFrom(data, extensionRegistry);
   8084     }
   8085     public static io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq parseFrom(
   8086         com.google.protobuf.ByteString data)
   8087         throws com.google.protobuf.InvalidProtocolBufferException {
   8088       return PARSER.parseFrom(data);
   8089     }
   8090     public static io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq parseFrom(
   8091         com.google.protobuf.ByteString data,
   8092         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   8093         throws com.google.protobuf.InvalidProtocolBufferException {
   8094       return PARSER.parseFrom(data, extensionRegistry);
   8095     }
   8096     public static io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq parseFrom(byte[] data)
   8097         throws com.google.protobuf.InvalidProtocolBufferException {
   8098       return PARSER.parseFrom(data);
   8099     }
   8100     public static io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq parseFrom(
   8101         byte[] data,
   8102         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   8103         throws com.google.protobuf.InvalidProtocolBufferException {
   8104       return PARSER.parseFrom(data, extensionRegistry);
   8105     }
   8106     public static io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq parseFrom(java.io.InputStream input)
   8107         throws java.io.IOException {
   8108       return com.google.protobuf.GeneratedMessageV3
   8109           .parseWithIOException(PARSER, input);
   8110     }
   8111     public static io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq parseFrom(
   8112         java.io.InputStream input,
   8113         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   8114         throws java.io.IOException {
   8115       return com.google.protobuf.GeneratedMessageV3
   8116           .parseWithIOException(PARSER, input, extensionRegistry);
   8117     }
   8118     public static io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq parseDelimitedFrom(java.io.InputStream input)
   8119         throws java.io.IOException {
   8120       return com.google.protobuf.GeneratedMessageV3
   8121           .parseDelimitedWithIOException(PARSER, input);
   8122     }
   8123     public static io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq parseDelimitedFrom(
   8124         java.io.InputStream input,
   8125         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   8126         throws java.io.IOException {
   8127       return com.google.protobuf.GeneratedMessageV3
   8128           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
   8129     }
   8130     public static io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq parseFrom(
   8131         com.google.protobuf.CodedInputStream input)
   8132         throws java.io.IOException {
   8133       return com.google.protobuf.GeneratedMessageV3
   8134           .parseWithIOException(PARSER, input);
   8135     }
   8136     public static io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq parseFrom(
   8137         com.google.protobuf.CodedInputStream input,
   8138         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   8139         throws java.io.IOException {
   8140       return com.google.protobuf.GeneratedMessageV3
   8141           .parseWithIOException(PARSER, input, extensionRegistry);
   8142     }
   8143 
   8144     public Builder newBuilderForType() { return newBuilder(); }
   8145     public static Builder newBuilder() {
   8146       return DEFAULT_INSTANCE.toBuilder();
   8147     }
   8148     public static Builder newBuilder(io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq prototype) {
   8149       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
   8150     }
   8151     public Builder toBuilder() {
   8152       return this == DEFAULT_INSTANCE
   8153           ? new Builder() : new Builder().mergeFrom(this);
   8154     }
   8155 
   8156     @java.lang.Override
   8157     protected Builder newBuilderForType(
   8158         com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
   8159       Builder builder = new Builder(parent);
   8160       return builder;
   8161     }
   8162     /**
   8163      * Protobuf type {@code grpc.gcp.NextHandshakeMessageReq}
   8164      */
   8165     public static final class Builder extends
   8166         com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
   8167         // @@protoc_insertion_point(builder_implements:grpc.gcp.NextHandshakeMessageReq)
   8168         io.grpc.alts.internal.Handshaker.NextHandshakeMessageReqOrBuilder {
   8169       public static final com.google.protobuf.Descriptors.Descriptor
   8170           getDescriptor() {
   8171         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_NextHandshakeMessageReq_descriptor;
   8172       }
   8173 
   8174       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
   8175           internalGetFieldAccessorTable() {
   8176         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_NextHandshakeMessageReq_fieldAccessorTable
   8177             .ensureFieldAccessorsInitialized(
   8178                 io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq.class, io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq.Builder.class);
   8179       }
   8180 
   8181       // Construct using io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq.newBuilder()
   8182       private Builder() {
   8183         maybeForceBuilderInitialization();
   8184       }
   8185 
   8186       private Builder(
   8187           com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
   8188         super(parent);
   8189         maybeForceBuilderInitialization();
   8190       }
   8191       private void maybeForceBuilderInitialization() {
   8192         if (com.google.protobuf.GeneratedMessageV3
   8193                 .alwaysUseFieldBuilders) {
   8194         }
   8195       }
   8196       public Builder clear() {
   8197         super.clear();
   8198         inBytes_ = com.google.protobuf.ByteString.EMPTY;
   8199 
   8200         return this;
   8201       }
   8202 
   8203       public com.google.protobuf.Descriptors.Descriptor
   8204           getDescriptorForType() {
   8205         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_NextHandshakeMessageReq_descriptor;
   8206       }
   8207 
   8208       public io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq getDefaultInstanceForType() {
   8209         return io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq.getDefaultInstance();
   8210       }
   8211 
   8212       public io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq build() {
   8213         io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq result = buildPartial();
   8214         if (!result.isInitialized()) {
   8215           throw newUninitializedMessageException(result);
   8216         }
   8217         return result;
   8218       }
   8219 
   8220       public io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq buildPartial() {
   8221         io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq result = new io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq(this);
   8222         result.inBytes_ = inBytes_;
   8223         onBuilt();
   8224         return result;
   8225       }
   8226 
   8227       public Builder clone() {
   8228         return (Builder) super.clone();
   8229       }
   8230       public Builder setField(
   8231           com.google.protobuf.Descriptors.FieldDescriptor field,
   8232           java.lang.Object value) {
   8233         return (Builder) super.setField(field, value);
   8234       }
   8235       public Builder clearField(
   8236           com.google.protobuf.Descriptors.FieldDescriptor field) {
   8237         return (Builder) super.clearField(field);
   8238       }
   8239       public Builder clearOneof(
   8240           com.google.protobuf.Descriptors.OneofDescriptor oneof) {
   8241         return (Builder) super.clearOneof(oneof);
   8242       }
   8243       public Builder setRepeatedField(
   8244           com.google.protobuf.Descriptors.FieldDescriptor field,
   8245           int index, java.lang.Object value) {
   8246         return (Builder) super.setRepeatedField(field, index, value);
   8247       }
   8248       public Builder addRepeatedField(
   8249           com.google.protobuf.Descriptors.FieldDescriptor field,
   8250           java.lang.Object value) {
   8251         return (Builder) super.addRepeatedField(field, value);
   8252       }
   8253       public Builder mergeFrom(com.google.protobuf.Message other) {
   8254         if (other instanceof io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq) {
   8255           return mergeFrom((io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq)other);
   8256         } else {
   8257           super.mergeFrom(other);
   8258           return this;
   8259         }
   8260       }
   8261 
   8262       public Builder mergeFrom(io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq other) {
   8263         if (other == io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq.getDefaultInstance()) return this;
   8264         if (other.getInBytes() != com.google.protobuf.ByteString.EMPTY) {
   8265           setInBytes(other.getInBytes());
   8266         }
   8267         this.mergeUnknownFields(other.unknownFields);
   8268         onChanged();
   8269         return this;
   8270       }
   8271 
   8272       public final boolean isInitialized() {
   8273         return true;
   8274       }
   8275 
   8276       public Builder mergeFrom(
   8277           com.google.protobuf.CodedInputStream input,
   8278           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   8279           throws java.io.IOException {
   8280         io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq parsedMessage = null;
   8281         try {
   8282           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
   8283         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
   8284           parsedMessage = (io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq) e.getUnfinishedMessage();
   8285           throw e.unwrapIOException();
   8286         } finally {
   8287           if (parsedMessage != null) {
   8288             mergeFrom(parsedMessage);
   8289           }
   8290         }
   8291         return this;
   8292       }
   8293 
   8294       private com.google.protobuf.ByteString inBytes_ = com.google.protobuf.ByteString.EMPTY;
   8295       /**
   8296        * <pre>
   8297        * Bytes in out_frames returned from the peer's HandshakerResp. It is possible
   8298        * that the peer's out_frames are split into multiple NextHandshakerMessageReq
   8299        * messages.
   8300        * </pre>
   8301        *
   8302        * <code>bytes in_bytes = 1;</code>
   8303        */
   8304       public com.google.protobuf.ByteString getInBytes() {
   8305         return inBytes_;
   8306       }
   8307       /**
   8308        * <pre>
   8309        * Bytes in out_frames returned from the peer's HandshakerResp. It is possible
   8310        * that the peer's out_frames are split into multiple NextHandshakerMessageReq
   8311        * messages.
   8312        * </pre>
   8313        *
   8314        * <code>bytes in_bytes = 1;</code>
   8315        */
   8316       public Builder setInBytes(com.google.protobuf.ByteString value) {
   8317         if (value == null) {
   8318     throw new NullPointerException();
   8319   }
   8320 
   8321         inBytes_ = value;
   8322         onChanged();
   8323         return this;
   8324       }
   8325       /**
   8326        * <pre>
   8327        * Bytes in out_frames returned from the peer's HandshakerResp. It is possible
   8328        * that the peer's out_frames are split into multiple NextHandshakerMessageReq
   8329        * messages.
   8330        * </pre>
   8331        *
   8332        * <code>bytes in_bytes = 1;</code>
   8333        */
   8334       public Builder clearInBytes() {
   8335 
   8336         inBytes_ = getDefaultInstance().getInBytes();
   8337         onChanged();
   8338         return this;
   8339       }
   8340       public final Builder setUnknownFields(
   8341           final com.google.protobuf.UnknownFieldSet unknownFields) {
   8342         return super.setUnknownFieldsProto3(unknownFields);
   8343       }
   8344 
   8345       public final Builder mergeUnknownFields(
   8346           final com.google.protobuf.UnknownFieldSet unknownFields) {
   8347         return super.mergeUnknownFields(unknownFields);
   8348       }
   8349 
   8350 
   8351       // @@protoc_insertion_point(builder_scope:grpc.gcp.NextHandshakeMessageReq)
   8352     }
   8353 
   8354     // @@protoc_insertion_point(class_scope:grpc.gcp.NextHandshakeMessageReq)
   8355     private static final io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq DEFAULT_INSTANCE;
   8356     static {
   8357       DEFAULT_INSTANCE = new io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq();
   8358     }
   8359 
   8360     public static io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq getDefaultInstance() {
   8361       return DEFAULT_INSTANCE;
   8362     }
   8363 
   8364     private static final com.google.protobuf.Parser<NextHandshakeMessageReq>
   8365         PARSER = new com.google.protobuf.AbstractParser<NextHandshakeMessageReq>() {
   8366       public NextHandshakeMessageReq parsePartialFrom(
   8367           com.google.protobuf.CodedInputStream input,
   8368           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   8369           throws com.google.protobuf.InvalidProtocolBufferException {
   8370         return new NextHandshakeMessageReq(input, extensionRegistry);
   8371       }
   8372     };
   8373 
   8374     public static com.google.protobuf.Parser<NextHandshakeMessageReq> parser() {
   8375       return PARSER;
   8376     }
   8377 
   8378     @java.lang.Override
   8379     public com.google.protobuf.Parser<NextHandshakeMessageReq> getParserForType() {
   8380       return PARSER;
   8381     }
   8382 
   8383     public io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq getDefaultInstanceForType() {
   8384       return DEFAULT_INSTANCE;
   8385     }
   8386 
   8387   }
   8388 
   8389   public interface HandshakerReqOrBuilder extends
   8390       // @@protoc_insertion_point(interface_extends:grpc.gcp.HandshakerReq)
   8391       com.google.protobuf.MessageOrBuilder {
   8392 
   8393     /**
   8394      * <pre>
   8395      * The start client handshake request message.
   8396      * </pre>
   8397      *
   8398      * <code>.grpc.gcp.StartClientHandshakeReq client_start = 1;</code>
   8399      */
   8400     boolean hasClientStart();
   8401     /**
   8402      * <pre>
   8403      * The start client handshake request message.
   8404      * </pre>
   8405      *
   8406      * <code>.grpc.gcp.StartClientHandshakeReq client_start = 1;</code>
   8407      */
   8408     io.grpc.alts.internal.Handshaker.StartClientHandshakeReq getClientStart();
   8409     /**
   8410      * <pre>
   8411      * The start client handshake request message.
   8412      * </pre>
   8413      *
   8414      * <code>.grpc.gcp.StartClientHandshakeReq client_start = 1;</code>
   8415      */
   8416     io.grpc.alts.internal.Handshaker.StartClientHandshakeReqOrBuilder getClientStartOrBuilder();
   8417 
   8418     /**
   8419      * <pre>
   8420      * The start server handshake request message.
   8421      * </pre>
   8422      *
   8423      * <code>.grpc.gcp.StartServerHandshakeReq server_start = 2;</code>
   8424      */
   8425     boolean hasServerStart();
   8426     /**
   8427      * <pre>
   8428      * The start server handshake request message.
   8429      * </pre>
   8430      *
   8431      * <code>.grpc.gcp.StartServerHandshakeReq server_start = 2;</code>
   8432      */
   8433     io.grpc.alts.internal.Handshaker.StartServerHandshakeReq getServerStart();
   8434     /**
   8435      * <pre>
   8436      * The start server handshake request message.
   8437      * </pre>
   8438      *
   8439      * <code>.grpc.gcp.StartServerHandshakeReq server_start = 2;</code>
   8440      */
   8441     io.grpc.alts.internal.Handshaker.StartServerHandshakeReqOrBuilder getServerStartOrBuilder();
   8442 
   8443     /**
   8444      * <pre>
   8445      * The next handshake request message.
   8446      * </pre>
   8447      *
   8448      * <code>.grpc.gcp.NextHandshakeMessageReq next = 3;</code>
   8449      */
   8450     boolean hasNext();
   8451     /**
   8452      * <pre>
   8453      * The next handshake request message.
   8454      * </pre>
   8455      *
   8456      * <code>.grpc.gcp.NextHandshakeMessageReq next = 3;</code>
   8457      */
   8458     io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq getNext();
   8459     /**
   8460      * <pre>
   8461      * The next handshake request message.
   8462      * </pre>
   8463      *
   8464      * <code>.grpc.gcp.NextHandshakeMessageReq next = 3;</code>
   8465      */
   8466     io.grpc.alts.internal.Handshaker.NextHandshakeMessageReqOrBuilder getNextOrBuilder();
   8467 
   8468     public io.grpc.alts.internal.Handshaker.HandshakerReq.ReqOneofCase getReqOneofCase();
   8469   }
   8470   /**
   8471    * Protobuf type {@code grpc.gcp.HandshakerReq}
   8472    */
   8473   public  static final class HandshakerReq extends
   8474       com.google.protobuf.GeneratedMessageV3 implements
   8475       // @@protoc_insertion_point(message_implements:grpc.gcp.HandshakerReq)
   8476       HandshakerReqOrBuilder {
   8477   private static final long serialVersionUID = 0L;
   8478     // Use HandshakerReq.newBuilder() to construct.
   8479     private HandshakerReq(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
   8480       super(builder);
   8481     }
   8482     private HandshakerReq() {
   8483     }
   8484 
   8485     @java.lang.Override
   8486     public final com.google.protobuf.UnknownFieldSet
   8487     getUnknownFields() {
   8488       return this.unknownFields;
   8489     }
   8490     private HandshakerReq(
   8491         com.google.protobuf.CodedInputStream input,
   8492         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   8493         throws com.google.protobuf.InvalidProtocolBufferException {
   8494       this();
   8495       if (extensionRegistry == null) {
   8496         throw new java.lang.NullPointerException();
   8497       }
   8498       int mutable_bitField0_ = 0;
   8499       com.google.protobuf.UnknownFieldSet.Builder unknownFields =
   8500           com.google.protobuf.UnknownFieldSet.newBuilder();
   8501       try {
   8502         boolean done = false;
   8503         while (!done) {
   8504           int tag = input.readTag();
   8505           switch (tag) {
   8506             case 0:
   8507               done = true;
   8508               break;
   8509             default: {
   8510               if (!parseUnknownFieldProto3(
   8511                   input, unknownFields, extensionRegistry, tag)) {
   8512                 done = true;
   8513               }
   8514               break;
   8515             }
   8516             case 10: {
   8517               io.grpc.alts.internal.Handshaker.StartClientHandshakeReq.Builder subBuilder = null;
   8518               if (reqOneofCase_ == 1) {
   8519                 subBuilder = ((io.grpc.alts.internal.Handshaker.StartClientHandshakeReq) reqOneof_).toBuilder();
   8520               }
   8521               reqOneof_ =
   8522                   input.readMessage(io.grpc.alts.internal.Handshaker.StartClientHandshakeReq.parser(), extensionRegistry);
   8523               if (subBuilder != null) {
   8524                 subBuilder.mergeFrom((io.grpc.alts.internal.Handshaker.StartClientHandshakeReq) reqOneof_);
   8525                 reqOneof_ = subBuilder.buildPartial();
   8526               }
   8527               reqOneofCase_ = 1;
   8528               break;
   8529             }
   8530             case 18: {
   8531               io.grpc.alts.internal.Handshaker.StartServerHandshakeReq.Builder subBuilder = null;
   8532               if (reqOneofCase_ == 2) {
   8533                 subBuilder = ((io.grpc.alts.internal.Handshaker.StartServerHandshakeReq) reqOneof_).toBuilder();
   8534               }
   8535               reqOneof_ =
   8536                   input.readMessage(io.grpc.alts.internal.Handshaker.StartServerHandshakeReq.parser(), extensionRegistry);
   8537               if (subBuilder != null) {
   8538                 subBuilder.mergeFrom((io.grpc.alts.internal.Handshaker.StartServerHandshakeReq) reqOneof_);
   8539                 reqOneof_ = subBuilder.buildPartial();
   8540               }
   8541               reqOneofCase_ = 2;
   8542               break;
   8543             }
   8544             case 26: {
   8545               io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq.Builder subBuilder = null;
   8546               if (reqOneofCase_ == 3) {
   8547                 subBuilder = ((io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq) reqOneof_).toBuilder();
   8548               }
   8549               reqOneof_ =
   8550                   input.readMessage(io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq.parser(), extensionRegistry);
   8551               if (subBuilder != null) {
   8552                 subBuilder.mergeFrom((io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq) reqOneof_);
   8553                 reqOneof_ = subBuilder.buildPartial();
   8554               }
   8555               reqOneofCase_ = 3;
   8556               break;
   8557             }
   8558           }
   8559         }
   8560       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
   8561         throw e.setUnfinishedMessage(this);
   8562       } catch (java.io.IOException e) {
   8563         throw new com.google.protobuf.InvalidProtocolBufferException(
   8564             e).setUnfinishedMessage(this);
   8565       } finally {
   8566         this.unknownFields = unknownFields.build();
   8567         makeExtensionsImmutable();
   8568       }
   8569     }
   8570     public static final com.google.protobuf.Descriptors.Descriptor
   8571         getDescriptor() {
   8572       return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_HandshakerReq_descriptor;
   8573     }
   8574 
   8575     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
   8576         internalGetFieldAccessorTable() {
   8577       return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_HandshakerReq_fieldAccessorTable
   8578           .ensureFieldAccessorsInitialized(
   8579               io.grpc.alts.internal.Handshaker.HandshakerReq.class, io.grpc.alts.internal.Handshaker.HandshakerReq.Builder.class);
   8580     }
   8581 
   8582     private int reqOneofCase_ = 0;
   8583     private java.lang.Object reqOneof_;
   8584     public enum ReqOneofCase
   8585         implements com.google.protobuf.Internal.EnumLite {
   8586       CLIENT_START(1),
   8587       SERVER_START(2),
   8588       NEXT(3),
   8589       REQONEOF_NOT_SET(0);
   8590       private final int value;
   8591       private ReqOneofCase(int value) {
   8592         this.value = value;
   8593       }
   8594       /**
   8595        * @deprecated Use {@link #forNumber(int)} instead.
   8596        */
   8597       @java.lang.Deprecated
   8598       public static ReqOneofCase valueOf(int value) {
   8599         return forNumber(value);
   8600       }
   8601 
   8602       public static ReqOneofCase forNumber(int value) {
   8603         switch (value) {
   8604           case 1: return CLIENT_START;
   8605           case 2: return SERVER_START;
   8606           case 3: return NEXT;
   8607           case 0: return REQONEOF_NOT_SET;
   8608           default: return null;
   8609         }
   8610       }
   8611       public int getNumber() {
   8612         return this.value;
   8613       }
   8614     };
   8615 
   8616     public ReqOneofCase
   8617     getReqOneofCase() {
   8618       return ReqOneofCase.forNumber(
   8619           reqOneofCase_);
   8620     }
   8621 
   8622     public static final int CLIENT_START_FIELD_NUMBER = 1;
   8623     /**
   8624      * <pre>
   8625      * The start client handshake request message.
   8626      * </pre>
   8627      *
   8628      * <code>.grpc.gcp.StartClientHandshakeReq client_start = 1;</code>
   8629      */
   8630     public boolean hasClientStart() {
   8631       return reqOneofCase_ == 1;
   8632     }
   8633     /**
   8634      * <pre>
   8635      * The start client handshake request message.
   8636      * </pre>
   8637      *
   8638      * <code>.grpc.gcp.StartClientHandshakeReq client_start = 1;</code>
   8639      */
   8640     public io.grpc.alts.internal.Handshaker.StartClientHandshakeReq getClientStart() {
   8641       if (reqOneofCase_ == 1) {
   8642          return (io.grpc.alts.internal.Handshaker.StartClientHandshakeReq) reqOneof_;
   8643       }
   8644       return io.grpc.alts.internal.Handshaker.StartClientHandshakeReq.getDefaultInstance();
   8645     }
   8646     /**
   8647      * <pre>
   8648      * The start client handshake request message.
   8649      * </pre>
   8650      *
   8651      * <code>.grpc.gcp.StartClientHandshakeReq client_start = 1;</code>
   8652      */
   8653     public io.grpc.alts.internal.Handshaker.StartClientHandshakeReqOrBuilder getClientStartOrBuilder() {
   8654       if (reqOneofCase_ == 1) {
   8655          return (io.grpc.alts.internal.Handshaker.StartClientHandshakeReq) reqOneof_;
   8656       }
   8657       return io.grpc.alts.internal.Handshaker.StartClientHandshakeReq.getDefaultInstance();
   8658     }
   8659 
   8660     public static final int SERVER_START_FIELD_NUMBER = 2;
   8661     /**
   8662      * <pre>
   8663      * The start server handshake request message.
   8664      * </pre>
   8665      *
   8666      * <code>.grpc.gcp.StartServerHandshakeReq server_start = 2;</code>
   8667      */
   8668     public boolean hasServerStart() {
   8669       return reqOneofCase_ == 2;
   8670     }
   8671     /**
   8672      * <pre>
   8673      * The start server handshake request message.
   8674      * </pre>
   8675      *
   8676      * <code>.grpc.gcp.StartServerHandshakeReq server_start = 2;</code>
   8677      */
   8678     public io.grpc.alts.internal.Handshaker.StartServerHandshakeReq getServerStart() {
   8679       if (reqOneofCase_ == 2) {
   8680          return (io.grpc.alts.internal.Handshaker.StartServerHandshakeReq) reqOneof_;
   8681       }
   8682       return io.grpc.alts.internal.Handshaker.StartServerHandshakeReq.getDefaultInstance();
   8683     }
   8684     /**
   8685      * <pre>
   8686      * The start server handshake request message.
   8687      * </pre>
   8688      *
   8689      * <code>.grpc.gcp.StartServerHandshakeReq server_start = 2;</code>
   8690      */
   8691     public io.grpc.alts.internal.Handshaker.StartServerHandshakeReqOrBuilder getServerStartOrBuilder() {
   8692       if (reqOneofCase_ == 2) {
   8693          return (io.grpc.alts.internal.Handshaker.StartServerHandshakeReq) reqOneof_;
   8694       }
   8695       return io.grpc.alts.internal.Handshaker.StartServerHandshakeReq.getDefaultInstance();
   8696     }
   8697 
   8698     public static final int NEXT_FIELD_NUMBER = 3;
   8699     /**
   8700      * <pre>
   8701      * The next handshake request message.
   8702      * </pre>
   8703      *
   8704      * <code>.grpc.gcp.NextHandshakeMessageReq next = 3;</code>
   8705      */
   8706     public boolean hasNext() {
   8707       return reqOneofCase_ == 3;
   8708     }
   8709     /**
   8710      * <pre>
   8711      * The next handshake request message.
   8712      * </pre>
   8713      *
   8714      * <code>.grpc.gcp.NextHandshakeMessageReq next = 3;</code>
   8715      */
   8716     public io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq getNext() {
   8717       if (reqOneofCase_ == 3) {
   8718          return (io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq) reqOneof_;
   8719       }
   8720       return io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq.getDefaultInstance();
   8721     }
   8722     /**
   8723      * <pre>
   8724      * The next handshake request message.
   8725      * </pre>
   8726      *
   8727      * <code>.grpc.gcp.NextHandshakeMessageReq next = 3;</code>
   8728      */
   8729     public io.grpc.alts.internal.Handshaker.NextHandshakeMessageReqOrBuilder getNextOrBuilder() {
   8730       if (reqOneofCase_ == 3) {
   8731          return (io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq) reqOneof_;
   8732       }
   8733       return io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq.getDefaultInstance();
   8734     }
   8735 
   8736     private byte memoizedIsInitialized = -1;
   8737     public final boolean isInitialized() {
   8738       byte isInitialized = memoizedIsInitialized;
   8739       if (isInitialized == 1) return true;
   8740       if (isInitialized == 0) return false;
   8741 
   8742       memoizedIsInitialized = 1;
   8743       return true;
   8744     }
   8745 
   8746     public void writeTo(com.google.protobuf.CodedOutputStream output)
   8747                         throws java.io.IOException {
   8748       if (reqOneofCase_ == 1) {
   8749         output.writeMessage(1, (io.grpc.alts.internal.Handshaker.StartClientHandshakeReq) reqOneof_);
   8750       }
   8751       if (reqOneofCase_ == 2) {
   8752         output.writeMessage(2, (io.grpc.alts.internal.Handshaker.StartServerHandshakeReq) reqOneof_);
   8753       }
   8754       if (reqOneofCase_ == 3) {
   8755         output.writeMessage(3, (io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq) reqOneof_);
   8756       }
   8757       unknownFields.writeTo(output);
   8758     }
   8759 
   8760     public int getSerializedSize() {
   8761       int size = memoizedSize;
   8762       if (size != -1) return size;
   8763 
   8764       size = 0;
   8765       if (reqOneofCase_ == 1) {
   8766         size += com.google.protobuf.CodedOutputStream
   8767           .computeMessageSize(1, (io.grpc.alts.internal.Handshaker.StartClientHandshakeReq) reqOneof_);
   8768       }
   8769       if (reqOneofCase_ == 2) {
   8770         size += com.google.protobuf.CodedOutputStream
   8771           .computeMessageSize(2, (io.grpc.alts.internal.Handshaker.StartServerHandshakeReq) reqOneof_);
   8772       }
   8773       if (reqOneofCase_ == 3) {
   8774         size += com.google.protobuf.CodedOutputStream
   8775           .computeMessageSize(3, (io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq) reqOneof_);
   8776       }
   8777       size += unknownFields.getSerializedSize();
   8778       memoizedSize = size;
   8779       return size;
   8780     }
   8781 
   8782     @java.lang.Override
   8783     public boolean equals(final java.lang.Object obj) {
   8784       if (obj == this) {
   8785        return true;
   8786       }
   8787       if (!(obj instanceof io.grpc.alts.internal.Handshaker.HandshakerReq)) {
   8788         return super.equals(obj);
   8789       }
   8790       io.grpc.alts.internal.Handshaker.HandshakerReq other = (io.grpc.alts.internal.Handshaker.HandshakerReq) obj;
   8791 
   8792       boolean result = true;
   8793       result = result && getReqOneofCase().equals(
   8794           other.getReqOneofCase());
   8795       if (!result) return false;
   8796       switch (reqOneofCase_) {
   8797         case 1:
   8798           result = result && getClientStart()
   8799               .equals(other.getClientStart());
   8800           break;
   8801         case 2:
   8802           result = result && getServerStart()
   8803               .equals(other.getServerStart());
   8804           break;
   8805         case 3:
   8806           result = result && getNext()
   8807               .equals(other.getNext());
   8808           break;
   8809         case 0:
   8810         default:
   8811       }
   8812       result = result && unknownFields.equals(other.unknownFields);
   8813       return result;
   8814     }
   8815 
   8816     @java.lang.Override
   8817     public int hashCode() {
   8818       if (memoizedHashCode != 0) {
   8819         return memoizedHashCode;
   8820       }
   8821       int hash = 41;
   8822       hash = (19 * hash) + getDescriptor().hashCode();
   8823       switch (reqOneofCase_) {
   8824         case 1:
   8825           hash = (37 * hash) + CLIENT_START_FIELD_NUMBER;
   8826           hash = (53 * hash) + getClientStart().hashCode();
   8827           break;
   8828         case 2:
   8829           hash = (37 * hash) + SERVER_START_FIELD_NUMBER;
   8830           hash = (53 * hash) + getServerStart().hashCode();
   8831           break;
   8832         case 3:
   8833           hash = (37 * hash) + NEXT_FIELD_NUMBER;
   8834           hash = (53 * hash) + getNext().hashCode();
   8835           break;
   8836         case 0:
   8837         default:
   8838       }
   8839       hash = (29 * hash) + unknownFields.hashCode();
   8840       memoizedHashCode = hash;
   8841       return hash;
   8842     }
   8843 
   8844     public static io.grpc.alts.internal.Handshaker.HandshakerReq parseFrom(
   8845         java.nio.ByteBuffer data)
   8846         throws com.google.protobuf.InvalidProtocolBufferException {
   8847       return PARSER.parseFrom(data);
   8848     }
   8849     public static io.grpc.alts.internal.Handshaker.HandshakerReq parseFrom(
   8850         java.nio.ByteBuffer data,
   8851         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   8852         throws com.google.protobuf.InvalidProtocolBufferException {
   8853       return PARSER.parseFrom(data, extensionRegistry);
   8854     }
   8855     public static io.grpc.alts.internal.Handshaker.HandshakerReq parseFrom(
   8856         com.google.protobuf.ByteString data)
   8857         throws com.google.protobuf.InvalidProtocolBufferException {
   8858       return PARSER.parseFrom(data);
   8859     }
   8860     public static io.grpc.alts.internal.Handshaker.HandshakerReq parseFrom(
   8861         com.google.protobuf.ByteString data,
   8862         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   8863         throws com.google.protobuf.InvalidProtocolBufferException {
   8864       return PARSER.parseFrom(data, extensionRegistry);
   8865     }
   8866     public static io.grpc.alts.internal.Handshaker.HandshakerReq parseFrom(byte[] data)
   8867         throws com.google.protobuf.InvalidProtocolBufferException {
   8868       return PARSER.parseFrom(data);
   8869     }
   8870     public static io.grpc.alts.internal.Handshaker.HandshakerReq parseFrom(
   8871         byte[] data,
   8872         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   8873         throws com.google.protobuf.InvalidProtocolBufferException {
   8874       return PARSER.parseFrom(data, extensionRegistry);
   8875     }
   8876     public static io.grpc.alts.internal.Handshaker.HandshakerReq parseFrom(java.io.InputStream input)
   8877         throws java.io.IOException {
   8878       return com.google.protobuf.GeneratedMessageV3
   8879           .parseWithIOException(PARSER, input);
   8880     }
   8881     public static io.grpc.alts.internal.Handshaker.HandshakerReq parseFrom(
   8882         java.io.InputStream input,
   8883         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   8884         throws java.io.IOException {
   8885       return com.google.protobuf.GeneratedMessageV3
   8886           .parseWithIOException(PARSER, input, extensionRegistry);
   8887     }
   8888     public static io.grpc.alts.internal.Handshaker.HandshakerReq parseDelimitedFrom(java.io.InputStream input)
   8889         throws java.io.IOException {
   8890       return com.google.protobuf.GeneratedMessageV3
   8891           .parseDelimitedWithIOException(PARSER, input);
   8892     }
   8893     public static io.grpc.alts.internal.Handshaker.HandshakerReq parseDelimitedFrom(
   8894         java.io.InputStream input,
   8895         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   8896         throws java.io.IOException {
   8897       return com.google.protobuf.GeneratedMessageV3
   8898           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
   8899     }
   8900     public static io.grpc.alts.internal.Handshaker.HandshakerReq parseFrom(
   8901         com.google.protobuf.CodedInputStream input)
   8902         throws java.io.IOException {
   8903       return com.google.protobuf.GeneratedMessageV3
   8904           .parseWithIOException(PARSER, input);
   8905     }
   8906     public static io.grpc.alts.internal.Handshaker.HandshakerReq parseFrom(
   8907         com.google.protobuf.CodedInputStream input,
   8908         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   8909         throws java.io.IOException {
   8910       return com.google.protobuf.GeneratedMessageV3
   8911           .parseWithIOException(PARSER, input, extensionRegistry);
   8912     }
   8913 
   8914     public Builder newBuilderForType() { return newBuilder(); }
   8915     public static Builder newBuilder() {
   8916       return DEFAULT_INSTANCE.toBuilder();
   8917     }
   8918     public static Builder newBuilder(io.grpc.alts.internal.Handshaker.HandshakerReq prototype) {
   8919       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
   8920     }
   8921     public Builder toBuilder() {
   8922       return this == DEFAULT_INSTANCE
   8923           ? new Builder() : new Builder().mergeFrom(this);
   8924     }
   8925 
   8926     @java.lang.Override
   8927     protected Builder newBuilderForType(
   8928         com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
   8929       Builder builder = new Builder(parent);
   8930       return builder;
   8931     }
   8932     /**
   8933      * Protobuf type {@code grpc.gcp.HandshakerReq}
   8934      */
   8935     public static final class Builder extends
   8936         com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
   8937         // @@protoc_insertion_point(builder_implements:grpc.gcp.HandshakerReq)
   8938         io.grpc.alts.internal.Handshaker.HandshakerReqOrBuilder {
   8939       public static final com.google.protobuf.Descriptors.Descriptor
   8940           getDescriptor() {
   8941         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_HandshakerReq_descriptor;
   8942       }
   8943 
   8944       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
   8945           internalGetFieldAccessorTable() {
   8946         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_HandshakerReq_fieldAccessorTable
   8947             .ensureFieldAccessorsInitialized(
   8948                 io.grpc.alts.internal.Handshaker.HandshakerReq.class, io.grpc.alts.internal.Handshaker.HandshakerReq.Builder.class);
   8949       }
   8950 
   8951       // Construct using io.grpc.alts.internal.Handshaker.HandshakerReq.newBuilder()
   8952       private Builder() {
   8953         maybeForceBuilderInitialization();
   8954       }
   8955 
   8956       private Builder(
   8957           com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
   8958         super(parent);
   8959         maybeForceBuilderInitialization();
   8960       }
   8961       private void maybeForceBuilderInitialization() {
   8962         if (com.google.protobuf.GeneratedMessageV3
   8963                 .alwaysUseFieldBuilders) {
   8964         }
   8965       }
   8966       public Builder clear() {
   8967         super.clear();
   8968         reqOneofCase_ = 0;
   8969         reqOneof_ = null;
   8970         return this;
   8971       }
   8972 
   8973       public com.google.protobuf.Descriptors.Descriptor
   8974           getDescriptorForType() {
   8975         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_HandshakerReq_descriptor;
   8976       }
   8977 
   8978       public io.grpc.alts.internal.Handshaker.HandshakerReq getDefaultInstanceForType() {
   8979         return io.grpc.alts.internal.Handshaker.HandshakerReq.getDefaultInstance();
   8980       }
   8981 
   8982       public io.grpc.alts.internal.Handshaker.HandshakerReq build() {
   8983         io.grpc.alts.internal.Handshaker.HandshakerReq result = buildPartial();
   8984         if (!result.isInitialized()) {
   8985           throw newUninitializedMessageException(result);
   8986         }
   8987         return result;
   8988       }
   8989 
   8990       public io.grpc.alts.internal.Handshaker.HandshakerReq buildPartial() {
   8991         io.grpc.alts.internal.Handshaker.HandshakerReq result = new io.grpc.alts.internal.Handshaker.HandshakerReq(this);
   8992         if (reqOneofCase_ == 1) {
   8993           if (clientStartBuilder_ == null) {
   8994             result.reqOneof_ = reqOneof_;
   8995           } else {
   8996             result.reqOneof_ = clientStartBuilder_.build();
   8997           }
   8998         }
   8999         if (reqOneofCase_ == 2) {
   9000           if (serverStartBuilder_ == null) {
   9001             result.reqOneof_ = reqOneof_;
   9002           } else {
   9003             result.reqOneof_ = serverStartBuilder_.build();
   9004           }
   9005         }
   9006         if (reqOneofCase_ == 3) {
   9007           if (nextBuilder_ == null) {
   9008             result.reqOneof_ = reqOneof_;
   9009           } else {
   9010             result.reqOneof_ = nextBuilder_.build();
   9011           }
   9012         }
   9013         result.reqOneofCase_ = reqOneofCase_;
   9014         onBuilt();
   9015         return result;
   9016       }
   9017 
   9018       public Builder clone() {
   9019         return (Builder) super.clone();
   9020       }
   9021       public Builder setField(
   9022           com.google.protobuf.Descriptors.FieldDescriptor field,
   9023           java.lang.Object value) {
   9024         return (Builder) super.setField(field, value);
   9025       }
   9026       public Builder clearField(
   9027           com.google.protobuf.Descriptors.FieldDescriptor field) {
   9028         return (Builder) super.clearField(field);
   9029       }
   9030       public Builder clearOneof(
   9031           com.google.protobuf.Descriptors.OneofDescriptor oneof) {
   9032         return (Builder) super.clearOneof(oneof);
   9033       }
   9034       public Builder setRepeatedField(
   9035           com.google.protobuf.Descriptors.FieldDescriptor field,
   9036           int index, java.lang.Object value) {
   9037         return (Builder) super.setRepeatedField(field, index, value);
   9038       }
   9039       public Builder addRepeatedField(
   9040           com.google.protobuf.Descriptors.FieldDescriptor field,
   9041           java.lang.Object value) {
   9042         return (Builder) super.addRepeatedField(field, value);
   9043       }
   9044       public Builder mergeFrom(com.google.protobuf.Message other) {
   9045         if (other instanceof io.grpc.alts.internal.Handshaker.HandshakerReq) {
   9046           return mergeFrom((io.grpc.alts.internal.Handshaker.HandshakerReq)other);
   9047         } else {
   9048           super.mergeFrom(other);
   9049           return this;
   9050         }
   9051       }
   9052 
   9053       public Builder mergeFrom(io.grpc.alts.internal.Handshaker.HandshakerReq other) {
   9054         if (other == io.grpc.alts.internal.Handshaker.HandshakerReq.getDefaultInstance()) return this;
   9055         switch (other.getReqOneofCase()) {
   9056           case CLIENT_START: {
   9057             mergeClientStart(other.getClientStart());
   9058             break;
   9059           }
   9060           case SERVER_START: {
   9061             mergeServerStart(other.getServerStart());
   9062             break;
   9063           }
   9064           case NEXT: {
   9065             mergeNext(other.getNext());
   9066             break;
   9067           }
   9068           case REQONEOF_NOT_SET: {
   9069             break;
   9070           }
   9071         }
   9072         this.mergeUnknownFields(other.unknownFields);
   9073         onChanged();
   9074         return this;
   9075       }
   9076 
   9077       public final boolean isInitialized() {
   9078         return true;
   9079       }
   9080 
   9081       public Builder mergeFrom(
   9082           com.google.protobuf.CodedInputStream input,
   9083           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   9084           throws java.io.IOException {
   9085         io.grpc.alts.internal.Handshaker.HandshakerReq parsedMessage = null;
   9086         try {
   9087           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
   9088         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
   9089           parsedMessage = (io.grpc.alts.internal.Handshaker.HandshakerReq) e.getUnfinishedMessage();
   9090           throw e.unwrapIOException();
   9091         } finally {
   9092           if (parsedMessage != null) {
   9093             mergeFrom(parsedMessage);
   9094           }
   9095         }
   9096         return this;
   9097       }
   9098       private int reqOneofCase_ = 0;
   9099       private java.lang.Object reqOneof_;
   9100       public ReqOneofCase
   9101           getReqOneofCase() {
   9102         return ReqOneofCase.forNumber(
   9103             reqOneofCase_);
   9104       }
   9105 
   9106       public Builder clearReqOneof() {
   9107         reqOneofCase_ = 0;
   9108         reqOneof_ = null;
   9109         onChanged();
   9110         return this;
   9111       }
   9112 
   9113 
   9114       private com.google.protobuf.SingleFieldBuilderV3<
   9115           io.grpc.alts.internal.Handshaker.StartClientHandshakeReq, io.grpc.alts.internal.Handshaker.StartClientHandshakeReq.Builder, io.grpc.alts.internal.Handshaker.StartClientHandshakeReqOrBuilder> clientStartBuilder_;
   9116       /**
   9117        * <pre>
   9118        * The start client handshake request message.
   9119        * </pre>
   9120        *
   9121        * <code>.grpc.gcp.StartClientHandshakeReq client_start = 1;</code>
   9122        */
   9123       public boolean hasClientStart() {
   9124         return reqOneofCase_ == 1;
   9125       }
   9126       /**
   9127        * <pre>
   9128        * The start client handshake request message.
   9129        * </pre>
   9130        *
   9131        * <code>.grpc.gcp.StartClientHandshakeReq client_start = 1;</code>
   9132        */
   9133       public io.grpc.alts.internal.Handshaker.StartClientHandshakeReq getClientStart() {
   9134         if (clientStartBuilder_ == null) {
   9135           if (reqOneofCase_ == 1) {
   9136             return (io.grpc.alts.internal.Handshaker.StartClientHandshakeReq) reqOneof_;
   9137           }
   9138           return io.grpc.alts.internal.Handshaker.StartClientHandshakeReq.getDefaultInstance();
   9139         } else {
   9140           if (reqOneofCase_ == 1) {
   9141             return clientStartBuilder_.getMessage();
   9142           }
   9143           return io.grpc.alts.internal.Handshaker.StartClientHandshakeReq.getDefaultInstance();
   9144         }
   9145       }
   9146       /**
   9147        * <pre>
   9148        * The start client handshake request message.
   9149        * </pre>
   9150        *
   9151        * <code>.grpc.gcp.StartClientHandshakeReq client_start = 1;</code>
   9152        */
   9153       public Builder setClientStart(io.grpc.alts.internal.Handshaker.StartClientHandshakeReq value) {
   9154         if (clientStartBuilder_ == null) {
   9155           if (value == null) {
   9156             throw new NullPointerException();
   9157           }
   9158           reqOneof_ = value;
   9159           onChanged();
   9160         } else {
   9161           clientStartBuilder_.setMessage(value);
   9162         }
   9163         reqOneofCase_ = 1;
   9164         return this;
   9165       }
   9166       /**
   9167        * <pre>
   9168        * The start client handshake request message.
   9169        * </pre>
   9170        *
   9171        * <code>.grpc.gcp.StartClientHandshakeReq client_start = 1;</code>
   9172        */
   9173       public Builder setClientStart(
   9174           io.grpc.alts.internal.Handshaker.StartClientHandshakeReq.Builder builderForValue) {
   9175         if (clientStartBuilder_ == null) {
   9176           reqOneof_ = builderForValue.build();
   9177           onChanged();
   9178         } else {
   9179           clientStartBuilder_.setMessage(builderForValue.build());
   9180         }
   9181         reqOneofCase_ = 1;
   9182         return this;
   9183       }
   9184       /**
   9185        * <pre>
   9186        * The start client handshake request message.
   9187        * </pre>
   9188        *
   9189        * <code>.grpc.gcp.StartClientHandshakeReq client_start = 1;</code>
   9190        */
   9191       public Builder mergeClientStart(io.grpc.alts.internal.Handshaker.StartClientHandshakeReq value) {
   9192         if (clientStartBuilder_ == null) {
   9193           if (reqOneofCase_ == 1 &&
   9194               reqOneof_ != io.grpc.alts.internal.Handshaker.StartClientHandshakeReq.getDefaultInstance()) {
   9195             reqOneof_ = io.grpc.alts.internal.Handshaker.StartClientHandshakeReq.newBuilder((io.grpc.alts.internal.Handshaker.StartClientHandshakeReq) reqOneof_)
   9196                 .mergeFrom(value).buildPartial();
   9197           } else {
   9198             reqOneof_ = value;
   9199           }
   9200           onChanged();
   9201         } else {
   9202           if (reqOneofCase_ == 1) {
   9203             clientStartBuilder_.mergeFrom(value);
   9204           }
   9205           clientStartBuilder_.setMessage(value);
   9206         }
   9207         reqOneofCase_ = 1;
   9208         return this;
   9209       }
   9210       /**
   9211        * <pre>
   9212        * The start client handshake request message.
   9213        * </pre>
   9214        *
   9215        * <code>.grpc.gcp.StartClientHandshakeReq client_start = 1;</code>
   9216        */
   9217       public Builder clearClientStart() {
   9218         if (clientStartBuilder_ == null) {
   9219           if (reqOneofCase_ == 1) {
   9220             reqOneofCase_ = 0;
   9221             reqOneof_ = null;
   9222             onChanged();
   9223           }
   9224         } else {
   9225           if (reqOneofCase_ == 1) {
   9226             reqOneofCase_ = 0;
   9227             reqOneof_ = null;
   9228           }
   9229           clientStartBuilder_.clear();
   9230         }
   9231         return this;
   9232       }
   9233       /**
   9234        * <pre>
   9235        * The start client handshake request message.
   9236        * </pre>
   9237        *
   9238        * <code>.grpc.gcp.StartClientHandshakeReq client_start = 1;</code>
   9239        */
   9240       public io.grpc.alts.internal.Handshaker.StartClientHandshakeReq.Builder getClientStartBuilder() {
   9241         return getClientStartFieldBuilder().getBuilder();
   9242       }
   9243       /**
   9244        * <pre>
   9245        * The start client handshake request message.
   9246        * </pre>
   9247        *
   9248        * <code>.grpc.gcp.StartClientHandshakeReq client_start = 1;</code>
   9249        */
   9250       public io.grpc.alts.internal.Handshaker.StartClientHandshakeReqOrBuilder getClientStartOrBuilder() {
   9251         if ((reqOneofCase_ == 1) && (clientStartBuilder_ != null)) {
   9252           return clientStartBuilder_.getMessageOrBuilder();
   9253         } else {
   9254           if (reqOneofCase_ == 1) {
   9255             return (io.grpc.alts.internal.Handshaker.StartClientHandshakeReq) reqOneof_;
   9256           }
   9257           return io.grpc.alts.internal.Handshaker.StartClientHandshakeReq.getDefaultInstance();
   9258         }
   9259       }
   9260       /**
   9261        * <pre>
   9262        * The start client handshake request message.
   9263        * </pre>
   9264        *
   9265        * <code>.grpc.gcp.StartClientHandshakeReq client_start = 1;</code>
   9266        */
   9267       private com.google.protobuf.SingleFieldBuilderV3<
   9268           io.grpc.alts.internal.Handshaker.StartClientHandshakeReq, io.grpc.alts.internal.Handshaker.StartClientHandshakeReq.Builder, io.grpc.alts.internal.Handshaker.StartClientHandshakeReqOrBuilder>
   9269           getClientStartFieldBuilder() {
   9270         if (clientStartBuilder_ == null) {
   9271           if (!(reqOneofCase_ == 1)) {
   9272             reqOneof_ = io.grpc.alts.internal.Handshaker.StartClientHandshakeReq.getDefaultInstance();
   9273           }
   9274           clientStartBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
   9275               io.grpc.alts.internal.Handshaker.StartClientHandshakeReq, io.grpc.alts.internal.Handshaker.StartClientHandshakeReq.Builder, io.grpc.alts.internal.Handshaker.StartClientHandshakeReqOrBuilder>(
   9276                   (io.grpc.alts.internal.Handshaker.StartClientHandshakeReq) reqOneof_,
   9277                   getParentForChildren(),
   9278                   isClean());
   9279           reqOneof_ = null;
   9280         }
   9281         reqOneofCase_ = 1;
   9282         onChanged();;
   9283         return clientStartBuilder_;
   9284       }
   9285 
   9286       private com.google.protobuf.SingleFieldBuilderV3<
   9287           io.grpc.alts.internal.Handshaker.StartServerHandshakeReq, io.grpc.alts.internal.Handshaker.StartServerHandshakeReq.Builder, io.grpc.alts.internal.Handshaker.StartServerHandshakeReqOrBuilder> serverStartBuilder_;
   9288       /**
   9289        * <pre>
   9290        * The start server handshake request message.
   9291        * </pre>
   9292        *
   9293        * <code>.grpc.gcp.StartServerHandshakeReq server_start = 2;</code>
   9294        */
   9295       public boolean hasServerStart() {
   9296         return reqOneofCase_ == 2;
   9297       }
   9298       /**
   9299        * <pre>
   9300        * The start server handshake request message.
   9301        * </pre>
   9302        *
   9303        * <code>.grpc.gcp.StartServerHandshakeReq server_start = 2;</code>
   9304        */
   9305       public io.grpc.alts.internal.Handshaker.StartServerHandshakeReq getServerStart() {
   9306         if (serverStartBuilder_ == null) {
   9307           if (reqOneofCase_ == 2) {
   9308             return (io.grpc.alts.internal.Handshaker.StartServerHandshakeReq) reqOneof_;
   9309           }
   9310           return io.grpc.alts.internal.Handshaker.StartServerHandshakeReq.getDefaultInstance();
   9311         } else {
   9312           if (reqOneofCase_ == 2) {
   9313             return serverStartBuilder_.getMessage();
   9314           }
   9315           return io.grpc.alts.internal.Handshaker.StartServerHandshakeReq.getDefaultInstance();
   9316         }
   9317       }
   9318       /**
   9319        * <pre>
   9320        * The start server handshake request message.
   9321        * </pre>
   9322        *
   9323        * <code>.grpc.gcp.StartServerHandshakeReq server_start = 2;</code>
   9324        */
   9325       public Builder setServerStart(io.grpc.alts.internal.Handshaker.StartServerHandshakeReq value) {
   9326         if (serverStartBuilder_ == null) {
   9327           if (value == null) {
   9328             throw new NullPointerException();
   9329           }
   9330           reqOneof_ = value;
   9331           onChanged();
   9332         } else {
   9333           serverStartBuilder_.setMessage(value);
   9334         }
   9335         reqOneofCase_ = 2;
   9336         return this;
   9337       }
   9338       /**
   9339        * <pre>
   9340        * The start server handshake request message.
   9341        * </pre>
   9342        *
   9343        * <code>.grpc.gcp.StartServerHandshakeReq server_start = 2;</code>
   9344        */
   9345       public Builder setServerStart(
   9346           io.grpc.alts.internal.Handshaker.StartServerHandshakeReq.Builder builderForValue) {
   9347         if (serverStartBuilder_ == null) {
   9348           reqOneof_ = builderForValue.build();
   9349           onChanged();
   9350         } else {
   9351           serverStartBuilder_.setMessage(builderForValue.build());
   9352         }
   9353         reqOneofCase_ = 2;
   9354         return this;
   9355       }
   9356       /**
   9357        * <pre>
   9358        * The start server handshake request message.
   9359        * </pre>
   9360        *
   9361        * <code>.grpc.gcp.StartServerHandshakeReq server_start = 2;</code>
   9362        */
   9363       public Builder mergeServerStart(io.grpc.alts.internal.Handshaker.StartServerHandshakeReq value) {
   9364         if (serverStartBuilder_ == null) {
   9365           if (reqOneofCase_ == 2 &&
   9366               reqOneof_ != io.grpc.alts.internal.Handshaker.StartServerHandshakeReq.getDefaultInstance()) {
   9367             reqOneof_ = io.grpc.alts.internal.Handshaker.StartServerHandshakeReq.newBuilder((io.grpc.alts.internal.Handshaker.StartServerHandshakeReq) reqOneof_)
   9368                 .mergeFrom(value).buildPartial();
   9369           } else {
   9370             reqOneof_ = value;
   9371           }
   9372           onChanged();
   9373         } else {
   9374           if (reqOneofCase_ == 2) {
   9375             serverStartBuilder_.mergeFrom(value);
   9376           }
   9377           serverStartBuilder_.setMessage(value);
   9378         }
   9379         reqOneofCase_ = 2;
   9380         return this;
   9381       }
   9382       /**
   9383        * <pre>
   9384        * The start server handshake request message.
   9385        * </pre>
   9386        *
   9387        * <code>.grpc.gcp.StartServerHandshakeReq server_start = 2;</code>
   9388        */
   9389       public Builder clearServerStart() {
   9390         if (serverStartBuilder_ == null) {
   9391           if (reqOneofCase_ == 2) {
   9392             reqOneofCase_ = 0;
   9393             reqOneof_ = null;
   9394             onChanged();
   9395           }
   9396         } else {
   9397           if (reqOneofCase_ == 2) {
   9398             reqOneofCase_ = 0;
   9399             reqOneof_ = null;
   9400           }
   9401           serverStartBuilder_.clear();
   9402         }
   9403         return this;
   9404       }
   9405       /**
   9406        * <pre>
   9407        * The start server handshake request message.
   9408        * </pre>
   9409        *
   9410        * <code>.grpc.gcp.StartServerHandshakeReq server_start = 2;</code>
   9411        */
   9412       public io.grpc.alts.internal.Handshaker.StartServerHandshakeReq.Builder getServerStartBuilder() {
   9413         return getServerStartFieldBuilder().getBuilder();
   9414       }
   9415       /**
   9416        * <pre>
   9417        * The start server handshake request message.
   9418        * </pre>
   9419        *
   9420        * <code>.grpc.gcp.StartServerHandshakeReq server_start = 2;</code>
   9421        */
   9422       public io.grpc.alts.internal.Handshaker.StartServerHandshakeReqOrBuilder getServerStartOrBuilder() {
   9423         if ((reqOneofCase_ == 2) && (serverStartBuilder_ != null)) {
   9424           return serverStartBuilder_.getMessageOrBuilder();
   9425         } else {
   9426           if (reqOneofCase_ == 2) {
   9427             return (io.grpc.alts.internal.Handshaker.StartServerHandshakeReq) reqOneof_;
   9428           }
   9429           return io.grpc.alts.internal.Handshaker.StartServerHandshakeReq.getDefaultInstance();
   9430         }
   9431       }
   9432       /**
   9433        * <pre>
   9434        * The start server handshake request message.
   9435        * </pre>
   9436        *
   9437        * <code>.grpc.gcp.StartServerHandshakeReq server_start = 2;</code>
   9438        */
   9439       private com.google.protobuf.SingleFieldBuilderV3<
   9440           io.grpc.alts.internal.Handshaker.StartServerHandshakeReq, io.grpc.alts.internal.Handshaker.StartServerHandshakeReq.Builder, io.grpc.alts.internal.Handshaker.StartServerHandshakeReqOrBuilder>
   9441           getServerStartFieldBuilder() {
   9442         if (serverStartBuilder_ == null) {
   9443           if (!(reqOneofCase_ == 2)) {
   9444             reqOneof_ = io.grpc.alts.internal.Handshaker.StartServerHandshakeReq.getDefaultInstance();
   9445           }
   9446           serverStartBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
   9447               io.grpc.alts.internal.Handshaker.StartServerHandshakeReq, io.grpc.alts.internal.Handshaker.StartServerHandshakeReq.Builder, io.grpc.alts.internal.Handshaker.StartServerHandshakeReqOrBuilder>(
   9448                   (io.grpc.alts.internal.Handshaker.StartServerHandshakeReq) reqOneof_,
   9449                   getParentForChildren(),
   9450                   isClean());
   9451           reqOneof_ = null;
   9452         }
   9453         reqOneofCase_ = 2;
   9454         onChanged();;
   9455         return serverStartBuilder_;
   9456       }
   9457 
   9458       private com.google.protobuf.SingleFieldBuilderV3<
   9459           io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq, io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq.Builder, io.grpc.alts.internal.Handshaker.NextHandshakeMessageReqOrBuilder> nextBuilder_;
   9460       /**
   9461        * <pre>
   9462        * The next handshake request message.
   9463        * </pre>
   9464        *
   9465        * <code>.grpc.gcp.NextHandshakeMessageReq next = 3;</code>
   9466        */
   9467       public boolean hasNext() {
   9468         return reqOneofCase_ == 3;
   9469       }
   9470       /**
   9471        * <pre>
   9472        * The next handshake request message.
   9473        * </pre>
   9474        *
   9475        * <code>.grpc.gcp.NextHandshakeMessageReq next = 3;</code>
   9476        */
   9477       public io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq getNext() {
   9478         if (nextBuilder_ == null) {
   9479           if (reqOneofCase_ == 3) {
   9480             return (io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq) reqOneof_;
   9481           }
   9482           return io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq.getDefaultInstance();
   9483         } else {
   9484           if (reqOneofCase_ == 3) {
   9485             return nextBuilder_.getMessage();
   9486           }
   9487           return io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq.getDefaultInstance();
   9488         }
   9489       }
   9490       /**
   9491        * <pre>
   9492        * The next handshake request message.
   9493        * </pre>
   9494        *
   9495        * <code>.grpc.gcp.NextHandshakeMessageReq next = 3;</code>
   9496        */
   9497       public Builder setNext(io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq value) {
   9498         if (nextBuilder_ == null) {
   9499           if (value == null) {
   9500             throw new NullPointerException();
   9501           }
   9502           reqOneof_ = value;
   9503           onChanged();
   9504         } else {
   9505           nextBuilder_.setMessage(value);
   9506         }
   9507         reqOneofCase_ = 3;
   9508         return this;
   9509       }
   9510       /**
   9511        * <pre>
   9512        * The next handshake request message.
   9513        * </pre>
   9514        *
   9515        * <code>.grpc.gcp.NextHandshakeMessageReq next = 3;</code>
   9516        */
   9517       public Builder setNext(
   9518           io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq.Builder builderForValue) {
   9519         if (nextBuilder_ == null) {
   9520           reqOneof_ = builderForValue.build();
   9521           onChanged();
   9522         } else {
   9523           nextBuilder_.setMessage(builderForValue.build());
   9524         }
   9525         reqOneofCase_ = 3;
   9526         return this;
   9527       }
   9528       /**
   9529        * <pre>
   9530        * The next handshake request message.
   9531        * </pre>
   9532        *
   9533        * <code>.grpc.gcp.NextHandshakeMessageReq next = 3;</code>
   9534        */
   9535       public Builder mergeNext(io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq value) {
   9536         if (nextBuilder_ == null) {
   9537           if (reqOneofCase_ == 3 &&
   9538               reqOneof_ != io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq.getDefaultInstance()) {
   9539             reqOneof_ = io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq.newBuilder((io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq) reqOneof_)
   9540                 .mergeFrom(value).buildPartial();
   9541           } else {
   9542             reqOneof_ = value;
   9543           }
   9544           onChanged();
   9545         } else {
   9546           if (reqOneofCase_ == 3) {
   9547             nextBuilder_.mergeFrom(value);
   9548           }
   9549           nextBuilder_.setMessage(value);
   9550         }
   9551         reqOneofCase_ = 3;
   9552         return this;
   9553       }
   9554       /**
   9555        * <pre>
   9556        * The next handshake request message.
   9557        * </pre>
   9558        *
   9559        * <code>.grpc.gcp.NextHandshakeMessageReq next = 3;</code>
   9560        */
   9561       public Builder clearNext() {
   9562         if (nextBuilder_ == null) {
   9563           if (reqOneofCase_ == 3) {
   9564             reqOneofCase_ = 0;
   9565             reqOneof_ = null;
   9566             onChanged();
   9567           }
   9568         } else {
   9569           if (reqOneofCase_ == 3) {
   9570             reqOneofCase_ = 0;
   9571             reqOneof_ = null;
   9572           }
   9573           nextBuilder_.clear();
   9574         }
   9575         return this;
   9576       }
   9577       /**
   9578        * <pre>
   9579        * The next handshake request message.
   9580        * </pre>
   9581        *
   9582        * <code>.grpc.gcp.NextHandshakeMessageReq next = 3;</code>
   9583        */
   9584       public io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq.Builder getNextBuilder() {
   9585         return getNextFieldBuilder().getBuilder();
   9586       }
   9587       /**
   9588        * <pre>
   9589        * The next handshake request message.
   9590        * </pre>
   9591        *
   9592        * <code>.grpc.gcp.NextHandshakeMessageReq next = 3;</code>
   9593        */
   9594       public io.grpc.alts.internal.Handshaker.NextHandshakeMessageReqOrBuilder getNextOrBuilder() {
   9595         if ((reqOneofCase_ == 3) && (nextBuilder_ != null)) {
   9596           return nextBuilder_.getMessageOrBuilder();
   9597         } else {
   9598           if (reqOneofCase_ == 3) {
   9599             return (io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq) reqOneof_;
   9600           }
   9601           return io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq.getDefaultInstance();
   9602         }
   9603       }
   9604       /**
   9605        * <pre>
   9606        * The next handshake request message.
   9607        * </pre>
   9608        *
   9609        * <code>.grpc.gcp.NextHandshakeMessageReq next = 3;</code>
   9610        */
   9611       private com.google.protobuf.SingleFieldBuilderV3<
   9612           io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq, io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq.Builder, io.grpc.alts.internal.Handshaker.NextHandshakeMessageReqOrBuilder>
   9613           getNextFieldBuilder() {
   9614         if (nextBuilder_ == null) {
   9615           if (!(reqOneofCase_ == 3)) {
   9616             reqOneof_ = io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq.getDefaultInstance();
   9617           }
   9618           nextBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
   9619               io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq, io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq.Builder, io.grpc.alts.internal.Handshaker.NextHandshakeMessageReqOrBuilder>(
   9620                   (io.grpc.alts.internal.Handshaker.NextHandshakeMessageReq) reqOneof_,
   9621                   getParentForChildren(),
   9622                   isClean());
   9623           reqOneof_ = null;
   9624         }
   9625         reqOneofCase_ = 3;
   9626         onChanged();;
   9627         return nextBuilder_;
   9628       }
   9629       public final Builder setUnknownFields(
   9630           final com.google.protobuf.UnknownFieldSet unknownFields) {
   9631         return super.setUnknownFieldsProto3(unknownFields);
   9632       }
   9633 
   9634       public final Builder mergeUnknownFields(
   9635           final com.google.protobuf.UnknownFieldSet unknownFields) {
   9636         return super.mergeUnknownFields(unknownFields);
   9637       }
   9638 
   9639 
   9640       // @@protoc_insertion_point(builder_scope:grpc.gcp.HandshakerReq)
   9641     }
   9642 
   9643     // @@protoc_insertion_point(class_scope:grpc.gcp.HandshakerReq)
   9644     private static final io.grpc.alts.internal.Handshaker.HandshakerReq DEFAULT_INSTANCE;
   9645     static {
   9646       DEFAULT_INSTANCE = new io.grpc.alts.internal.Handshaker.HandshakerReq();
   9647     }
   9648 
   9649     public static io.grpc.alts.internal.Handshaker.HandshakerReq getDefaultInstance() {
   9650       return DEFAULT_INSTANCE;
   9651     }
   9652 
   9653     private static final com.google.protobuf.Parser<HandshakerReq>
   9654         PARSER = new com.google.protobuf.AbstractParser<HandshakerReq>() {
   9655       public HandshakerReq parsePartialFrom(
   9656           com.google.protobuf.CodedInputStream input,
   9657           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   9658           throws com.google.protobuf.InvalidProtocolBufferException {
   9659         return new HandshakerReq(input, extensionRegistry);
   9660       }
   9661     };
   9662 
   9663     public static com.google.protobuf.Parser<HandshakerReq> parser() {
   9664       return PARSER;
   9665     }
   9666 
   9667     @java.lang.Override
   9668     public com.google.protobuf.Parser<HandshakerReq> getParserForType() {
   9669       return PARSER;
   9670     }
   9671 
   9672     public io.grpc.alts.internal.Handshaker.HandshakerReq getDefaultInstanceForType() {
   9673       return DEFAULT_INSTANCE;
   9674     }
   9675 
   9676   }
   9677 
   9678   public interface HandshakerResultOrBuilder extends
   9679       // @@protoc_insertion_point(interface_extends:grpc.gcp.HandshakerResult)
   9680       com.google.protobuf.MessageOrBuilder {
   9681 
   9682     /**
   9683      * <pre>
   9684      * The application protocol negotiated for this connection.
   9685      * </pre>
   9686      *
   9687      * <code>string application_protocol = 1;</code>
   9688      */
   9689     java.lang.String getApplicationProtocol();
   9690     /**
   9691      * <pre>
   9692      * The application protocol negotiated for this connection.
   9693      * </pre>
   9694      *
   9695      * <code>string application_protocol = 1;</code>
   9696      */
   9697     com.google.protobuf.ByteString
   9698         getApplicationProtocolBytes();
   9699 
   9700     /**
   9701      * <pre>
   9702      * The record protocol negotiated for this connection.
   9703      * </pre>
   9704      *
   9705      * <code>string record_protocol = 2;</code>
   9706      */
   9707     java.lang.String getRecordProtocol();
   9708     /**
   9709      * <pre>
   9710      * The record protocol negotiated for this connection.
   9711      * </pre>
   9712      *
   9713      * <code>string record_protocol = 2;</code>
   9714      */
   9715     com.google.protobuf.ByteString
   9716         getRecordProtocolBytes();
   9717 
   9718     /**
   9719      * <pre>
   9720      * Cryptographic key data. The key data may be more than the key length
   9721      * required for the record protocol, thus the client of the handshaker
   9722      * service needs to truncate the key data into the right key length.
   9723      * </pre>
   9724      *
   9725      * <code>bytes key_data = 3;</code>
   9726      */
   9727     com.google.protobuf.ByteString getKeyData();
   9728 
   9729     /**
   9730      * <pre>
   9731      * The authenticated identity of the peer.
   9732      * </pre>
   9733      *
   9734      * <code>.grpc.gcp.Identity peer_identity = 4;</code>
   9735      */
   9736     boolean hasPeerIdentity();
   9737     /**
   9738      * <pre>
   9739      * The authenticated identity of the peer.
   9740      * </pre>
   9741      *
   9742      * <code>.grpc.gcp.Identity peer_identity = 4;</code>
   9743      */
   9744     io.grpc.alts.internal.Handshaker.Identity getPeerIdentity();
   9745     /**
   9746      * <pre>
   9747      * The authenticated identity of the peer.
   9748      * </pre>
   9749      *
   9750      * <code>.grpc.gcp.Identity peer_identity = 4;</code>
   9751      */
   9752     io.grpc.alts.internal.Handshaker.IdentityOrBuilder getPeerIdentityOrBuilder();
   9753 
   9754     /**
   9755      * <pre>
   9756      * The local identity used in the handshake.
   9757      * </pre>
   9758      *
   9759      * <code>.grpc.gcp.Identity local_identity = 5;</code>
   9760      */
   9761     boolean hasLocalIdentity();
   9762     /**
   9763      * <pre>
   9764      * The local identity used in the handshake.
   9765      * </pre>
   9766      *
   9767      * <code>.grpc.gcp.Identity local_identity = 5;</code>
   9768      */
   9769     io.grpc.alts.internal.Handshaker.Identity getLocalIdentity();
   9770     /**
   9771      * <pre>
   9772      * The local identity used in the handshake.
   9773      * </pre>
   9774      *
   9775      * <code>.grpc.gcp.Identity local_identity = 5;</code>
   9776      */
   9777     io.grpc.alts.internal.Handshaker.IdentityOrBuilder getLocalIdentityOrBuilder();
   9778 
   9779     /**
   9780      * <pre>
   9781      * Indicate whether the handshaker service client should keep the channel
   9782      * between the handshaker service open, e.g., in order to handle
   9783      * post-handshake messages in the future.
   9784      * </pre>
   9785      *
   9786      * <code>bool keep_channel_open = 6;</code>
   9787      */
   9788     boolean getKeepChannelOpen();
   9789 
   9790     /**
   9791      * <pre>
   9792      * The RPC protocol versions supported by the peer.
   9793      * </pre>
   9794      *
   9795      * <code>.grpc.gcp.RpcProtocolVersions peer_rpc_versions = 7;</code>
   9796      */
   9797     boolean hasPeerRpcVersions();
   9798     /**
   9799      * <pre>
   9800      * The RPC protocol versions supported by the peer.
   9801      * </pre>
   9802      *
   9803      * <code>.grpc.gcp.RpcProtocolVersions peer_rpc_versions = 7;</code>
   9804      */
   9805     io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions getPeerRpcVersions();
   9806     /**
   9807      * <pre>
   9808      * The RPC protocol versions supported by the peer.
   9809      * </pre>
   9810      *
   9811      * <code>.grpc.gcp.RpcProtocolVersions peer_rpc_versions = 7;</code>
   9812      */
   9813     io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersionsOrBuilder getPeerRpcVersionsOrBuilder();
   9814   }
   9815   /**
   9816    * Protobuf type {@code grpc.gcp.HandshakerResult}
   9817    */
   9818   public  static final class HandshakerResult extends
   9819       com.google.protobuf.GeneratedMessageV3 implements
   9820       // @@protoc_insertion_point(message_implements:grpc.gcp.HandshakerResult)
   9821       HandshakerResultOrBuilder {
   9822   private static final long serialVersionUID = 0L;
   9823     // Use HandshakerResult.newBuilder() to construct.
   9824     private HandshakerResult(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
   9825       super(builder);
   9826     }
   9827     private HandshakerResult() {
   9828       applicationProtocol_ = "";
   9829       recordProtocol_ = "";
   9830       keyData_ = com.google.protobuf.ByteString.EMPTY;
   9831       keepChannelOpen_ = false;
   9832     }
   9833 
   9834     @java.lang.Override
   9835     public final com.google.protobuf.UnknownFieldSet
   9836     getUnknownFields() {
   9837       return this.unknownFields;
   9838     }
   9839     private HandshakerResult(
   9840         com.google.protobuf.CodedInputStream input,
   9841         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   9842         throws com.google.protobuf.InvalidProtocolBufferException {
   9843       this();
   9844       if (extensionRegistry == null) {
   9845         throw new java.lang.NullPointerException();
   9846       }
   9847       int mutable_bitField0_ = 0;
   9848       com.google.protobuf.UnknownFieldSet.Builder unknownFields =
   9849           com.google.protobuf.UnknownFieldSet.newBuilder();
   9850       try {
   9851         boolean done = false;
   9852         while (!done) {
   9853           int tag = input.readTag();
   9854           switch (tag) {
   9855             case 0:
   9856               done = true;
   9857               break;
   9858             default: {
   9859               if (!parseUnknownFieldProto3(
   9860                   input, unknownFields, extensionRegistry, tag)) {
   9861                 done = true;
   9862               }
   9863               break;
   9864             }
   9865             case 10: {
   9866               java.lang.String s = input.readStringRequireUtf8();
   9867 
   9868               applicationProtocol_ = s;
   9869               break;
   9870             }
   9871             case 18: {
   9872               java.lang.String s = input.readStringRequireUtf8();
   9873 
   9874               recordProtocol_ = s;
   9875               break;
   9876             }
   9877             case 26: {
   9878 
   9879               keyData_ = input.readBytes();
   9880               break;
   9881             }
   9882             case 34: {
   9883               io.grpc.alts.internal.Handshaker.Identity.Builder subBuilder = null;
   9884               if (peerIdentity_ != null) {
   9885                 subBuilder = peerIdentity_.toBuilder();
   9886               }
   9887               peerIdentity_ = input.readMessage(io.grpc.alts.internal.Handshaker.Identity.parser(), extensionRegistry);
   9888               if (subBuilder != null) {
   9889                 subBuilder.mergeFrom(peerIdentity_);
   9890                 peerIdentity_ = subBuilder.buildPartial();
   9891               }
   9892 
   9893               break;
   9894             }
   9895             case 42: {
   9896               io.grpc.alts.internal.Handshaker.Identity.Builder subBuilder = null;
   9897               if (localIdentity_ != null) {
   9898                 subBuilder = localIdentity_.toBuilder();
   9899               }
   9900               localIdentity_ = input.readMessage(io.grpc.alts.internal.Handshaker.Identity.parser(), extensionRegistry);
   9901               if (subBuilder != null) {
   9902                 subBuilder.mergeFrom(localIdentity_);
   9903                 localIdentity_ = subBuilder.buildPartial();
   9904               }
   9905 
   9906               break;
   9907             }
   9908             case 48: {
   9909 
   9910               keepChannelOpen_ = input.readBool();
   9911               break;
   9912             }
   9913             case 58: {
   9914               io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.Builder subBuilder = null;
   9915               if (peerRpcVersions_ != null) {
   9916                 subBuilder = peerRpcVersions_.toBuilder();
   9917               }
   9918               peerRpcVersions_ = input.readMessage(io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.parser(), extensionRegistry);
   9919               if (subBuilder != null) {
   9920                 subBuilder.mergeFrom(peerRpcVersions_);
   9921                 peerRpcVersions_ = subBuilder.buildPartial();
   9922               }
   9923 
   9924               break;
   9925             }
   9926           }
   9927         }
   9928       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
   9929         throw e.setUnfinishedMessage(this);
   9930       } catch (java.io.IOException e) {
   9931         throw new com.google.protobuf.InvalidProtocolBufferException(
   9932             e).setUnfinishedMessage(this);
   9933       } finally {
   9934         this.unknownFields = unknownFields.build();
   9935         makeExtensionsImmutable();
   9936       }
   9937     }
   9938     public static final com.google.protobuf.Descriptors.Descriptor
   9939         getDescriptor() {
   9940       return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_HandshakerResult_descriptor;
   9941     }
   9942 
   9943     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
   9944         internalGetFieldAccessorTable() {
   9945       return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_HandshakerResult_fieldAccessorTable
   9946           .ensureFieldAccessorsInitialized(
   9947               io.grpc.alts.internal.Handshaker.HandshakerResult.class, io.grpc.alts.internal.Handshaker.HandshakerResult.Builder.class);
   9948     }
   9949 
   9950     public static final int APPLICATION_PROTOCOL_FIELD_NUMBER = 1;
   9951     private volatile java.lang.Object applicationProtocol_;
   9952     /**
   9953      * <pre>
   9954      * The application protocol negotiated for this connection.
   9955      * </pre>
   9956      *
   9957      * <code>string application_protocol = 1;</code>
   9958      */
   9959     public java.lang.String getApplicationProtocol() {
   9960       java.lang.Object ref = applicationProtocol_;
   9961       if (ref instanceof java.lang.String) {
   9962         return (java.lang.String) ref;
   9963       } else {
   9964         com.google.protobuf.ByteString bs =
   9965             (com.google.protobuf.ByteString) ref;
   9966         java.lang.String s = bs.toStringUtf8();
   9967         applicationProtocol_ = s;
   9968         return s;
   9969       }
   9970     }
   9971     /**
   9972      * <pre>
   9973      * The application protocol negotiated for this connection.
   9974      * </pre>
   9975      *
   9976      * <code>string application_protocol = 1;</code>
   9977      */
   9978     public com.google.protobuf.ByteString
   9979         getApplicationProtocolBytes() {
   9980       java.lang.Object ref = applicationProtocol_;
   9981       if (ref instanceof java.lang.String) {
   9982         com.google.protobuf.ByteString b =
   9983             com.google.protobuf.ByteString.copyFromUtf8(
   9984                 (java.lang.String) ref);
   9985         applicationProtocol_ = b;
   9986         return b;
   9987       } else {
   9988         return (com.google.protobuf.ByteString) ref;
   9989       }
   9990     }
   9991 
   9992     public static final int RECORD_PROTOCOL_FIELD_NUMBER = 2;
   9993     private volatile java.lang.Object recordProtocol_;
   9994     /**
   9995      * <pre>
   9996      * The record protocol negotiated for this connection.
   9997      * </pre>
   9998      *
   9999      * <code>string record_protocol = 2;</code>
   10000      */
   10001     public java.lang.String getRecordProtocol() {
   10002       java.lang.Object ref = recordProtocol_;
   10003       if (ref instanceof java.lang.String) {
   10004         return (java.lang.String) ref;
   10005       } else {
   10006         com.google.protobuf.ByteString bs =
   10007             (com.google.protobuf.ByteString) ref;
   10008         java.lang.String s = bs.toStringUtf8();
   10009         recordProtocol_ = s;
   10010         return s;
   10011       }
   10012     }
   10013     /**
   10014      * <pre>
   10015      * The record protocol negotiated for this connection.
   10016      * </pre>
   10017      *
   10018      * <code>string record_protocol = 2;</code>
   10019      */
   10020     public com.google.protobuf.ByteString
   10021         getRecordProtocolBytes() {
   10022       java.lang.Object ref = recordProtocol_;
   10023       if (ref instanceof java.lang.String) {
   10024         com.google.protobuf.ByteString b =
   10025             com.google.protobuf.ByteString.copyFromUtf8(
   10026                 (java.lang.String) ref);
   10027         recordProtocol_ = b;
   10028         return b;
   10029       } else {
   10030         return (com.google.protobuf.ByteString) ref;
   10031       }
   10032     }
   10033 
   10034     public static final int KEY_DATA_FIELD_NUMBER = 3;
   10035     private com.google.protobuf.ByteString keyData_;
   10036     /**
   10037      * <pre>
   10038      * Cryptographic key data. The key data may be more than the key length
   10039      * required for the record protocol, thus the client of the handshaker
   10040      * service needs to truncate the key data into the right key length.
   10041      * </pre>
   10042      *
   10043      * <code>bytes key_data = 3;</code>
   10044      */
   10045     public com.google.protobuf.ByteString getKeyData() {
   10046       return keyData_;
   10047     }
   10048 
   10049     public static final int PEER_IDENTITY_FIELD_NUMBER = 4;
   10050     private io.grpc.alts.internal.Handshaker.Identity peerIdentity_;
   10051     /**
   10052      * <pre>
   10053      * The authenticated identity of the peer.
   10054      * </pre>
   10055      *
   10056      * <code>.grpc.gcp.Identity peer_identity = 4;</code>
   10057      */
   10058     public boolean hasPeerIdentity() {
   10059       return peerIdentity_ != null;
   10060     }
   10061     /**
   10062      * <pre>
   10063      * The authenticated identity of the peer.
   10064      * </pre>
   10065      *
   10066      * <code>.grpc.gcp.Identity peer_identity = 4;</code>
   10067      */
   10068     public io.grpc.alts.internal.Handshaker.Identity getPeerIdentity() {
   10069       return peerIdentity_ == null ? io.grpc.alts.internal.Handshaker.Identity.getDefaultInstance() : peerIdentity_;
   10070     }
   10071     /**
   10072      * <pre>
   10073      * The authenticated identity of the peer.
   10074      * </pre>
   10075      *
   10076      * <code>.grpc.gcp.Identity peer_identity = 4;</code>
   10077      */
   10078     public io.grpc.alts.internal.Handshaker.IdentityOrBuilder getPeerIdentityOrBuilder() {
   10079       return getPeerIdentity();
   10080     }
   10081 
   10082     public static final int LOCAL_IDENTITY_FIELD_NUMBER = 5;
   10083     private io.grpc.alts.internal.Handshaker.Identity localIdentity_;
   10084     /**
   10085      * <pre>
   10086      * The local identity used in the handshake.
   10087      * </pre>
   10088      *
   10089      * <code>.grpc.gcp.Identity local_identity = 5;</code>
   10090      */
   10091     public boolean hasLocalIdentity() {
   10092       return localIdentity_ != null;
   10093     }
   10094     /**
   10095      * <pre>
   10096      * The local identity used in the handshake.
   10097      * </pre>
   10098      *
   10099      * <code>.grpc.gcp.Identity local_identity = 5;</code>
   10100      */
   10101     public io.grpc.alts.internal.Handshaker.Identity getLocalIdentity() {
   10102       return localIdentity_ == null ? io.grpc.alts.internal.Handshaker.Identity.getDefaultInstance() : localIdentity_;
   10103     }
   10104     /**
   10105      * <pre>
   10106      * The local identity used in the handshake.
   10107      * </pre>
   10108      *
   10109      * <code>.grpc.gcp.Identity local_identity = 5;</code>
   10110      */
   10111     public io.grpc.alts.internal.Handshaker.IdentityOrBuilder getLocalIdentityOrBuilder() {
   10112       return getLocalIdentity();
   10113     }
   10114 
   10115     public static final int KEEP_CHANNEL_OPEN_FIELD_NUMBER = 6;
   10116     private boolean keepChannelOpen_;
   10117     /**
   10118      * <pre>
   10119      * Indicate whether the handshaker service client should keep the channel
   10120      * between the handshaker service open, e.g., in order to handle
   10121      * post-handshake messages in the future.
   10122      * </pre>
   10123      *
   10124      * <code>bool keep_channel_open = 6;</code>
   10125      */
   10126     public boolean getKeepChannelOpen() {
   10127       return keepChannelOpen_;
   10128     }
   10129 
   10130     public static final int PEER_RPC_VERSIONS_FIELD_NUMBER = 7;
   10131     private io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions peerRpcVersions_;
   10132     /**
   10133      * <pre>
   10134      * The RPC protocol versions supported by the peer.
   10135      * </pre>
   10136      *
   10137      * <code>.grpc.gcp.RpcProtocolVersions peer_rpc_versions = 7;</code>
   10138      */
   10139     public boolean hasPeerRpcVersions() {
   10140       return peerRpcVersions_ != null;
   10141     }
   10142     /**
   10143      * <pre>
   10144      * The RPC protocol versions supported by the peer.
   10145      * </pre>
   10146      *
   10147      * <code>.grpc.gcp.RpcProtocolVersions peer_rpc_versions = 7;</code>
   10148      */
   10149     public io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions getPeerRpcVersions() {
   10150       return peerRpcVersions_ == null ? io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.getDefaultInstance() : peerRpcVersions_;
   10151     }
   10152     /**
   10153      * <pre>
   10154      * The RPC protocol versions supported by the peer.
   10155      * </pre>
   10156      *
   10157      * <code>.grpc.gcp.RpcProtocolVersions peer_rpc_versions = 7;</code>
   10158      */
   10159     public io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersionsOrBuilder getPeerRpcVersionsOrBuilder() {
   10160       return getPeerRpcVersions();
   10161     }
   10162 
   10163     private byte memoizedIsInitialized = -1;
   10164     public final boolean isInitialized() {
   10165       byte isInitialized = memoizedIsInitialized;
   10166       if (isInitialized == 1) return true;
   10167       if (isInitialized == 0) return false;
   10168 
   10169       memoizedIsInitialized = 1;
   10170       return true;
   10171     }
   10172 
   10173     public void writeTo(com.google.protobuf.CodedOutputStream output)
   10174                         throws java.io.IOException {
   10175       if (!getApplicationProtocolBytes().isEmpty()) {
   10176         com.google.protobuf.GeneratedMessageV3.writeString(output, 1, applicationProtocol_);
   10177       }
   10178       if (!getRecordProtocolBytes().isEmpty()) {
   10179         com.google.protobuf.GeneratedMessageV3.writeString(output, 2, recordProtocol_);
   10180       }
   10181       if (!keyData_.isEmpty()) {
   10182         output.writeBytes(3, keyData_);
   10183       }
   10184       if (peerIdentity_ != null) {
   10185         output.writeMessage(4, getPeerIdentity());
   10186       }
   10187       if (localIdentity_ != null) {
   10188         output.writeMessage(5, getLocalIdentity());
   10189       }
   10190       if (keepChannelOpen_ != false) {
   10191         output.writeBool(6, keepChannelOpen_);
   10192       }
   10193       if (peerRpcVersions_ != null) {
   10194         output.writeMessage(7, getPeerRpcVersions());
   10195       }
   10196       unknownFields.writeTo(output);
   10197     }
   10198 
   10199     public int getSerializedSize() {
   10200       int size = memoizedSize;
   10201       if (size != -1) return size;
   10202 
   10203       size = 0;
   10204       if (!getApplicationProtocolBytes().isEmpty()) {
   10205         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, applicationProtocol_);
   10206       }
   10207       if (!getRecordProtocolBytes().isEmpty()) {
   10208         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, recordProtocol_);
   10209       }
   10210       if (!keyData_.isEmpty()) {
   10211         size += com.google.protobuf.CodedOutputStream
   10212           .computeBytesSize(3, keyData_);
   10213       }
   10214       if (peerIdentity_ != null) {
   10215         size += com.google.protobuf.CodedOutputStream
   10216           .computeMessageSize(4, getPeerIdentity());
   10217       }
   10218       if (localIdentity_ != null) {
   10219         size += com.google.protobuf.CodedOutputStream
   10220           .computeMessageSize(5, getLocalIdentity());
   10221       }
   10222       if (keepChannelOpen_ != false) {
   10223         size += com.google.protobuf.CodedOutputStream
   10224           .computeBoolSize(6, keepChannelOpen_);
   10225       }
   10226       if (peerRpcVersions_ != null) {
   10227         size += com.google.protobuf.CodedOutputStream
   10228           .computeMessageSize(7, getPeerRpcVersions());
   10229       }
   10230       size += unknownFields.getSerializedSize();
   10231       memoizedSize = size;
   10232       return size;
   10233     }
   10234 
   10235     @java.lang.Override
   10236     public boolean equals(final java.lang.Object obj) {
   10237       if (obj == this) {
   10238        return true;
   10239       }
   10240       if (!(obj instanceof io.grpc.alts.internal.Handshaker.HandshakerResult)) {
   10241         return super.equals(obj);
   10242       }
   10243       io.grpc.alts.internal.Handshaker.HandshakerResult other = (io.grpc.alts.internal.Handshaker.HandshakerResult) obj;
   10244 
   10245       boolean result = true;
   10246       result = result && getApplicationProtocol()
   10247           .equals(other.getApplicationProtocol());
   10248       result = result && getRecordProtocol()
   10249           .equals(other.getRecordProtocol());
   10250       result = result && getKeyData()
   10251           .equals(other.getKeyData());
   10252       result = result && (hasPeerIdentity() == other.hasPeerIdentity());
   10253       if (hasPeerIdentity()) {
   10254         result = result && getPeerIdentity()
   10255             .equals(other.getPeerIdentity());
   10256       }
   10257       result = result && (hasLocalIdentity() == other.hasLocalIdentity());
   10258       if (hasLocalIdentity()) {
   10259         result = result && getLocalIdentity()
   10260             .equals(other.getLocalIdentity());
   10261       }
   10262       result = result && (getKeepChannelOpen()
   10263           == other.getKeepChannelOpen());
   10264       result = result && (hasPeerRpcVersions() == other.hasPeerRpcVersions());
   10265       if (hasPeerRpcVersions()) {
   10266         result = result && getPeerRpcVersions()
   10267             .equals(other.getPeerRpcVersions());
   10268       }
   10269       result = result && unknownFields.equals(other.unknownFields);
   10270       return result;
   10271     }
   10272 
   10273     @java.lang.Override
   10274     public int hashCode() {
   10275       if (memoizedHashCode != 0) {
   10276         return memoizedHashCode;
   10277       }
   10278       int hash = 41;
   10279       hash = (19 * hash) + getDescriptor().hashCode();
   10280       hash = (37 * hash) + APPLICATION_PROTOCOL_FIELD_NUMBER;
   10281       hash = (53 * hash) + getApplicationProtocol().hashCode();
   10282       hash = (37 * hash) + RECORD_PROTOCOL_FIELD_NUMBER;
   10283       hash = (53 * hash) + getRecordProtocol().hashCode();
   10284       hash = (37 * hash) + KEY_DATA_FIELD_NUMBER;
   10285       hash = (53 * hash) + getKeyData().hashCode();
   10286       if (hasPeerIdentity()) {
   10287         hash = (37 * hash) + PEER_IDENTITY_FIELD_NUMBER;
   10288         hash = (53 * hash) + getPeerIdentity().hashCode();
   10289       }
   10290       if (hasLocalIdentity()) {
   10291         hash = (37 * hash) + LOCAL_IDENTITY_FIELD_NUMBER;
   10292         hash = (53 * hash) + getLocalIdentity().hashCode();
   10293       }
   10294       hash = (37 * hash) + KEEP_CHANNEL_OPEN_FIELD_NUMBER;
   10295       hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
   10296           getKeepChannelOpen());
   10297       if (hasPeerRpcVersions()) {
   10298         hash = (37 * hash) + PEER_RPC_VERSIONS_FIELD_NUMBER;
   10299         hash = (53 * hash) + getPeerRpcVersions().hashCode();
   10300       }
   10301       hash = (29 * hash) + unknownFields.hashCode();
   10302       memoizedHashCode = hash;
   10303       return hash;
   10304     }
   10305 
   10306     public static io.grpc.alts.internal.Handshaker.HandshakerResult parseFrom(
   10307         java.nio.ByteBuffer data)
   10308         throws com.google.protobuf.InvalidProtocolBufferException {
   10309       return PARSER.parseFrom(data);
   10310     }
   10311     public static io.grpc.alts.internal.Handshaker.HandshakerResult parseFrom(
   10312         java.nio.ByteBuffer data,
   10313         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   10314         throws com.google.protobuf.InvalidProtocolBufferException {
   10315       return PARSER.parseFrom(data, extensionRegistry);
   10316     }
   10317     public static io.grpc.alts.internal.Handshaker.HandshakerResult parseFrom(
   10318         com.google.protobuf.ByteString data)
   10319         throws com.google.protobuf.InvalidProtocolBufferException {
   10320       return PARSER.parseFrom(data);
   10321     }
   10322     public static io.grpc.alts.internal.Handshaker.HandshakerResult parseFrom(
   10323         com.google.protobuf.ByteString data,
   10324         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   10325         throws com.google.protobuf.InvalidProtocolBufferException {
   10326       return PARSER.parseFrom(data, extensionRegistry);
   10327     }
   10328     public static io.grpc.alts.internal.Handshaker.HandshakerResult parseFrom(byte[] data)
   10329         throws com.google.protobuf.InvalidProtocolBufferException {
   10330       return PARSER.parseFrom(data);
   10331     }
   10332     public static io.grpc.alts.internal.Handshaker.HandshakerResult parseFrom(
   10333         byte[] data,
   10334         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   10335         throws com.google.protobuf.InvalidProtocolBufferException {
   10336       return PARSER.parseFrom(data, extensionRegistry);
   10337     }
   10338     public static io.grpc.alts.internal.Handshaker.HandshakerResult parseFrom(java.io.InputStream input)
   10339         throws java.io.IOException {
   10340       return com.google.protobuf.GeneratedMessageV3
   10341           .parseWithIOException(PARSER, input);
   10342     }
   10343     public static io.grpc.alts.internal.Handshaker.HandshakerResult parseFrom(
   10344         java.io.InputStream input,
   10345         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   10346         throws java.io.IOException {
   10347       return com.google.protobuf.GeneratedMessageV3
   10348           .parseWithIOException(PARSER, input, extensionRegistry);
   10349     }
   10350     public static io.grpc.alts.internal.Handshaker.HandshakerResult parseDelimitedFrom(java.io.InputStream input)
   10351         throws java.io.IOException {
   10352       return com.google.protobuf.GeneratedMessageV3
   10353           .parseDelimitedWithIOException(PARSER, input);
   10354     }
   10355     public static io.grpc.alts.internal.Handshaker.HandshakerResult parseDelimitedFrom(
   10356         java.io.InputStream input,
   10357         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   10358         throws java.io.IOException {
   10359       return com.google.protobuf.GeneratedMessageV3
   10360           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
   10361     }
   10362     public static io.grpc.alts.internal.Handshaker.HandshakerResult parseFrom(
   10363         com.google.protobuf.CodedInputStream input)
   10364         throws java.io.IOException {
   10365       return com.google.protobuf.GeneratedMessageV3
   10366           .parseWithIOException(PARSER, input);
   10367     }
   10368     public static io.grpc.alts.internal.Handshaker.HandshakerResult parseFrom(
   10369         com.google.protobuf.CodedInputStream input,
   10370         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   10371         throws java.io.IOException {
   10372       return com.google.protobuf.GeneratedMessageV3
   10373           .parseWithIOException(PARSER, input, extensionRegistry);
   10374     }
   10375 
   10376     public Builder newBuilderForType() { return newBuilder(); }
   10377     public static Builder newBuilder() {
   10378       return DEFAULT_INSTANCE.toBuilder();
   10379     }
   10380     public static Builder newBuilder(io.grpc.alts.internal.Handshaker.HandshakerResult prototype) {
   10381       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
   10382     }
   10383     public Builder toBuilder() {
   10384       return this == DEFAULT_INSTANCE
   10385           ? new Builder() : new Builder().mergeFrom(this);
   10386     }
   10387 
   10388     @java.lang.Override
   10389     protected Builder newBuilderForType(
   10390         com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
   10391       Builder builder = new Builder(parent);
   10392       return builder;
   10393     }
   10394     /**
   10395      * Protobuf type {@code grpc.gcp.HandshakerResult}
   10396      */
   10397     public static final class Builder extends
   10398         com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
   10399         // @@protoc_insertion_point(builder_implements:grpc.gcp.HandshakerResult)
   10400         io.grpc.alts.internal.Handshaker.HandshakerResultOrBuilder {
   10401       public static final com.google.protobuf.Descriptors.Descriptor
   10402           getDescriptor() {
   10403         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_HandshakerResult_descriptor;
   10404       }
   10405 
   10406       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
   10407           internalGetFieldAccessorTable() {
   10408         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_HandshakerResult_fieldAccessorTable
   10409             .ensureFieldAccessorsInitialized(
   10410                 io.grpc.alts.internal.Handshaker.HandshakerResult.class, io.grpc.alts.internal.Handshaker.HandshakerResult.Builder.class);
   10411       }
   10412 
   10413       // Construct using io.grpc.alts.internal.Handshaker.HandshakerResult.newBuilder()
   10414       private Builder() {
   10415         maybeForceBuilderInitialization();
   10416       }
   10417 
   10418       private Builder(
   10419           com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
   10420         super(parent);
   10421         maybeForceBuilderInitialization();
   10422       }
   10423       private void maybeForceBuilderInitialization() {
   10424         if (com.google.protobuf.GeneratedMessageV3
   10425                 .alwaysUseFieldBuilders) {
   10426         }
   10427       }
   10428       public Builder clear() {
   10429         super.clear();
   10430         applicationProtocol_ = "";
   10431 
   10432         recordProtocol_ = "";
   10433 
   10434         keyData_ = com.google.protobuf.ByteString.EMPTY;
   10435 
   10436         if (peerIdentityBuilder_ == null) {
   10437           peerIdentity_ = null;
   10438         } else {
   10439           peerIdentity_ = null;
   10440           peerIdentityBuilder_ = null;
   10441         }
   10442         if (localIdentityBuilder_ == null) {
   10443           localIdentity_ = null;
   10444         } else {
   10445           localIdentity_ = null;
   10446           localIdentityBuilder_ = null;
   10447         }
   10448         keepChannelOpen_ = false;
   10449 
   10450         if (peerRpcVersionsBuilder_ == null) {
   10451           peerRpcVersions_ = null;
   10452         } else {
   10453           peerRpcVersions_ = null;
   10454           peerRpcVersionsBuilder_ = null;
   10455         }
   10456         return this;
   10457       }
   10458 
   10459       public com.google.protobuf.Descriptors.Descriptor
   10460           getDescriptorForType() {
   10461         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_HandshakerResult_descriptor;
   10462       }
   10463 
   10464       public io.grpc.alts.internal.Handshaker.HandshakerResult getDefaultInstanceForType() {
   10465         return io.grpc.alts.internal.Handshaker.HandshakerResult.getDefaultInstance();
   10466       }
   10467 
   10468       public io.grpc.alts.internal.Handshaker.HandshakerResult build() {
   10469         io.grpc.alts.internal.Handshaker.HandshakerResult result = buildPartial();
   10470         if (!result.isInitialized()) {
   10471           throw newUninitializedMessageException(result);
   10472         }
   10473         return result;
   10474       }
   10475 
   10476       public io.grpc.alts.internal.Handshaker.HandshakerResult buildPartial() {
   10477         io.grpc.alts.internal.Handshaker.HandshakerResult result = new io.grpc.alts.internal.Handshaker.HandshakerResult(this);
   10478         result.applicationProtocol_ = applicationProtocol_;
   10479         result.recordProtocol_ = recordProtocol_;
   10480         result.keyData_ = keyData_;
   10481         if (peerIdentityBuilder_ == null) {
   10482           result.peerIdentity_ = peerIdentity_;
   10483         } else {
   10484           result.peerIdentity_ = peerIdentityBuilder_.build();
   10485         }
   10486         if (localIdentityBuilder_ == null) {
   10487           result.localIdentity_ = localIdentity_;
   10488         } else {
   10489           result.localIdentity_ = localIdentityBuilder_.build();
   10490         }
   10491         result.keepChannelOpen_ = keepChannelOpen_;
   10492         if (peerRpcVersionsBuilder_ == null) {
   10493           result.peerRpcVersions_ = peerRpcVersions_;
   10494         } else {
   10495           result.peerRpcVersions_ = peerRpcVersionsBuilder_.build();
   10496         }
   10497         onBuilt();
   10498         return result;
   10499       }
   10500 
   10501       public Builder clone() {
   10502         return (Builder) super.clone();
   10503       }
   10504       public Builder setField(
   10505           com.google.protobuf.Descriptors.FieldDescriptor field,
   10506           java.lang.Object value) {
   10507         return (Builder) super.setField(field, value);
   10508       }
   10509       public Builder clearField(
   10510           com.google.protobuf.Descriptors.FieldDescriptor field) {
   10511         return (Builder) super.clearField(field);
   10512       }
   10513       public Builder clearOneof(
   10514           com.google.protobuf.Descriptors.OneofDescriptor oneof) {
   10515         return (Builder) super.clearOneof(oneof);
   10516       }
   10517       public Builder setRepeatedField(
   10518           com.google.protobuf.Descriptors.FieldDescriptor field,
   10519           int index, java.lang.Object value) {
   10520         return (Builder) super.setRepeatedField(field, index, value);
   10521       }
   10522       public Builder addRepeatedField(
   10523           com.google.protobuf.Descriptors.FieldDescriptor field,
   10524           java.lang.Object value) {
   10525         return (Builder) super.addRepeatedField(field, value);
   10526       }
   10527       public Builder mergeFrom(com.google.protobuf.Message other) {
   10528         if (other instanceof io.grpc.alts.internal.Handshaker.HandshakerResult) {
   10529           return mergeFrom((io.grpc.alts.internal.Handshaker.HandshakerResult)other);
   10530         } else {
   10531           super.mergeFrom(other);
   10532           return this;
   10533         }
   10534       }
   10535 
   10536       public Builder mergeFrom(io.grpc.alts.internal.Handshaker.HandshakerResult other) {
   10537         if (other == io.grpc.alts.internal.Handshaker.HandshakerResult.getDefaultInstance()) return this;
   10538         if (!other.getApplicationProtocol().isEmpty()) {
   10539           applicationProtocol_ = other.applicationProtocol_;
   10540           onChanged();
   10541         }
   10542         if (!other.getRecordProtocol().isEmpty()) {
   10543           recordProtocol_ = other.recordProtocol_;
   10544           onChanged();
   10545         }
   10546         if (other.getKeyData() != com.google.protobuf.ByteString.EMPTY) {
   10547           setKeyData(other.getKeyData());
   10548         }
   10549         if (other.hasPeerIdentity()) {
   10550           mergePeerIdentity(other.getPeerIdentity());
   10551         }
   10552         if (other.hasLocalIdentity()) {
   10553           mergeLocalIdentity(other.getLocalIdentity());
   10554         }
   10555         if (other.getKeepChannelOpen() != false) {
   10556           setKeepChannelOpen(other.getKeepChannelOpen());
   10557         }
   10558         if (other.hasPeerRpcVersions()) {
   10559           mergePeerRpcVersions(other.getPeerRpcVersions());
   10560         }
   10561         this.mergeUnknownFields(other.unknownFields);
   10562         onChanged();
   10563         return this;
   10564       }
   10565 
   10566       public final boolean isInitialized() {
   10567         return true;
   10568       }
   10569 
   10570       public Builder mergeFrom(
   10571           com.google.protobuf.CodedInputStream input,
   10572           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   10573           throws java.io.IOException {
   10574         io.grpc.alts.internal.Handshaker.HandshakerResult parsedMessage = null;
   10575         try {
   10576           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
   10577         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
   10578           parsedMessage = (io.grpc.alts.internal.Handshaker.HandshakerResult) e.getUnfinishedMessage();
   10579           throw e.unwrapIOException();
   10580         } finally {
   10581           if (parsedMessage != null) {
   10582             mergeFrom(parsedMessage);
   10583           }
   10584         }
   10585         return this;
   10586       }
   10587 
   10588       private java.lang.Object applicationProtocol_ = "";
   10589       /**
   10590        * <pre>
   10591        * The application protocol negotiated for this connection.
   10592        * </pre>
   10593        *
   10594        * <code>string application_protocol = 1;</code>
   10595        */
   10596       public java.lang.String getApplicationProtocol() {
   10597         java.lang.Object ref = applicationProtocol_;
   10598         if (!(ref instanceof java.lang.String)) {
   10599           com.google.protobuf.ByteString bs =
   10600               (com.google.protobuf.ByteString) ref;
   10601           java.lang.String s = bs.toStringUtf8();
   10602           applicationProtocol_ = s;
   10603           return s;
   10604         } else {
   10605           return (java.lang.String) ref;
   10606         }
   10607       }
   10608       /**
   10609        * <pre>
   10610        * The application protocol negotiated for this connection.
   10611        * </pre>
   10612        *
   10613        * <code>string application_protocol = 1;</code>
   10614        */
   10615       public com.google.protobuf.ByteString
   10616           getApplicationProtocolBytes() {
   10617         java.lang.Object ref = applicationProtocol_;
   10618         if (ref instanceof String) {
   10619           com.google.protobuf.ByteString b =
   10620               com.google.protobuf.ByteString.copyFromUtf8(
   10621                   (java.lang.String) ref);
   10622           applicationProtocol_ = b;
   10623           return b;
   10624         } else {
   10625           return (com.google.protobuf.ByteString) ref;
   10626         }
   10627       }
   10628       /**
   10629        * <pre>
   10630        * The application protocol negotiated for this connection.
   10631        * </pre>
   10632        *
   10633        * <code>string application_protocol = 1;</code>
   10634        */
   10635       public Builder setApplicationProtocol(
   10636           java.lang.String value) {
   10637         if (value == null) {
   10638     throw new NullPointerException();
   10639   }
   10640 
   10641         applicationProtocol_ = value;
   10642         onChanged();
   10643         return this;
   10644       }
   10645       /**
   10646        * <pre>
   10647        * The application protocol negotiated for this connection.
   10648        * </pre>
   10649        *
   10650        * <code>string application_protocol = 1;</code>
   10651        */
   10652       public Builder clearApplicationProtocol() {
   10653 
   10654         applicationProtocol_ = getDefaultInstance().getApplicationProtocol();
   10655         onChanged();
   10656         return this;
   10657       }
   10658       /**
   10659        * <pre>
   10660        * The application protocol negotiated for this connection.
   10661        * </pre>
   10662        *
   10663        * <code>string application_protocol = 1;</code>
   10664        */
   10665       public Builder setApplicationProtocolBytes(
   10666           com.google.protobuf.ByteString value) {
   10667         if (value == null) {
   10668     throw new NullPointerException();
   10669   }
   10670   checkByteStringIsUtf8(value);
   10671 
   10672         applicationProtocol_ = value;
   10673         onChanged();
   10674         return this;
   10675       }
   10676 
   10677       private java.lang.Object recordProtocol_ = "";
   10678       /**
   10679        * <pre>
   10680        * The record protocol negotiated for this connection.
   10681        * </pre>
   10682        *
   10683        * <code>string record_protocol = 2;</code>
   10684        */
   10685       public java.lang.String getRecordProtocol() {
   10686         java.lang.Object ref = recordProtocol_;
   10687         if (!(ref instanceof java.lang.String)) {
   10688           com.google.protobuf.ByteString bs =
   10689               (com.google.protobuf.ByteString) ref;
   10690           java.lang.String s = bs.toStringUtf8();
   10691           recordProtocol_ = s;
   10692           return s;
   10693         } else {
   10694           return (java.lang.String) ref;
   10695         }
   10696       }
   10697       /**
   10698        * <pre>
   10699        * The record protocol negotiated for this connection.
   10700        * </pre>
   10701        *
   10702        * <code>string record_protocol = 2;</code>
   10703        */
   10704       public com.google.protobuf.ByteString
   10705           getRecordProtocolBytes() {
   10706         java.lang.Object ref = recordProtocol_;
   10707         if (ref instanceof String) {
   10708           com.google.protobuf.ByteString b =
   10709               com.google.protobuf.ByteString.copyFromUtf8(
   10710                   (java.lang.String) ref);
   10711           recordProtocol_ = b;
   10712           return b;
   10713         } else {
   10714           return (com.google.protobuf.ByteString) ref;
   10715         }
   10716       }
   10717       /**
   10718        * <pre>
   10719        * The record protocol negotiated for this connection.
   10720        * </pre>
   10721        *
   10722        * <code>string record_protocol = 2;</code>
   10723        */
   10724       public Builder setRecordProtocol(
   10725           java.lang.String value) {
   10726         if (value == null) {
   10727     throw new NullPointerException();
   10728   }
   10729 
   10730         recordProtocol_ = value;
   10731         onChanged();
   10732         return this;
   10733       }
   10734       /**
   10735        * <pre>
   10736        * The record protocol negotiated for this connection.
   10737        * </pre>
   10738        *
   10739        * <code>string record_protocol = 2;</code>
   10740        */
   10741       public Builder clearRecordProtocol() {
   10742 
   10743         recordProtocol_ = getDefaultInstance().getRecordProtocol();
   10744         onChanged();
   10745         return this;
   10746       }
   10747       /**
   10748        * <pre>
   10749        * The record protocol negotiated for this connection.
   10750        * </pre>
   10751        *
   10752        * <code>string record_protocol = 2;</code>
   10753        */
   10754       public Builder setRecordProtocolBytes(
   10755           com.google.protobuf.ByteString value) {
   10756         if (value == null) {
   10757     throw new NullPointerException();
   10758   }
   10759   checkByteStringIsUtf8(value);
   10760 
   10761         recordProtocol_ = value;
   10762         onChanged();
   10763         return this;
   10764       }
   10765 
   10766       private com.google.protobuf.ByteString keyData_ = com.google.protobuf.ByteString.EMPTY;
   10767       /**
   10768        * <pre>
   10769        * Cryptographic key data. The key data may be more than the key length
   10770        * required for the record protocol, thus the client of the handshaker
   10771        * service needs to truncate the key data into the right key length.
   10772        * </pre>
   10773        *
   10774        * <code>bytes key_data = 3;</code>
   10775        */
   10776       public com.google.protobuf.ByteString getKeyData() {
   10777         return keyData_;
   10778       }
   10779       /**
   10780        * <pre>
   10781        * Cryptographic key data. The key data may be more than the key length
   10782        * required for the record protocol, thus the client of the handshaker
   10783        * service needs to truncate the key data into the right key length.
   10784        * </pre>
   10785        *
   10786        * <code>bytes key_data = 3;</code>
   10787        */
   10788       public Builder setKeyData(com.google.protobuf.ByteString value) {
   10789         if (value == null) {
   10790     throw new NullPointerException();
   10791   }
   10792 
   10793         keyData_ = value;
   10794         onChanged();
   10795         return this;
   10796       }
   10797       /**
   10798        * <pre>
   10799        * Cryptographic key data. The key data may be more than the key length
   10800        * required for the record protocol, thus the client of the handshaker
   10801        * service needs to truncate the key data into the right key length.
   10802        * </pre>
   10803        *
   10804        * <code>bytes key_data = 3;</code>
   10805        */
   10806       public Builder clearKeyData() {
   10807 
   10808         keyData_ = getDefaultInstance().getKeyData();
   10809         onChanged();
   10810         return this;
   10811       }
   10812 
   10813       private io.grpc.alts.internal.Handshaker.Identity peerIdentity_ = null;
   10814       private com.google.protobuf.SingleFieldBuilderV3<
   10815           io.grpc.alts.internal.Handshaker.Identity, io.grpc.alts.internal.Handshaker.Identity.Builder, io.grpc.alts.internal.Handshaker.IdentityOrBuilder> peerIdentityBuilder_;
   10816       /**
   10817        * <pre>
   10818        * The authenticated identity of the peer.
   10819        * </pre>
   10820        *
   10821        * <code>.grpc.gcp.Identity peer_identity = 4;</code>
   10822        */
   10823       public boolean hasPeerIdentity() {
   10824         return peerIdentityBuilder_ != null || peerIdentity_ != null;
   10825       }
   10826       /**
   10827        * <pre>
   10828        * The authenticated identity of the peer.
   10829        * </pre>
   10830        *
   10831        * <code>.grpc.gcp.Identity peer_identity = 4;</code>
   10832        */
   10833       public io.grpc.alts.internal.Handshaker.Identity getPeerIdentity() {
   10834         if (peerIdentityBuilder_ == null) {
   10835           return peerIdentity_ == null ? io.grpc.alts.internal.Handshaker.Identity.getDefaultInstance() : peerIdentity_;
   10836         } else {
   10837           return peerIdentityBuilder_.getMessage();
   10838         }
   10839       }
   10840       /**
   10841        * <pre>
   10842        * The authenticated identity of the peer.
   10843        * </pre>
   10844        *
   10845        * <code>.grpc.gcp.Identity peer_identity = 4;</code>
   10846        */
   10847       public Builder setPeerIdentity(io.grpc.alts.internal.Handshaker.Identity value) {
   10848         if (peerIdentityBuilder_ == null) {
   10849           if (value == null) {
   10850             throw new NullPointerException();
   10851           }
   10852           peerIdentity_ = value;
   10853           onChanged();
   10854         } else {
   10855           peerIdentityBuilder_.setMessage(value);
   10856         }
   10857 
   10858         return this;
   10859       }
   10860       /**
   10861        * <pre>
   10862        * The authenticated identity of the peer.
   10863        * </pre>
   10864        *
   10865        * <code>.grpc.gcp.Identity peer_identity = 4;</code>
   10866        */
   10867       public Builder setPeerIdentity(
   10868           io.grpc.alts.internal.Handshaker.Identity.Builder builderForValue) {
   10869         if (peerIdentityBuilder_ == null) {
   10870           peerIdentity_ = builderForValue.build();
   10871           onChanged();
   10872         } else {
   10873           peerIdentityBuilder_.setMessage(builderForValue.build());
   10874         }
   10875 
   10876         return this;
   10877       }
   10878       /**
   10879        * <pre>
   10880        * The authenticated identity of the peer.
   10881        * </pre>
   10882        *
   10883        * <code>.grpc.gcp.Identity peer_identity = 4;</code>
   10884        */
   10885       public Builder mergePeerIdentity(io.grpc.alts.internal.Handshaker.Identity value) {
   10886         if (peerIdentityBuilder_ == null) {
   10887           if (peerIdentity_ != null) {
   10888             peerIdentity_ =
   10889               io.grpc.alts.internal.Handshaker.Identity.newBuilder(peerIdentity_).mergeFrom(value).buildPartial();
   10890           } else {
   10891             peerIdentity_ = value;
   10892           }
   10893           onChanged();
   10894         } else {
   10895           peerIdentityBuilder_.mergeFrom(value);
   10896         }
   10897 
   10898         return this;
   10899       }
   10900       /**
   10901        * <pre>
   10902        * The authenticated identity of the peer.
   10903        * </pre>
   10904        *
   10905        * <code>.grpc.gcp.Identity peer_identity = 4;</code>
   10906        */
   10907       public Builder clearPeerIdentity() {
   10908         if (peerIdentityBuilder_ == null) {
   10909           peerIdentity_ = null;
   10910           onChanged();
   10911         } else {
   10912           peerIdentity_ = null;
   10913           peerIdentityBuilder_ = null;
   10914         }
   10915 
   10916         return this;
   10917       }
   10918       /**
   10919        * <pre>
   10920        * The authenticated identity of the peer.
   10921        * </pre>
   10922        *
   10923        * <code>.grpc.gcp.Identity peer_identity = 4;</code>
   10924        */
   10925       public io.grpc.alts.internal.Handshaker.Identity.Builder getPeerIdentityBuilder() {
   10926 
   10927         onChanged();
   10928         return getPeerIdentityFieldBuilder().getBuilder();
   10929       }
   10930       /**
   10931        * <pre>
   10932        * The authenticated identity of the peer.
   10933        * </pre>
   10934        *
   10935        * <code>.grpc.gcp.Identity peer_identity = 4;</code>
   10936        */
   10937       public io.grpc.alts.internal.Handshaker.IdentityOrBuilder getPeerIdentityOrBuilder() {
   10938         if (peerIdentityBuilder_ != null) {
   10939           return peerIdentityBuilder_.getMessageOrBuilder();
   10940         } else {
   10941           return peerIdentity_ == null ?
   10942               io.grpc.alts.internal.Handshaker.Identity.getDefaultInstance() : peerIdentity_;
   10943         }
   10944       }
   10945       /**
   10946        * <pre>
   10947        * The authenticated identity of the peer.
   10948        * </pre>
   10949        *
   10950        * <code>.grpc.gcp.Identity peer_identity = 4;</code>
   10951        */
   10952       private com.google.protobuf.SingleFieldBuilderV3<
   10953           io.grpc.alts.internal.Handshaker.Identity, io.grpc.alts.internal.Handshaker.Identity.Builder, io.grpc.alts.internal.Handshaker.IdentityOrBuilder>
   10954           getPeerIdentityFieldBuilder() {
   10955         if (peerIdentityBuilder_ == null) {
   10956           peerIdentityBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
   10957               io.grpc.alts.internal.Handshaker.Identity, io.grpc.alts.internal.Handshaker.Identity.Builder, io.grpc.alts.internal.Handshaker.IdentityOrBuilder>(
   10958                   getPeerIdentity(),
   10959                   getParentForChildren(),
   10960                   isClean());
   10961           peerIdentity_ = null;
   10962         }
   10963         return peerIdentityBuilder_;
   10964       }
   10965 
   10966       private io.grpc.alts.internal.Handshaker.Identity localIdentity_ = null;
   10967       private com.google.protobuf.SingleFieldBuilderV3<
   10968           io.grpc.alts.internal.Handshaker.Identity, io.grpc.alts.internal.Handshaker.Identity.Builder, io.grpc.alts.internal.Handshaker.IdentityOrBuilder> localIdentityBuilder_;
   10969       /**
   10970        * <pre>
   10971        * The local identity used in the handshake.
   10972        * </pre>
   10973        *
   10974        * <code>.grpc.gcp.Identity local_identity = 5;</code>
   10975        */
   10976       public boolean hasLocalIdentity() {
   10977         return localIdentityBuilder_ != null || localIdentity_ != null;
   10978       }
   10979       /**
   10980        * <pre>
   10981        * The local identity used in the handshake.
   10982        * </pre>
   10983        *
   10984        * <code>.grpc.gcp.Identity local_identity = 5;</code>
   10985        */
   10986       public io.grpc.alts.internal.Handshaker.Identity getLocalIdentity() {
   10987         if (localIdentityBuilder_ == null) {
   10988           return localIdentity_ == null ? io.grpc.alts.internal.Handshaker.Identity.getDefaultInstance() : localIdentity_;
   10989         } else {
   10990           return localIdentityBuilder_.getMessage();
   10991         }
   10992       }
   10993       /**
   10994        * <pre>
   10995        * The local identity used in the handshake.
   10996        * </pre>
   10997        *
   10998        * <code>.grpc.gcp.Identity local_identity = 5;</code>
   10999        */
   11000       public Builder setLocalIdentity(io.grpc.alts.internal.Handshaker.Identity value) {
   11001         if (localIdentityBuilder_ == null) {
   11002           if (value == null) {
   11003             throw new NullPointerException();
   11004           }
   11005           localIdentity_ = value;
   11006           onChanged();
   11007         } else {
   11008           localIdentityBuilder_.setMessage(value);
   11009         }
   11010 
   11011         return this;
   11012       }
   11013       /**
   11014        * <pre>
   11015        * The local identity used in the handshake.
   11016        * </pre>
   11017        *
   11018        * <code>.grpc.gcp.Identity local_identity = 5;</code>
   11019        */
   11020       public Builder setLocalIdentity(
   11021           io.grpc.alts.internal.Handshaker.Identity.Builder builderForValue) {
   11022         if (localIdentityBuilder_ == null) {
   11023           localIdentity_ = builderForValue.build();
   11024           onChanged();
   11025         } else {
   11026           localIdentityBuilder_.setMessage(builderForValue.build());
   11027         }
   11028 
   11029         return this;
   11030       }
   11031       /**
   11032        * <pre>
   11033        * The local identity used in the handshake.
   11034        * </pre>
   11035        *
   11036        * <code>.grpc.gcp.Identity local_identity = 5;</code>
   11037        */
   11038       public Builder mergeLocalIdentity(io.grpc.alts.internal.Handshaker.Identity value) {
   11039         if (localIdentityBuilder_ == null) {
   11040           if (localIdentity_ != null) {
   11041             localIdentity_ =
   11042               io.grpc.alts.internal.Handshaker.Identity.newBuilder(localIdentity_).mergeFrom(value).buildPartial();
   11043           } else {
   11044             localIdentity_ = value;
   11045           }
   11046           onChanged();
   11047         } else {
   11048           localIdentityBuilder_.mergeFrom(value);
   11049         }
   11050 
   11051         return this;
   11052       }
   11053       /**
   11054        * <pre>
   11055        * The local identity used in the handshake.
   11056        * </pre>
   11057        *
   11058        * <code>.grpc.gcp.Identity local_identity = 5;</code>
   11059        */
   11060       public Builder clearLocalIdentity() {
   11061         if (localIdentityBuilder_ == null) {
   11062           localIdentity_ = null;
   11063           onChanged();
   11064         } else {
   11065           localIdentity_ = null;
   11066           localIdentityBuilder_ = null;
   11067         }
   11068 
   11069         return this;
   11070       }
   11071       /**
   11072        * <pre>
   11073        * The local identity used in the handshake.
   11074        * </pre>
   11075        *
   11076        * <code>.grpc.gcp.Identity local_identity = 5;</code>
   11077        */
   11078       public io.grpc.alts.internal.Handshaker.Identity.Builder getLocalIdentityBuilder() {
   11079 
   11080         onChanged();
   11081         return getLocalIdentityFieldBuilder().getBuilder();
   11082       }
   11083       /**
   11084        * <pre>
   11085        * The local identity used in the handshake.
   11086        * </pre>
   11087        *
   11088        * <code>.grpc.gcp.Identity local_identity = 5;</code>
   11089        */
   11090       public io.grpc.alts.internal.Handshaker.IdentityOrBuilder getLocalIdentityOrBuilder() {
   11091         if (localIdentityBuilder_ != null) {
   11092           return localIdentityBuilder_.getMessageOrBuilder();
   11093         } else {
   11094           return localIdentity_ == null ?
   11095               io.grpc.alts.internal.Handshaker.Identity.getDefaultInstance() : localIdentity_;
   11096         }
   11097       }
   11098       /**
   11099        * <pre>
   11100        * The local identity used in the handshake.
   11101        * </pre>
   11102        *
   11103        * <code>.grpc.gcp.Identity local_identity = 5;</code>
   11104        */
   11105       private com.google.protobuf.SingleFieldBuilderV3<
   11106           io.grpc.alts.internal.Handshaker.Identity, io.grpc.alts.internal.Handshaker.Identity.Builder, io.grpc.alts.internal.Handshaker.IdentityOrBuilder>
   11107           getLocalIdentityFieldBuilder() {
   11108         if (localIdentityBuilder_ == null) {
   11109           localIdentityBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
   11110               io.grpc.alts.internal.Handshaker.Identity, io.grpc.alts.internal.Handshaker.Identity.Builder, io.grpc.alts.internal.Handshaker.IdentityOrBuilder>(
   11111                   getLocalIdentity(),
   11112                   getParentForChildren(),
   11113                   isClean());
   11114           localIdentity_ = null;
   11115         }
   11116         return localIdentityBuilder_;
   11117       }
   11118 
   11119       private boolean keepChannelOpen_ ;
   11120       /**
   11121        * <pre>
   11122        * Indicate whether the handshaker service client should keep the channel
   11123        * between the handshaker service open, e.g., in order to handle
   11124        * post-handshake messages in the future.
   11125        * </pre>
   11126        *
   11127        * <code>bool keep_channel_open = 6;</code>
   11128        */
   11129       public boolean getKeepChannelOpen() {
   11130         return keepChannelOpen_;
   11131       }
   11132       /**
   11133        * <pre>
   11134        * Indicate whether the handshaker service client should keep the channel
   11135        * between the handshaker service open, e.g., in order to handle
   11136        * post-handshake messages in the future.
   11137        * </pre>
   11138        *
   11139        * <code>bool keep_channel_open = 6;</code>
   11140        */
   11141       public Builder setKeepChannelOpen(boolean value) {
   11142 
   11143         keepChannelOpen_ = value;
   11144         onChanged();
   11145         return this;
   11146       }
   11147       /**
   11148        * <pre>
   11149        * Indicate whether the handshaker service client should keep the channel
   11150        * between the handshaker service open, e.g., in order to handle
   11151        * post-handshake messages in the future.
   11152        * </pre>
   11153        *
   11154        * <code>bool keep_channel_open = 6;</code>
   11155        */
   11156       public Builder clearKeepChannelOpen() {
   11157 
   11158         keepChannelOpen_ = false;
   11159         onChanged();
   11160         return this;
   11161       }
   11162 
   11163       private io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions peerRpcVersions_ = null;
   11164       private com.google.protobuf.SingleFieldBuilderV3<
   11165           io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions, io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.Builder, io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersionsOrBuilder> peerRpcVersionsBuilder_;
   11166       /**
   11167        * <pre>
   11168        * The RPC protocol versions supported by the peer.
   11169        * </pre>
   11170        *
   11171        * <code>.grpc.gcp.RpcProtocolVersions peer_rpc_versions = 7;</code>
   11172        */
   11173       public boolean hasPeerRpcVersions() {
   11174         return peerRpcVersionsBuilder_ != null || peerRpcVersions_ != null;
   11175       }
   11176       /**
   11177        * <pre>
   11178        * The RPC protocol versions supported by the peer.
   11179        * </pre>
   11180        *
   11181        * <code>.grpc.gcp.RpcProtocolVersions peer_rpc_versions = 7;</code>
   11182        */
   11183       public io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions getPeerRpcVersions() {
   11184         if (peerRpcVersionsBuilder_ == null) {
   11185           return peerRpcVersions_ == null ? io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.getDefaultInstance() : peerRpcVersions_;
   11186         } else {
   11187           return peerRpcVersionsBuilder_.getMessage();
   11188         }
   11189       }
   11190       /**
   11191        * <pre>
   11192        * The RPC protocol versions supported by the peer.
   11193        * </pre>
   11194        *
   11195        * <code>.grpc.gcp.RpcProtocolVersions peer_rpc_versions = 7;</code>
   11196        */
   11197       public Builder setPeerRpcVersions(io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions value) {
   11198         if (peerRpcVersionsBuilder_ == null) {
   11199           if (value == null) {
   11200             throw new NullPointerException();
   11201           }
   11202           peerRpcVersions_ = value;
   11203           onChanged();
   11204         } else {
   11205           peerRpcVersionsBuilder_.setMessage(value);
   11206         }
   11207 
   11208         return this;
   11209       }
   11210       /**
   11211        * <pre>
   11212        * The RPC protocol versions supported by the peer.
   11213        * </pre>
   11214        *
   11215        * <code>.grpc.gcp.RpcProtocolVersions peer_rpc_versions = 7;</code>
   11216        */
   11217       public Builder setPeerRpcVersions(
   11218           io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.Builder builderForValue) {
   11219         if (peerRpcVersionsBuilder_ == null) {
   11220           peerRpcVersions_ = builderForValue.build();
   11221           onChanged();
   11222         } else {
   11223           peerRpcVersionsBuilder_.setMessage(builderForValue.build());
   11224         }
   11225 
   11226         return this;
   11227       }
   11228       /**
   11229        * <pre>
   11230        * The RPC protocol versions supported by the peer.
   11231        * </pre>
   11232        *
   11233        * <code>.grpc.gcp.RpcProtocolVersions peer_rpc_versions = 7;</code>
   11234        */
   11235       public Builder mergePeerRpcVersions(io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions value) {
   11236         if (peerRpcVersionsBuilder_ == null) {
   11237           if (peerRpcVersions_ != null) {
   11238             peerRpcVersions_ =
   11239               io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.newBuilder(peerRpcVersions_).mergeFrom(value).buildPartial();
   11240           } else {
   11241             peerRpcVersions_ = value;
   11242           }
   11243           onChanged();
   11244         } else {
   11245           peerRpcVersionsBuilder_.mergeFrom(value);
   11246         }
   11247 
   11248         return this;
   11249       }
   11250       /**
   11251        * <pre>
   11252        * The RPC protocol versions supported by the peer.
   11253        * </pre>
   11254        *
   11255        * <code>.grpc.gcp.RpcProtocolVersions peer_rpc_versions = 7;</code>
   11256        */
   11257       public Builder clearPeerRpcVersions() {
   11258         if (peerRpcVersionsBuilder_ == null) {
   11259           peerRpcVersions_ = null;
   11260           onChanged();
   11261         } else {
   11262           peerRpcVersions_ = null;
   11263           peerRpcVersionsBuilder_ = null;
   11264         }
   11265 
   11266         return this;
   11267       }
   11268       /**
   11269        * <pre>
   11270        * The RPC protocol versions supported by the peer.
   11271        * </pre>
   11272        *
   11273        * <code>.grpc.gcp.RpcProtocolVersions peer_rpc_versions = 7;</code>
   11274        */
   11275       public io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.Builder getPeerRpcVersionsBuilder() {
   11276 
   11277         onChanged();
   11278         return getPeerRpcVersionsFieldBuilder().getBuilder();
   11279       }
   11280       /**
   11281        * <pre>
   11282        * The RPC protocol versions supported by the peer.
   11283        * </pre>
   11284        *
   11285        * <code>.grpc.gcp.RpcProtocolVersions peer_rpc_versions = 7;</code>
   11286        */
   11287       public io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersionsOrBuilder getPeerRpcVersionsOrBuilder() {
   11288         if (peerRpcVersionsBuilder_ != null) {
   11289           return peerRpcVersionsBuilder_.getMessageOrBuilder();
   11290         } else {
   11291           return peerRpcVersions_ == null ?
   11292               io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.getDefaultInstance() : peerRpcVersions_;
   11293         }
   11294       }
   11295       /**
   11296        * <pre>
   11297        * The RPC protocol versions supported by the peer.
   11298        * </pre>
   11299        *
   11300        * <code>.grpc.gcp.RpcProtocolVersions peer_rpc_versions = 7;</code>
   11301        */
   11302       private com.google.protobuf.SingleFieldBuilderV3<
   11303           io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions, io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.Builder, io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersionsOrBuilder>
   11304           getPeerRpcVersionsFieldBuilder() {
   11305         if (peerRpcVersionsBuilder_ == null) {
   11306           peerRpcVersionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
   11307               io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions, io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersions.Builder, io.grpc.alts.internal.TransportSecurityCommon.RpcProtocolVersionsOrBuilder>(
   11308                   getPeerRpcVersions(),
   11309                   getParentForChildren(),
   11310                   isClean());
   11311           peerRpcVersions_ = null;
   11312         }
   11313         return peerRpcVersionsBuilder_;
   11314       }
   11315       public final Builder setUnknownFields(
   11316           final com.google.protobuf.UnknownFieldSet unknownFields) {
   11317         return super.setUnknownFieldsProto3(unknownFields);
   11318       }
   11319 
   11320       public final Builder mergeUnknownFields(
   11321           final com.google.protobuf.UnknownFieldSet unknownFields) {
   11322         return super.mergeUnknownFields(unknownFields);
   11323       }
   11324 
   11325 
   11326       // @@protoc_insertion_point(builder_scope:grpc.gcp.HandshakerResult)
   11327     }
   11328 
   11329     // @@protoc_insertion_point(class_scope:grpc.gcp.HandshakerResult)
   11330     private static final io.grpc.alts.internal.Handshaker.HandshakerResult DEFAULT_INSTANCE;
   11331     static {
   11332       DEFAULT_INSTANCE = new io.grpc.alts.internal.Handshaker.HandshakerResult();
   11333     }
   11334 
   11335     public static io.grpc.alts.internal.Handshaker.HandshakerResult getDefaultInstance() {
   11336       return DEFAULT_INSTANCE;
   11337     }
   11338 
   11339     private static final com.google.protobuf.Parser<HandshakerResult>
   11340         PARSER = new com.google.protobuf.AbstractParser<HandshakerResult>() {
   11341       public HandshakerResult parsePartialFrom(
   11342           com.google.protobuf.CodedInputStream input,
   11343           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   11344           throws com.google.protobuf.InvalidProtocolBufferException {
   11345         return new HandshakerResult(input, extensionRegistry);
   11346       }
   11347     };
   11348 
   11349     public static com.google.protobuf.Parser<HandshakerResult> parser() {
   11350       return PARSER;
   11351     }
   11352 
   11353     @java.lang.Override
   11354     public com.google.protobuf.Parser<HandshakerResult> getParserForType() {
   11355       return PARSER;
   11356     }
   11357 
   11358     public io.grpc.alts.internal.Handshaker.HandshakerResult getDefaultInstanceForType() {
   11359       return DEFAULT_INSTANCE;
   11360     }
   11361 
   11362   }
   11363 
   11364   public interface HandshakerStatusOrBuilder extends
   11365       // @@protoc_insertion_point(interface_extends:grpc.gcp.HandshakerStatus)
   11366       com.google.protobuf.MessageOrBuilder {
   11367 
   11368     /**
   11369      * <pre>
   11370      * The status code. This could be the gRPC status code.
   11371      * </pre>
   11372      *
   11373      * <code>uint32 code = 1;</code>
   11374      */
   11375     int getCode();
   11376 
   11377     /**
   11378      * <pre>
   11379      * The status details.
   11380      * </pre>
   11381      *
   11382      * <code>string details = 2;</code>
   11383      */
   11384     java.lang.String getDetails();
   11385     /**
   11386      * <pre>
   11387      * The status details.
   11388      * </pre>
   11389      *
   11390      * <code>string details = 2;</code>
   11391      */
   11392     com.google.protobuf.ByteString
   11393         getDetailsBytes();
   11394   }
   11395   /**
   11396    * Protobuf type {@code grpc.gcp.HandshakerStatus}
   11397    */
   11398   public  static final class HandshakerStatus extends
   11399       com.google.protobuf.GeneratedMessageV3 implements
   11400       // @@protoc_insertion_point(message_implements:grpc.gcp.HandshakerStatus)
   11401       HandshakerStatusOrBuilder {
   11402   private static final long serialVersionUID = 0L;
   11403     // Use HandshakerStatus.newBuilder() to construct.
   11404     private HandshakerStatus(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
   11405       super(builder);
   11406     }
   11407     private HandshakerStatus() {
   11408       code_ = 0;
   11409       details_ = "";
   11410     }
   11411 
   11412     @java.lang.Override
   11413     public final com.google.protobuf.UnknownFieldSet
   11414     getUnknownFields() {
   11415       return this.unknownFields;
   11416     }
   11417     private HandshakerStatus(
   11418         com.google.protobuf.CodedInputStream input,
   11419         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   11420         throws com.google.protobuf.InvalidProtocolBufferException {
   11421       this();
   11422       if (extensionRegistry == null) {
   11423         throw new java.lang.NullPointerException();
   11424       }
   11425       int mutable_bitField0_ = 0;
   11426       com.google.protobuf.UnknownFieldSet.Builder unknownFields =
   11427           com.google.protobuf.UnknownFieldSet.newBuilder();
   11428       try {
   11429         boolean done = false;
   11430         while (!done) {
   11431           int tag = input.readTag();
   11432           switch (tag) {
   11433             case 0:
   11434               done = true;
   11435               break;
   11436             default: {
   11437               if (!parseUnknownFieldProto3(
   11438                   input, unknownFields, extensionRegistry, tag)) {
   11439                 done = true;
   11440               }
   11441               break;
   11442             }
   11443             case 8: {
   11444 
   11445               code_ = input.readUInt32();
   11446               break;
   11447             }
   11448             case 18: {
   11449               java.lang.String s = input.readStringRequireUtf8();
   11450 
   11451               details_ = s;
   11452               break;
   11453             }
   11454           }
   11455         }
   11456       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
   11457         throw e.setUnfinishedMessage(this);
   11458       } catch (java.io.IOException e) {
   11459         throw new com.google.protobuf.InvalidProtocolBufferException(
   11460             e).setUnfinishedMessage(this);
   11461       } finally {
   11462         this.unknownFields = unknownFields.build();
   11463         makeExtensionsImmutable();
   11464       }
   11465     }
   11466     public static final com.google.protobuf.Descriptors.Descriptor
   11467         getDescriptor() {
   11468       return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_HandshakerStatus_descriptor;
   11469     }
   11470 
   11471     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
   11472         internalGetFieldAccessorTable() {
   11473       return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_HandshakerStatus_fieldAccessorTable
   11474           .ensureFieldAccessorsInitialized(
   11475               io.grpc.alts.internal.Handshaker.HandshakerStatus.class, io.grpc.alts.internal.Handshaker.HandshakerStatus.Builder.class);
   11476     }
   11477 
   11478     public static final int CODE_FIELD_NUMBER = 1;
   11479     private int code_;
   11480     /**
   11481      * <pre>
   11482      * The status code. This could be the gRPC status code.
   11483      * </pre>
   11484      *
   11485      * <code>uint32 code = 1;</code>
   11486      */
   11487     public int getCode() {
   11488       return code_;
   11489     }
   11490 
   11491     public static final int DETAILS_FIELD_NUMBER = 2;
   11492     private volatile java.lang.Object details_;
   11493     /**
   11494      * <pre>
   11495      * The status details.
   11496      * </pre>
   11497      *
   11498      * <code>string details = 2;</code>
   11499      */
   11500     public java.lang.String getDetails() {
   11501       java.lang.Object ref = details_;
   11502       if (ref instanceof java.lang.String) {
   11503         return (java.lang.String) ref;
   11504       } else {
   11505         com.google.protobuf.ByteString bs =
   11506             (com.google.protobuf.ByteString) ref;
   11507         java.lang.String s = bs.toStringUtf8();
   11508         details_ = s;
   11509         return s;
   11510       }
   11511     }
   11512     /**
   11513      * <pre>
   11514      * The status details.
   11515      * </pre>
   11516      *
   11517      * <code>string details = 2;</code>
   11518      */
   11519     public com.google.protobuf.ByteString
   11520         getDetailsBytes() {
   11521       java.lang.Object ref = details_;
   11522       if (ref instanceof java.lang.String) {
   11523         com.google.protobuf.ByteString b =
   11524             com.google.protobuf.ByteString.copyFromUtf8(
   11525                 (java.lang.String) ref);
   11526         details_ = b;
   11527         return b;
   11528       } else {
   11529         return (com.google.protobuf.ByteString) ref;
   11530       }
   11531     }
   11532 
   11533     private byte memoizedIsInitialized = -1;
   11534     public final boolean isInitialized() {
   11535       byte isInitialized = memoizedIsInitialized;
   11536       if (isInitialized == 1) return true;
   11537       if (isInitialized == 0) return false;
   11538 
   11539       memoizedIsInitialized = 1;
   11540       return true;
   11541     }
   11542 
   11543     public void writeTo(com.google.protobuf.CodedOutputStream output)
   11544                         throws java.io.IOException {
   11545       if (code_ != 0) {
   11546         output.writeUInt32(1, code_);
   11547       }
   11548       if (!getDetailsBytes().isEmpty()) {
   11549         com.google.protobuf.GeneratedMessageV3.writeString(output, 2, details_);
   11550       }
   11551       unknownFields.writeTo(output);
   11552     }
   11553 
   11554     public int getSerializedSize() {
   11555       int size = memoizedSize;
   11556       if (size != -1) return size;
   11557 
   11558       size = 0;
   11559       if (code_ != 0) {
   11560         size += com.google.protobuf.CodedOutputStream
   11561           .computeUInt32Size(1, code_);
   11562       }
   11563       if (!getDetailsBytes().isEmpty()) {
   11564         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, details_);
   11565       }
   11566       size += unknownFields.getSerializedSize();
   11567       memoizedSize = size;
   11568       return size;
   11569     }
   11570 
   11571     @java.lang.Override
   11572     public boolean equals(final java.lang.Object obj) {
   11573       if (obj == this) {
   11574        return true;
   11575       }
   11576       if (!(obj instanceof io.grpc.alts.internal.Handshaker.HandshakerStatus)) {
   11577         return super.equals(obj);
   11578       }
   11579       io.grpc.alts.internal.Handshaker.HandshakerStatus other = (io.grpc.alts.internal.Handshaker.HandshakerStatus) obj;
   11580 
   11581       boolean result = true;
   11582       result = result && (getCode()
   11583           == other.getCode());
   11584       result = result && getDetails()
   11585           .equals(other.getDetails());
   11586       result = result && unknownFields.equals(other.unknownFields);
   11587       return result;
   11588     }
   11589 
   11590     @java.lang.Override
   11591     public int hashCode() {
   11592       if (memoizedHashCode != 0) {
   11593         return memoizedHashCode;
   11594       }
   11595       int hash = 41;
   11596       hash = (19 * hash) + getDescriptor().hashCode();
   11597       hash = (37 * hash) + CODE_FIELD_NUMBER;
   11598       hash = (53 * hash) + getCode();
   11599       hash = (37 * hash) + DETAILS_FIELD_NUMBER;
   11600       hash = (53 * hash) + getDetails().hashCode();
   11601       hash = (29 * hash) + unknownFields.hashCode();
   11602       memoizedHashCode = hash;
   11603       return hash;
   11604     }
   11605 
   11606     public static io.grpc.alts.internal.Handshaker.HandshakerStatus parseFrom(
   11607         java.nio.ByteBuffer data)
   11608         throws com.google.protobuf.InvalidProtocolBufferException {
   11609       return PARSER.parseFrom(data);
   11610     }
   11611     public static io.grpc.alts.internal.Handshaker.HandshakerStatus parseFrom(
   11612         java.nio.ByteBuffer data,
   11613         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   11614         throws com.google.protobuf.InvalidProtocolBufferException {
   11615       return PARSER.parseFrom(data, extensionRegistry);
   11616     }
   11617     public static io.grpc.alts.internal.Handshaker.HandshakerStatus parseFrom(
   11618         com.google.protobuf.ByteString data)
   11619         throws com.google.protobuf.InvalidProtocolBufferException {
   11620       return PARSER.parseFrom(data);
   11621     }
   11622     public static io.grpc.alts.internal.Handshaker.HandshakerStatus parseFrom(
   11623         com.google.protobuf.ByteString data,
   11624         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   11625         throws com.google.protobuf.InvalidProtocolBufferException {
   11626       return PARSER.parseFrom(data, extensionRegistry);
   11627     }
   11628     public static io.grpc.alts.internal.Handshaker.HandshakerStatus parseFrom(byte[] data)
   11629         throws com.google.protobuf.InvalidProtocolBufferException {
   11630       return PARSER.parseFrom(data);
   11631     }
   11632     public static io.grpc.alts.internal.Handshaker.HandshakerStatus parseFrom(
   11633         byte[] data,
   11634         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   11635         throws com.google.protobuf.InvalidProtocolBufferException {
   11636       return PARSER.parseFrom(data, extensionRegistry);
   11637     }
   11638     public static io.grpc.alts.internal.Handshaker.HandshakerStatus parseFrom(java.io.InputStream input)
   11639         throws java.io.IOException {
   11640       return com.google.protobuf.GeneratedMessageV3
   11641           .parseWithIOException(PARSER, input);
   11642     }
   11643     public static io.grpc.alts.internal.Handshaker.HandshakerStatus parseFrom(
   11644         java.io.InputStream input,
   11645         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   11646         throws java.io.IOException {
   11647       return com.google.protobuf.GeneratedMessageV3
   11648           .parseWithIOException(PARSER, input, extensionRegistry);
   11649     }
   11650     public static io.grpc.alts.internal.Handshaker.HandshakerStatus parseDelimitedFrom(java.io.InputStream input)
   11651         throws java.io.IOException {
   11652       return com.google.protobuf.GeneratedMessageV3
   11653           .parseDelimitedWithIOException(PARSER, input);
   11654     }
   11655     public static io.grpc.alts.internal.Handshaker.HandshakerStatus parseDelimitedFrom(
   11656         java.io.InputStream input,
   11657         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   11658         throws java.io.IOException {
   11659       return com.google.protobuf.GeneratedMessageV3
   11660           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
   11661     }
   11662     public static io.grpc.alts.internal.Handshaker.HandshakerStatus parseFrom(
   11663         com.google.protobuf.CodedInputStream input)
   11664         throws java.io.IOException {
   11665       return com.google.protobuf.GeneratedMessageV3
   11666           .parseWithIOException(PARSER, input);
   11667     }
   11668     public static io.grpc.alts.internal.Handshaker.HandshakerStatus parseFrom(
   11669         com.google.protobuf.CodedInputStream input,
   11670         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   11671         throws java.io.IOException {
   11672       return com.google.protobuf.GeneratedMessageV3
   11673           .parseWithIOException(PARSER, input, extensionRegistry);
   11674     }
   11675 
   11676     public Builder newBuilderForType() { return newBuilder(); }
   11677     public static Builder newBuilder() {
   11678       return DEFAULT_INSTANCE.toBuilder();
   11679     }
   11680     public static Builder newBuilder(io.grpc.alts.internal.Handshaker.HandshakerStatus prototype) {
   11681       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
   11682     }
   11683     public Builder toBuilder() {
   11684       return this == DEFAULT_INSTANCE
   11685           ? new Builder() : new Builder().mergeFrom(this);
   11686     }
   11687 
   11688     @java.lang.Override
   11689     protected Builder newBuilderForType(
   11690         com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
   11691       Builder builder = new Builder(parent);
   11692       return builder;
   11693     }
   11694     /**
   11695      * Protobuf type {@code grpc.gcp.HandshakerStatus}
   11696      */
   11697     public static final class Builder extends
   11698         com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
   11699         // @@protoc_insertion_point(builder_implements:grpc.gcp.HandshakerStatus)
   11700         io.grpc.alts.internal.Handshaker.HandshakerStatusOrBuilder {
   11701       public static final com.google.protobuf.Descriptors.Descriptor
   11702           getDescriptor() {
   11703         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_HandshakerStatus_descriptor;
   11704       }
   11705 
   11706       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
   11707           internalGetFieldAccessorTable() {
   11708         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_HandshakerStatus_fieldAccessorTable
   11709             .ensureFieldAccessorsInitialized(
   11710                 io.grpc.alts.internal.Handshaker.HandshakerStatus.class, io.grpc.alts.internal.Handshaker.HandshakerStatus.Builder.class);
   11711       }
   11712 
   11713       // Construct using io.grpc.alts.internal.Handshaker.HandshakerStatus.newBuilder()
   11714       private Builder() {
   11715         maybeForceBuilderInitialization();
   11716       }
   11717 
   11718       private Builder(
   11719           com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
   11720         super(parent);
   11721         maybeForceBuilderInitialization();
   11722       }
   11723       private void maybeForceBuilderInitialization() {
   11724         if (com.google.protobuf.GeneratedMessageV3
   11725                 .alwaysUseFieldBuilders) {
   11726         }
   11727       }
   11728       public Builder clear() {
   11729         super.clear();
   11730         code_ = 0;
   11731 
   11732         details_ = "";
   11733 
   11734         return this;
   11735       }
   11736 
   11737       public com.google.protobuf.Descriptors.Descriptor
   11738           getDescriptorForType() {
   11739         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_HandshakerStatus_descriptor;
   11740       }
   11741 
   11742       public io.grpc.alts.internal.Handshaker.HandshakerStatus getDefaultInstanceForType() {
   11743         return io.grpc.alts.internal.Handshaker.HandshakerStatus.getDefaultInstance();
   11744       }
   11745 
   11746       public io.grpc.alts.internal.Handshaker.HandshakerStatus build() {
   11747         io.grpc.alts.internal.Handshaker.HandshakerStatus result = buildPartial();
   11748         if (!result.isInitialized()) {
   11749           throw newUninitializedMessageException(result);
   11750         }
   11751         return result;
   11752       }
   11753 
   11754       public io.grpc.alts.internal.Handshaker.HandshakerStatus buildPartial() {
   11755         io.grpc.alts.internal.Handshaker.HandshakerStatus result = new io.grpc.alts.internal.Handshaker.HandshakerStatus(this);
   11756         result.code_ = code_;
   11757         result.details_ = details_;
   11758         onBuilt();
   11759         return result;
   11760       }
   11761 
   11762       public Builder clone() {
   11763         return (Builder) super.clone();
   11764       }
   11765       public Builder setField(
   11766           com.google.protobuf.Descriptors.FieldDescriptor field,
   11767           java.lang.Object value) {
   11768         return (Builder) super.setField(field, value);
   11769       }
   11770       public Builder clearField(
   11771           com.google.protobuf.Descriptors.FieldDescriptor field) {
   11772         return (Builder) super.clearField(field);
   11773       }
   11774       public Builder clearOneof(
   11775           com.google.protobuf.Descriptors.OneofDescriptor oneof) {
   11776         return (Builder) super.clearOneof(oneof);
   11777       }
   11778       public Builder setRepeatedField(
   11779           com.google.protobuf.Descriptors.FieldDescriptor field,
   11780           int index, java.lang.Object value) {
   11781         return (Builder) super.setRepeatedField(field, index, value);
   11782       }
   11783       public Builder addRepeatedField(
   11784           com.google.protobuf.Descriptors.FieldDescriptor field,
   11785           java.lang.Object value) {
   11786         return (Builder) super.addRepeatedField(field, value);
   11787       }
   11788       public Builder mergeFrom(com.google.protobuf.Message other) {
   11789         if (other instanceof io.grpc.alts.internal.Handshaker.HandshakerStatus) {
   11790           return mergeFrom((io.grpc.alts.internal.Handshaker.HandshakerStatus)other);
   11791         } else {
   11792           super.mergeFrom(other);
   11793           return this;
   11794         }
   11795       }
   11796 
   11797       public Builder mergeFrom(io.grpc.alts.internal.Handshaker.HandshakerStatus other) {
   11798         if (other == io.grpc.alts.internal.Handshaker.HandshakerStatus.getDefaultInstance()) return this;
   11799         if (other.getCode() != 0) {
   11800           setCode(other.getCode());
   11801         }
   11802         if (!other.getDetails().isEmpty()) {
   11803           details_ = other.details_;
   11804           onChanged();
   11805         }
   11806         this.mergeUnknownFields(other.unknownFields);
   11807         onChanged();
   11808         return this;
   11809       }
   11810 
   11811       public final boolean isInitialized() {
   11812         return true;
   11813       }
   11814 
   11815       public Builder mergeFrom(
   11816           com.google.protobuf.CodedInputStream input,
   11817           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   11818           throws java.io.IOException {
   11819         io.grpc.alts.internal.Handshaker.HandshakerStatus parsedMessage = null;
   11820         try {
   11821           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
   11822         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
   11823           parsedMessage = (io.grpc.alts.internal.Handshaker.HandshakerStatus) e.getUnfinishedMessage();
   11824           throw e.unwrapIOException();
   11825         } finally {
   11826           if (parsedMessage != null) {
   11827             mergeFrom(parsedMessage);
   11828           }
   11829         }
   11830         return this;
   11831       }
   11832 
   11833       private int code_ ;
   11834       /**
   11835        * <pre>
   11836        * The status code. This could be the gRPC status code.
   11837        * </pre>
   11838        *
   11839        * <code>uint32 code = 1;</code>
   11840        */
   11841       public int getCode() {
   11842         return code_;
   11843       }
   11844       /**
   11845        * <pre>
   11846        * The status code. This could be the gRPC status code.
   11847        * </pre>
   11848        *
   11849        * <code>uint32 code = 1;</code>
   11850        */
   11851       public Builder setCode(int value) {
   11852 
   11853         code_ = value;
   11854         onChanged();
   11855         return this;
   11856       }
   11857       /**
   11858        * <pre>
   11859        * The status code. This could be the gRPC status code.
   11860        * </pre>
   11861        *
   11862        * <code>uint32 code = 1;</code>
   11863        */
   11864       public Builder clearCode() {
   11865 
   11866         code_ = 0;
   11867         onChanged();
   11868         return this;
   11869       }
   11870 
   11871       private java.lang.Object details_ = "";
   11872       /**
   11873        * <pre>
   11874        * The status details.
   11875        * </pre>
   11876        *
   11877        * <code>string details = 2;</code>
   11878        */
   11879       public java.lang.String getDetails() {
   11880         java.lang.Object ref = details_;
   11881         if (!(ref instanceof java.lang.String)) {
   11882           com.google.protobuf.ByteString bs =
   11883               (com.google.protobuf.ByteString) ref;
   11884           java.lang.String s = bs.toStringUtf8();
   11885           details_ = s;
   11886           return s;
   11887         } else {
   11888           return (java.lang.String) ref;
   11889         }
   11890       }
   11891       /**
   11892        * <pre>
   11893        * The status details.
   11894        * </pre>
   11895        *
   11896        * <code>string details = 2;</code>
   11897        */
   11898       public com.google.protobuf.ByteString
   11899           getDetailsBytes() {
   11900         java.lang.Object ref = details_;
   11901         if (ref instanceof String) {
   11902           com.google.protobuf.ByteString b =
   11903               com.google.protobuf.ByteString.copyFromUtf8(
   11904                   (java.lang.String) ref);
   11905           details_ = b;
   11906           return b;
   11907         } else {
   11908           return (com.google.protobuf.ByteString) ref;
   11909         }
   11910       }
   11911       /**
   11912        * <pre>
   11913        * The status details.
   11914        * </pre>
   11915        *
   11916        * <code>string details = 2;</code>
   11917        */
   11918       public Builder setDetails(
   11919           java.lang.String value) {
   11920         if (value == null) {
   11921     throw new NullPointerException();
   11922   }
   11923 
   11924         details_ = value;
   11925         onChanged();
   11926         return this;
   11927       }
   11928       /**
   11929        * <pre>
   11930        * The status details.
   11931        * </pre>
   11932        *
   11933        * <code>string details = 2;</code>
   11934        */
   11935       public Builder clearDetails() {
   11936 
   11937         details_ = getDefaultInstance().getDetails();
   11938         onChanged();
   11939         return this;
   11940       }
   11941       /**
   11942        * <pre>
   11943        * The status details.
   11944        * </pre>
   11945        *
   11946        * <code>string details = 2;</code>
   11947        */
   11948       public Builder setDetailsBytes(
   11949           com.google.protobuf.ByteString value) {
   11950         if (value == null) {
   11951     throw new NullPointerException();
   11952   }
   11953   checkByteStringIsUtf8(value);
   11954 
   11955         details_ = value;
   11956         onChanged();
   11957         return this;
   11958       }
   11959       public final Builder setUnknownFields(
   11960           final com.google.protobuf.UnknownFieldSet unknownFields) {
   11961         return super.setUnknownFieldsProto3(unknownFields);
   11962       }
   11963 
   11964       public final Builder mergeUnknownFields(
   11965           final com.google.protobuf.UnknownFieldSet unknownFields) {
   11966         return super.mergeUnknownFields(unknownFields);
   11967       }
   11968 
   11969 
   11970       // @@protoc_insertion_point(builder_scope:grpc.gcp.HandshakerStatus)
   11971     }
   11972 
   11973     // @@protoc_insertion_point(class_scope:grpc.gcp.HandshakerStatus)
   11974     private static final io.grpc.alts.internal.Handshaker.HandshakerStatus DEFAULT_INSTANCE;
   11975     static {
   11976       DEFAULT_INSTANCE = new io.grpc.alts.internal.Handshaker.HandshakerStatus();
   11977     }
   11978 
   11979     public static io.grpc.alts.internal.Handshaker.HandshakerStatus getDefaultInstance() {
   11980       return DEFAULT_INSTANCE;
   11981     }
   11982 
   11983     private static final com.google.protobuf.Parser<HandshakerStatus>
   11984         PARSER = new com.google.protobuf.AbstractParser<HandshakerStatus>() {
   11985       public HandshakerStatus parsePartialFrom(
   11986           com.google.protobuf.CodedInputStream input,
   11987           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   11988           throws com.google.protobuf.InvalidProtocolBufferException {
   11989         return new HandshakerStatus(input, extensionRegistry);
   11990       }
   11991     };
   11992 
   11993     public static com.google.protobuf.Parser<HandshakerStatus> parser() {
   11994       return PARSER;
   11995     }
   11996 
   11997     @java.lang.Override
   11998     public com.google.protobuf.Parser<HandshakerStatus> getParserForType() {
   11999       return PARSER;
   12000     }
   12001 
   12002     public io.grpc.alts.internal.Handshaker.HandshakerStatus getDefaultInstanceForType() {
   12003       return DEFAULT_INSTANCE;
   12004     }
   12005 
   12006   }
   12007 
   12008   public interface HandshakerRespOrBuilder extends
   12009       // @@protoc_insertion_point(interface_extends:grpc.gcp.HandshakerResp)
   12010       com.google.protobuf.MessageOrBuilder {
   12011 
   12012     /**
   12013      * <pre>
   12014      * Frames to be given to the peer for the NextHandshakeMessageReq. May be
   12015      * empty if no out_frames have to be sent to the peer or if in_bytes in the
   12016      * HandshakerReq are incomplete. All the non-empty out frames must be sent to
   12017      * the peer even if the handshaker status is not OK as these frames may
   12018      * contain the alert frames.
   12019      * </pre>
   12020      *
   12021      * <code>bytes out_frames = 1;</code>
   12022      */
   12023     com.google.protobuf.ByteString getOutFrames();
   12024 
   12025     /**
   12026      * <pre>
   12027      * Number of bytes in the in_bytes consumed by the handshaker. It is possible
   12028      * that part of in_bytes in HandshakerReq was unrelated to the handshake
   12029      * process.
   12030      * </pre>
   12031      *
   12032      * <code>uint32 bytes_consumed = 2;</code>
   12033      */
   12034     int getBytesConsumed();
   12035 
   12036     /**
   12037      * <pre>
   12038      * This is set iff the handshake was successful. out_frames may still be set
   12039      * to frames that needs to be forwarded to the peer.
   12040      * </pre>
   12041      *
   12042      * <code>.grpc.gcp.HandshakerResult result = 3;</code>
   12043      */
   12044     boolean hasResult();
   12045     /**
   12046      * <pre>
   12047      * This is set iff the handshake was successful. out_frames may still be set
   12048      * to frames that needs to be forwarded to the peer.
   12049      * </pre>
   12050      *
   12051      * <code>.grpc.gcp.HandshakerResult result = 3;</code>
   12052      */
   12053     io.grpc.alts.internal.Handshaker.HandshakerResult getResult();
   12054     /**
   12055      * <pre>
   12056      * This is set iff the handshake was successful. out_frames may still be set
   12057      * to frames that needs to be forwarded to the peer.
   12058      * </pre>
   12059      *
   12060      * <code>.grpc.gcp.HandshakerResult result = 3;</code>
   12061      */
   12062     io.grpc.alts.internal.Handshaker.HandshakerResultOrBuilder getResultOrBuilder();
   12063 
   12064     /**
   12065      * <pre>
   12066      * Status of the handshaker.
   12067      * </pre>
   12068      *
   12069      * <code>.grpc.gcp.HandshakerStatus status = 4;</code>
   12070      */
   12071     boolean hasStatus();
   12072     /**
   12073      * <pre>
   12074      * Status of the handshaker.
   12075      * </pre>
   12076      *
   12077      * <code>.grpc.gcp.HandshakerStatus status = 4;</code>
   12078      */
   12079     io.grpc.alts.internal.Handshaker.HandshakerStatus getStatus();
   12080     /**
   12081      * <pre>
   12082      * Status of the handshaker.
   12083      * </pre>
   12084      *
   12085      * <code>.grpc.gcp.HandshakerStatus status = 4;</code>
   12086      */
   12087     io.grpc.alts.internal.Handshaker.HandshakerStatusOrBuilder getStatusOrBuilder();
   12088   }
   12089   /**
   12090    * Protobuf type {@code grpc.gcp.HandshakerResp}
   12091    */
   12092   public  static final class HandshakerResp extends
   12093       com.google.protobuf.GeneratedMessageV3 implements
   12094       // @@protoc_insertion_point(message_implements:grpc.gcp.HandshakerResp)
   12095       HandshakerRespOrBuilder {
   12096   private static final long serialVersionUID = 0L;
   12097     // Use HandshakerResp.newBuilder() to construct.
   12098     private HandshakerResp(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
   12099       super(builder);
   12100     }
   12101     private HandshakerResp() {
   12102       outFrames_ = com.google.protobuf.ByteString.EMPTY;
   12103       bytesConsumed_ = 0;
   12104     }
   12105 
   12106     @java.lang.Override
   12107     public final com.google.protobuf.UnknownFieldSet
   12108     getUnknownFields() {
   12109       return this.unknownFields;
   12110     }
   12111     private HandshakerResp(
   12112         com.google.protobuf.CodedInputStream input,
   12113         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   12114         throws com.google.protobuf.InvalidProtocolBufferException {
   12115       this();
   12116       if (extensionRegistry == null) {
   12117         throw new java.lang.NullPointerException();
   12118       }
   12119       int mutable_bitField0_ = 0;
   12120       com.google.protobuf.UnknownFieldSet.Builder unknownFields =
   12121           com.google.protobuf.UnknownFieldSet.newBuilder();
   12122       try {
   12123         boolean done = false;
   12124         while (!done) {
   12125           int tag = input.readTag();
   12126           switch (tag) {
   12127             case 0:
   12128               done = true;
   12129               break;
   12130             default: {
   12131               if (!parseUnknownFieldProto3(
   12132                   input, unknownFields, extensionRegistry, tag)) {
   12133                 done = true;
   12134               }
   12135               break;
   12136             }
   12137             case 10: {
   12138 
   12139               outFrames_ = input.readBytes();
   12140               break;
   12141             }
   12142             case 16: {
   12143 
   12144               bytesConsumed_ = input.readUInt32();
   12145               break;
   12146             }
   12147             case 26: {
   12148               io.grpc.alts.internal.Handshaker.HandshakerResult.Builder subBuilder = null;
   12149               if (result_ != null) {
   12150                 subBuilder = result_.toBuilder();
   12151               }
   12152               result_ = input.readMessage(io.grpc.alts.internal.Handshaker.HandshakerResult.parser(), extensionRegistry);
   12153               if (subBuilder != null) {
   12154                 subBuilder.mergeFrom(result_);
   12155                 result_ = subBuilder.buildPartial();
   12156               }
   12157 
   12158               break;
   12159             }
   12160             case 34: {
   12161               io.grpc.alts.internal.Handshaker.HandshakerStatus.Builder subBuilder = null;
   12162               if (status_ != null) {
   12163                 subBuilder = status_.toBuilder();
   12164               }
   12165               status_ = input.readMessage(io.grpc.alts.internal.Handshaker.HandshakerStatus.parser(), extensionRegistry);
   12166               if (subBuilder != null) {
   12167                 subBuilder.mergeFrom(status_);
   12168                 status_ = subBuilder.buildPartial();
   12169               }
   12170 
   12171               break;
   12172             }
   12173           }
   12174         }
   12175       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
   12176         throw e.setUnfinishedMessage(this);
   12177       } catch (java.io.IOException e) {
   12178         throw new com.google.protobuf.InvalidProtocolBufferException(
   12179             e).setUnfinishedMessage(this);
   12180       } finally {
   12181         this.unknownFields = unknownFields.build();
   12182         makeExtensionsImmutable();
   12183       }
   12184     }
   12185     public static final com.google.protobuf.Descriptors.Descriptor
   12186         getDescriptor() {
   12187       return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_HandshakerResp_descriptor;
   12188     }
   12189 
   12190     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
   12191         internalGetFieldAccessorTable() {
   12192       return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_HandshakerResp_fieldAccessorTable
   12193           .ensureFieldAccessorsInitialized(
   12194               io.grpc.alts.internal.Handshaker.HandshakerResp.class, io.grpc.alts.internal.Handshaker.HandshakerResp.Builder.class);
   12195     }
   12196 
   12197     public static final int OUT_FRAMES_FIELD_NUMBER = 1;
   12198     private com.google.protobuf.ByteString outFrames_;
   12199     /**
   12200      * <pre>
   12201      * Frames to be given to the peer for the NextHandshakeMessageReq. May be
   12202      * empty if no out_frames have to be sent to the peer or if in_bytes in the
   12203      * HandshakerReq are incomplete. All the non-empty out frames must be sent to
   12204      * the peer even if the handshaker status is not OK as these frames may
   12205      * contain the alert frames.
   12206      * </pre>
   12207      *
   12208      * <code>bytes out_frames = 1;</code>
   12209      */
   12210     public com.google.protobuf.ByteString getOutFrames() {
   12211       return outFrames_;
   12212     }
   12213 
   12214     public static final int BYTES_CONSUMED_FIELD_NUMBER = 2;
   12215     private int bytesConsumed_;
   12216     /**
   12217      * <pre>
   12218      * Number of bytes in the in_bytes consumed by the handshaker. It is possible
   12219      * that part of in_bytes in HandshakerReq was unrelated to the handshake
   12220      * process.
   12221      * </pre>
   12222      *
   12223      * <code>uint32 bytes_consumed = 2;</code>
   12224      */
   12225     public int getBytesConsumed() {
   12226       return bytesConsumed_;
   12227     }
   12228 
   12229     public static final int RESULT_FIELD_NUMBER = 3;
   12230     private io.grpc.alts.internal.Handshaker.HandshakerResult result_;
   12231     /**
   12232      * <pre>
   12233      * This is set iff the handshake was successful. out_frames may still be set
   12234      * to frames that needs to be forwarded to the peer.
   12235      * </pre>
   12236      *
   12237      * <code>.grpc.gcp.HandshakerResult result = 3;</code>
   12238      */
   12239     public boolean hasResult() {
   12240       return result_ != null;
   12241     }
   12242     /**
   12243      * <pre>
   12244      * This is set iff the handshake was successful. out_frames may still be set
   12245      * to frames that needs to be forwarded to the peer.
   12246      * </pre>
   12247      *
   12248      * <code>.grpc.gcp.HandshakerResult result = 3;</code>
   12249      */
   12250     public io.grpc.alts.internal.Handshaker.HandshakerResult getResult() {
   12251       return result_ == null ? io.grpc.alts.internal.Handshaker.HandshakerResult.getDefaultInstance() : result_;
   12252     }
   12253     /**
   12254      * <pre>
   12255      * This is set iff the handshake was successful. out_frames may still be set
   12256      * to frames that needs to be forwarded to the peer.
   12257      * </pre>
   12258      *
   12259      * <code>.grpc.gcp.HandshakerResult result = 3;</code>
   12260      */
   12261     public io.grpc.alts.internal.Handshaker.HandshakerResultOrBuilder getResultOrBuilder() {
   12262       return getResult();
   12263     }
   12264 
   12265     public static final int STATUS_FIELD_NUMBER = 4;
   12266     private io.grpc.alts.internal.Handshaker.HandshakerStatus status_;
   12267     /**
   12268      * <pre>
   12269      * Status of the handshaker.
   12270      * </pre>
   12271      *
   12272      * <code>.grpc.gcp.HandshakerStatus status = 4;</code>
   12273      */
   12274     public boolean hasStatus() {
   12275       return status_ != null;
   12276     }
   12277     /**
   12278      * <pre>
   12279      * Status of the handshaker.
   12280      * </pre>
   12281      *
   12282      * <code>.grpc.gcp.HandshakerStatus status = 4;</code>
   12283      */
   12284     public io.grpc.alts.internal.Handshaker.HandshakerStatus getStatus() {
   12285       return status_ == null ? io.grpc.alts.internal.Handshaker.HandshakerStatus.getDefaultInstance() : status_;
   12286     }
   12287     /**
   12288      * <pre>
   12289      * Status of the handshaker.
   12290      * </pre>
   12291      *
   12292      * <code>.grpc.gcp.HandshakerStatus status = 4;</code>
   12293      */
   12294     public io.grpc.alts.internal.Handshaker.HandshakerStatusOrBuilder getStatusOrBuilder() {
   12295       return getStatus();
   12296     }
   12297 
   12298     private byte memoizedIsInitialized = -1;
   12299     public final boolean isInitialized() {
   12300       byte isInitialized = memoizedIsInitialized;
   12301       if (isInitialized == 1) return true;
   12302       if (isInitialized == 0) return false;
   12303 
   12304       memoizedIsInitialized = 1;
   12305       return true;
   12306     }
   12307 
   12308     public void writeTo(com.google.protobuf.CodedOutputStream output)
   12309                         throws java.io.IOException {
   12310       if (!outFrames_.isEmpty()) {
   12311         output.writeBytes(1, outFrames_);
   12312       }
   12313       if (bytesConsumed_ != 0) {
   12314         output.writeUInt32(2, bytesConsumed_);
   12315       }
   12316       if (result_ != null) {
   12317         output.writeMessage(3, getResult());
   12318       }
   12319       if (status_ != null) {
   12320         output.writeMessage(4, getStatus());
   12321       }
   12322       unknownFields.writeTo(output);
   12323     }
   12324 
   12325     public int getSerializedSize() {
   12326       int size = memoizedSize;
   12327       if (size != -1) return size;
   12328 
   12329       size = 0;
   12330       if (!outFrames_.isEmpty()) {
   12331         size += com.google.protobuf.CodedOutputStream
   12332           .computeBytesSize(1, outFrames_);
   12333       }
   12334       if (bytesConsumed_ != 0) {
   12335         size += com.google.protobuf.CodedOutputStream
   12336           .computeUInt32Size(2, bytesConsumed_);
   12337       }
   12338       if (result_ != null) {
   12339         size += com.google.protobuf.CodedOutputStream
   12340           .computeMessageSize(3, getResult());
   12341       }
   12342       if (status_ != null) {
   12343         size += com.google.protobuf.CodedOutputStream
   12344           .computeMessageSize(4, getStatus());
   12345       }
   12346       size += unknownFields.getSerializedSize();
   12347       memoizedSize = size;
   12348       return size;
   12349     }
   12350 
   12351     @java.lang.Override
   12352     public boolean equals(final java.lang.Object obj) {
   12353       if (obj == this) {
   12354        return true;
   12355       }
   12356       if (!(obj instanceof io.grpc.alts.internal.Handshaker.HandshakerResp)) {
   12357         return super.equals(obj);
   12358       }
   12359       io.grpc.alts.internal.Handshaker.HandshakerResp other = (io.grpc.alts.internal.Handshaker.HandshakerResp) obj;
   12360 
   12361       boolean result = true;
   12362       result = result && getOutFrames()
   12363           .equals(other.getOutFrames());
   12364       result = result && (getBytesConsumed()
   12365           == other.getBytesConsumed());
   12366       result = result && (hasResult() == other.hasResult());
   12367       if (hasResult()) {
   12368         result = result && getResult()
   12369             .equals(other.getResult());
   12370       }
   12371       result = result && (hasStatus() == other.hasStatus());
   12372       if (hasStatus()) {
   12373         result = result && getStatus()
   12374             .equals(other.getStatus());
   12375       }
   12376       result = result && unknownFields.equals(other.unknownFields);
   12377       return result;
   12378     }
   12379 
   12380     @java.lang.Override
   12381     public int hashCode() {
   12382       if (memoizedHashCode != 0) {
   12383         return memoizedHashCode;
   12384       }
   12385       int hash = 41;
   12386       hash = (19 * hash) + getDescriptor().hashCode();
   12387       hash = (37 * hash) + OUT_FRAMES_FIELD_NUMBER;
   12388       hash = (53 * hash) + getOutFrames().hashCode();
   12389       hash = (37 * hash) + BYTES_CONSUMED_FIELD_NUMBER;
   12390       hash = (53 * hash) + getBytesConsumed();
   12391       if (hasResult()) {
   12392         hash = (37 * hash) + RESULT_FIELD_NUMBER;
   12393         hash = (53 * hash) + getResult().hashCode();
   12394       }
   12395       if (hasStatus()) {
   12396         hash = (37 * hash) + STATUS_FIELD_NUMBER;
   12397         hash = (53 * hash) + getStatus().hashCode();
   12398       }
   12399       hash = (29 * hash) + unknownFields.hashCode();
   12400       memoizedHashCode = hash;
   12401       return hash;
   12402     }
   12403 
   12404     public static io.grpc.alts.internal.Handshaker.HandshakerResp parseFrom(
   12405         java.nio.ByteBuffer data)
   12406         throws com.google.protobuf.InvalidProtocolBufferException {
   12407       return PARSER.parseFrom(data);
   12408     }
   12409     public static io.grpc.alts.internal.Handshaker.HandshakerResp parseFrom(
   12410         java.nio.ByteBuffer data,
   12411         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   12412         throws com.google.protobuf.InvalidProtocolBufferException {
   12413       return PARSER.parseFrom(data, extensionRegistry);
   12414     }
   12415     public static io.grpc.alts.internal.Handshaker.HandshakerResp parseFrom(
   12416         com.google.protobuf.ByteString data)
   12417         throws com.google.protobuf.InvalidProtocolBufferException {
   12418       return PARSER.parseFrom(data);
   12419     }
   12420     public static io.grpc.alts.internal.Handshaker.HandshakerResp parseFrom(
   12421         com.google.protobuf.ByteString data,
   12422         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   12423         throws com.google.protobuf.InvalidProtocolBufferException {
   12424       return PARSER.parseFrom(data, extensionRegistry);
   12425     }
   12426     public static io.grpc.alts.internal.Handshaker.HandshakerResp parseFrom(byte[] data)
   12427         throws com.google.protobuf.InvalidProtocolBufferException {
   12428       return PARSER.parseFrom(data);
   12429     }
   12430     public static io.grpc.alts.internal.Handshaker.HandshakerResp parseFrom(
   12431         byte[] data,
   12432         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   12433         throws com.google.protobuf.InvalidProtocolBufferException {
   12434       return PARSER.parseFrom(data, extensionRegistry);
   12435     }
   12436     public static io.grpc.alts.internal.Handshaker.HandshakerResp parseFrom(java.io.InputStream input)
   12437         throws java.io.IOException {
   12438       return com.google.protobuf.GeneratedMessageV3
   12439           .parseWithIOException(PARSER, input);
   12440     }
   12441     public static io.grpc.alts.internal.Handshaker.HandshakerResp parseFrom(
   12442         java.io.InputStream input,
   12443         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   12444         throws java.io.IOException {
   12445       return com.google.protobuf.GeneratedMessageV3
   12446           .parseWithIOException(PARSER, input, extensionRegistry);
   12447     }
   12448     public static io.grpc.alts.internal.Handshaker.HandshakerResp parseDelimitedFrom(java.io.InputStream input)
   12449         throws java.io.IOException {
   12450       return com.google.protobuf.GeneratedMessageV3
   12451           .parseDelimitedWithIOException(PARSER, input);
   12452     }
   12453     public static io.grpc.alts.internal.Handshaker.HandshakerResp parseDelimitedFrom(
   12454         java.io.InputStream input,
   12455         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   12456         throws java.io.IOException {
   12457       return com.google.protobuf.GeneratedMessageV3
   12458           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
   12459     }
   12460     public static io.grpc.alts.internal.Handshaker.HandshakerResp parseFrom(
   12461         com.google.protobuf.CodedInputStream input)
   12462         throws java.io.IOException {
   12463       return com.google.protobuf.GeneratedMessageV3
   12464           .parseWithIOException(PARSER, input);
   12465     }
   12466     public static io.grpc.alts.internal.Handshaker.HandshakerResp parseFrom(
   12467         com.google.protobuf.CodedInputStream input,
   12468         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   12469         throws java.io.IOException {
   12470       return com.google.protobuf.GeneratedMessageV3
   12471           .parseWithIOException(PARSER, input, extensionRegistry);
   12472     }
   12473 
   12474     public Builder newBuilderForType() { return newBuilder(); }
   12475     public static Builder newBuilder() {
   12476       return DEFAULT_INSTANCE.toBuilder();
   12477     }
   12478     public static Builder newBuilder(io.grpc.alts.internal.Handshaker.HandshakerResp prototype) {
   12479       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
   12480     }
   12481     public Builder toBuilder() {
   12482       return this == DEFAULT_INSTANCE
   12483           ? new Builder() : new Builder().mergeFrom(this);
   12484     }
   12485 
   12486     @java.lang.Override
   12487     protected Builder newBuilderForType(
   12488         com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
   12489       Builder builder = new Builder(parent);
   12490       return builder;
   12491     }
   12492     /**
   12493      * Protobuf type {@code grpc.gcp.HandshakerResp}
   12494      */
   12495     public static final class Builder extends
   12496         com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
   12497         // @@protoc_insertion_point(builder_implements:grpc.gcp.HandshakerResp)
   12498         io.grpc.alts.internal.Handshaker.HandshakerRespOrBuilder {
   12499       public static final com.google.protobuf.Descriptors.Descriptor
   12500           getDescriptor() {
   12501         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_HandshakerResp_descriptor;
   12502       }
   12503 
   12504       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
   12505           internalGetFieldAccessorTable() {
   12506         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_HandshakerResp_fieldAccessorTable
   12507             .ensureFieldAccessorsInitialized(
   12508                 io.grpc.alts.internal.Handshaker.HandshakerResp.class, io.grpc.alts.internal.Handshaker.HandshakerResp.Builder.class);
   12509       }
   12510 
   12511       // Construct using io.grpc.alts.internal.Handshaker.HandshakerResp.newBuilder()
   12512       private Builder() {
   12513         maybeForceBuilderInitialization();
   12514       }
   12515 
   12516       private Builder(
   12517           com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
   12518         super(parent);
   12519         maybeForceBuilderInitialization();
   12520       }
   12521       private void maybeForceBuilderInitialization() {
   12522         if (com.google.protobuf.GeneratedMessageV3
   12523                 .alwaysUseFieldBuilders) {
   12524         }
   12525       }
   12526       public Builder clear() {
   12527         super.clear();
   12528         outFrames_ = com.google.protobuf.ByteString.EMPTY;
   12529 
   12530         bytesConsumed_ = 0;
   12531 
   12532         if (resultBuilder_ == null) {
   12533           result_ = null;
   12534         } else {
   12535           result_ = null;
   12536           resultBuilder_ = null;
   12537         }
   12538         if (statusBuilder_ == null) {
   12539           status_ = null;
   12540         } else {
   12541           status_ = null;
   12542           statusBuilder_ = null;
   12543         }
   12544         return this;
   12545       }
   12546 
   12547       public com.google.protobuf.Descriptors.Descriptor
   12548           getDescriptorForType() {
   12549         return io.grpc.alts.internal.Handshaker.internal_static_grpc_gcp_HandshakerResp_descriptor;
   12550       }
   12551 
   12552       public io.grpc.alts.internal.Handshaker.HandshakerResp getDefaultInstanceForType() {
   12553         return io.grpc.alts.internal.Handshaker.HandshakerResp.getDefaultInstance();
   12554       }
   12555 
   12556       public io.grpc.alts.internal.Handshaker.HandshakerResp build() {
   12557         io.grpc.alts.internal.Handshaker.HandshakerResp result = buildPartial();
   12558         if (!result.isInitialized()) {
   12559           throw newUninitializedMessageException(result);
   12560         }
   12561         return result;
   12562       }
   12563 
   12564       public io.grpc.alts.internal.Handshaker.HandshakerResp buildPartial() {
   12565         io.grpc.alts.internal.Handshaker.HandshakerResp result = new io.grpc.alts.internal.Handshaker.HandshakerResp(this);
   12566         result.outFrames_ = outFrames_;
   12567         result.bytesConsumed_ = bytesConsumed_;
   12568         if (resultBuilder_ == null) {
   12569           result.result_ = result_;
   12570         } else {
   12571           result.result_ = resultBuilder_.build();
   12572         }
   12573         if (statusBuilder_ == null) {
   12574           result.status_ = status_;
   12575         } else {
   12576           result.status_ = statusBuilder_.build();
   12577         }
   12578         onBuilt();
   12579         return result;
   12580       }
   12581 
   12582       public Builder clone() {
   12583         return (Builder) super.clone();
   12584       }
   12585       public Builder setField(
   12586           com.google.protobuf.Descriptors.FieldDescriptor field,
   12587           java.lang.Object value) {
   12588         return (Builder) super.setField(field, value);
   12589       }
   12590       public Builder clearField(
   12591           com.google.protobuf.Descriptors.FieldDescriptor field) {
   12592         return (Builder) super.clearField(field);
   12593       }
   12594       public Builder clearOneof(
   12595           com.google.protobuf.Descriptors.OneofDescriptor oneof) {
   12596         return (Builder) super.clearOneof(oneof);
   12597       }
   12598       public Builder setRepeatedField(
   12599           com.google.protobuf.Descriptors.FieldDescriptor field,
   12600           int index, java.lang.Object value) {
   12601         return (Builder) super.setRepeatedField(field, index, value);
   12602       }
   12603       public Builder addRepeatedField(
   12604           com.google.protobuf.Descriptors.FieldDescriptor field,
   12605           java.lang.Object value) {
   12606         return (Builder) super.addRepeatedField(field, value);
   12607       }
   12608       public Builder mergeFrom(com.google.protobuf.Message other) {
   12609         if (other instanceof io.grpc.alts.internal.Handshaker.HandshakerResp) {
   12610           return mergeFrom((io.grpc.alts.internal.Handshaker.HandshakerResp)other);
   12611         } else {
   12612           super.mergeFrom(other);
   12613           return this;
   12614         }
   12615       }
   12616 
   12617       public Builder mergeFrom(io.grpc.alts.internal.Handshaker.HandshakerResp other) {
   12618         if (other == io.grpc.alts.internal.Handshaker.HandshakerResp.getDefaultInstance()) return this;
   12619         if (other.getOutFrames() != com.google.protobuf.ByteString.EMPTY) {
   12620           setOutFrames(other.getOutFrames());
   12621         }
   12622         if (other.getBytesConsumed() != 0) {
   12623           setBytesConsumed(other.getBytesConsumed());
   12624         }
   12625         if (other.hasResult()) {
   12626           mergeResult(other.getResult());
   12627         }
   12628         if (other.hasStatus()) {
   12629           mergeStatus(other.getStatus());
   12630         }
   12631         this.mergeUnknownFields(other.unknownFields);
   12632         onChanged();
   12633         return this;
   12634       }
   12635 
   12636       public final boolean isInitialized() {
   12637         return true;
   12638       }
   12639 
   12640       public Builder mergeFrom(
   12641           com.google.protobuf.CodedInputStream input,
   12642           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   12643           throws java.io.IOException {
   12644         io.grpc.alts.internal.Handshaker.HandshakerResp parsedMessage = null;
   12645         try {
   12646           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
   12647         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
   12648           parsedMessage = (io.grpc.alts.internal.Handshaker.HandshakerResp) e.getUnfinishedMessage();
   12649           throw e.unwrapIOException();
   12650         } finally {
   12651           if (parsedMessage != null) {
   12652             mergeFrom(parsedMessage);
   12653           }
   12654         }
   12655         return this;
   12656       }
   12657 
   12658       private com.google.protobuf.ByteString outFrames_ = com.google.protobuf.ByteString.EMPTY;
   12659       /**
   12660        * <pre>
   12661        * Frames to be given to the peer for the NextHandshakeMessageReq. May be
   12662        * empty if no out_frames have to be sent to the peer or if in_bytes in the
   12663        * HandshakerReq are incomplete. All the non-empty out frames must be sent to
   12664        * the peer even if the handshaker status is not OK as these frames may
   12665        * contain the alert frames.
   12666        * </pre>
   12667        *
   12668        * <code>bytes out_frames = 1;</code>
   12669        */
   12670       public com.google.protobuf.ByteString getOutFrames() {
   12671         return outFrames_;
   12672       }
   12673       /**
   12674        * <pre>
   12675        * Frames to be given to the peer for the NextHandshakeMessageReq. May be
   12676        * empty if no out_frames have to be sent to the peer or if in_bytes in the
   12677        * HandshakerReq are incomplete. All the non-empty out frames must be sent to
   12678        * the peer even if the handshaker status is not OK as these frames may
   12679        * contain the alert frames.
   12680        * </pre>
   12681        *
   12682        * <code>bytes out_frames = 1;</code>
   12683        */
   12684       public Builder setOutFrames(com.google.protobuf.ByteString value) {
   12685         if (value == null) {
   12686     throw new NullPointerException();
   12687   }
   12688 
   12689         outFrames_ = value;
   12690         onChanged();
   12691         return this;
   12692       }
   12693       /**
   12694        * <pre>
   12695        * Frames to be given to the peer for the NextHandshakeMessageReq. May be
   12696        * empty if no out_frames have to be sent to the peer or if in_bytes in the
   12697        * HandshakerReq are incomplete. All the non-empty out frames must be sent to
   12698        * the peer even if the handshaker status is not OK as these frames may
   12699        * contain the alert frames.
   12700        * </pre>
   12701        *
   12702        * <code>bytes out_frames = 1;</code>
   12703        */
   12704       public Builder clearOutFrames() {
   12705 
   12706         outFrames_ = getDefaultInstance().getOutFrames();
   12707         onChanged();
   12708         return this;
   12709       }
   12710 
   12711       private int bytesConsumed_ ;
   12712       /**
   12713        * <pre>
   12714        * Number of bytes in the in_bytes consumed by the handshaker. It is possible
   12715        * that part of in_bytes in HandshakerReq was unrelated to the handshake
   12716        * process.
   12717        * </pre>
   12718        *
   12719        * <code>uint32 bytes_consumed = 2;</code>
   12720        */
   12721       public int getBytesConsumed() {
   12722         return bytesConsumed_;
   12723       }
   12724       /**
   12725        * <pre>
   12726        * Number of bytes in the in_bytes consumed by the handshaker. It is possible
   12727        * that part of in_bytes in HandshakerReq was unrelated to the handshake
   12728        * process.
   12729        * </pre>
   12730        *
   12731        * <code>uint32 bytes_consumed = 2;</code>
   12732        */
   12733       public Builder setBytesConsumed(int value) {
   12734 
   12735         bytesConsumed_ = value;
   12736         onChanged();
   12737         return this;
   12738       }
   12739       /**
   12740        * <pre>
   12741        * Number of bytes in the in_bytes consumed by the handshaker. It is possible
   12742        * that part of in_bytes in HandshakerReq was unrelated to the handshake
   12743        * process.
   12744        * </pre>
   12745        *
   12746        * <code>uint32 bytes_consumed = 2;</code>
   12747        */
   12748       public Builder clearBytesConsumed() {
   12749 
   12750         bytesConsumed_ = 0;
   12751         onChanged();
   12752         return this;
   12753       }
   12754 
   12755       private io.grpc.alts.internal.Handshaker.HandshakerResult result_ = null;
   12756       private com.google.protobuf.SingleFieldBuilderV3<
   12757           io.grpc.alts.internal.Handshaker.HandshakerResult, io.grpc.alts.internal.Handshaker.HandshakerResult.Builder, io.grpc.alts.internal.Handshaker.HandshakerResultOrBuilder> resultBuilder_;
   12758       /**
   12759        * <pre>
   12760        * This is set iff the handshake was successful. out_frames may still be set
   12761        * to frames that needs to be forwarded to the peer.
   12762        * </pre>
   12763        *
   12764        * <code>.grpc.gcp.HandshakerResult result = 3;</code>
   12765        */
   12766       public boolean hasResult() {
   12767         return resultBuilder_ != null || result_ != null;
   12768       }
   12769       /**
   12770        * <pre>
   12771        * This is set iff the handshake was successful. out_frames may still be set
   12772        * to frames that needs to be forwarded to the peer.
   12773        * </pre>
   12774        *
   12775        * <code>.grpc.gcp.HandshakerResult result = 3;</code>
   12776        */
   12777       public io.grpc.alts.internal.Handshaker.HandshakerResult getResult() {
   12778         if (resultBuilder_ == null) {
   12779           return result_ == null ? io.grpc.alts.internal.Handshaker.HandshakerResult.getDefaultInstance() : result_;
   12780         } else {
   12781           return resultBuilder_.getMessage();
   12782         }
   12783       }
   12784       /**
   12785        * <pre>
   12786        * This is set iff the handshake was successful. out_frames may still be set
   12787        * to frames that needs to be forwarded to the peer.
   12788        * </pre>
   12789        *
   12790        * <code>.grpc.gcp.HandshakerResult result = 3;</code>
   12791        */
   12792       public Builder setResult(io.grpc.alts.internal.Handshaker.HandshakerResult value) {
   12793         if (resultBuilder_ == null) {
   12794           if (value == null) {
   12795             throw new NullPointerException();
   12796           }
   12797           result_ = value;
   12798           onChanged();
   12799         } else {
   12800           resultBuilder_.setMessage(value);
   12801         }
   12802 
   12803         return this;
   12804       }
   12805       /**
   12806        * <pre>
   12807        * This is set iff the handshake was successful. out_frames may still be set
   12808        * to frames that needs to be forwarded to the peer.
   12809        * </pre>
   12810        *
   12811        * <code>.grpc.gcp.HandshakerResult result = 3;</code>
   12812        */
   12813       public Builder setResult(
   12814           io.grpc.alts.internal.Handshaker.HandshakerResult.Builder builderForValue) {
   12815         if (resultBuilder_ == null) {
   12816           result_ = builderForValue.build();
   12817           onChanged();
   12818         } else {
   12819           resultBuilder_.setMessage(builderForValue.build());
   12820         }
   12821 
   12822         return this;
   12823       }
   12824       /**
   12825        * <pre>
   12826        * This is set iff the handshake was successful. out_frames may still be set
   12827        * to frames that needs to be forwarded to the peer.
   12828        * </pre>
   12829        *
   12830        * <code>.grpc.gcp.HandshakerResult result = 3;</code>
   12831        */
   12832       public Builder mergeResult(io.grpc.alts.internal.Handshaker.HandshakerResult value) {
   12833         if (resultBuilder_ == null) {
   12834           if (result_ != null) {
   12835             result_ =
   12836               io.grpc.alts.internal.Handshaker.HandshakerResult.newBuilder(result_).mergeFrom(value).buildPartial();
   12837           } else {
   12838             result_ = value;
   12839           }
   12840           onChanged();
   12841         } else {
   12842           resultBuilder_.mergeFrom(value);
   12843         }
   12844 
   12845         return this;
   12846       }
   12847       /**
   12848        * <pre>
   12849        * This is set iff the handshake was successful. out_frames may still be set
   12850        * to frames that needs to be forwarded to the peer.
   12851        * </pre>
   12852        *
   12853        * <code>.grpc.gcp.HandshakerResult result = 3;</code>
   12854        */
   12855       public Builder clearResult() {
   12856         if (resultBuilder_ == null) {
   12857           result_ = null;
   12858           onChanged();
   12859         } else {
   12860           result_ = null;
   12861           resultBuilder_ = null;
   12862         }
   12863 
   12864         return this;
   12865       }
   12866       /**
   12867        * <pre>
   12868        * This is set iff the handshake was successful. out_frames may still be set
   12869        * to frames that needs to be forwarded to the peer.
   12870        * </pre>
   12871        *
   12872        * <code>.grpc.gcp.HandshakerResult result = 3;</code>
   12873        */
   12874       public io.grpc.alts.internal.Handshaker.HandshakerResult.Builder getResultBuilder() {
   12875 
   12876         onChanged();
   12877         return getResultFieldBuilder().getBuilder();
   12878       }
   12879       /**
   12880        * <pre>
   12881        * This is set iff the handshake was successful. out_frames may still be set
   12882        * to frames that needs to be forwarded to the peer.
   12883        * </pre>
   12884        *
   12885        * <code>.grpc.gcp.HandshakerResult result = 3;</code>
   12886        */
   12887       public io.grpc.alts.internal.Handshaker.HandshakerResultOrBuilder getResultOrBuilder() {
   12888         if (resultBuilder_ != null) {
   12889           return resultBuilder_.getMessageOrBuilder();
   12890         } else {
   12891           return result_ == null ?
   12892               io.grpc.alts.internal.Handshaker.HandshakerResult.getDefaultInstance() : result_;
   12893         }
   12894       }
   12895       /**
   12896        * <pre>
   12897        * This is set iff the handshake was successful. out_frames may still be set
   12898        * to frames that needs to be forwarded to the peer.
   12899        * </pre>
   12900        *
   12901        * <code>.grpc.gcp.HandshakerResult result = 3;</code>
   12902        */
   12903       private com.google.protobuf.SingleFieldBuilderV3<
   12904           io.grpc.alts.internal.Handshaker.HandshakerResult, io.grpc.alts.internal.Handshaker.HandshakerResult.Builder, io.grpc.alts.internal.Handshaker.HandshakerResultOrBuilder>
   12905           getResultFieldBuilder() {
   12906         if (resultBuilder_ == null) {
   12907           resultBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
   12908               io.grpc.alts.internal.Handshaker.HandshakerResult, io.grpc.alts.internal.Handshaker.HandshakerResult.Builder, io.grpc.alts.internal.Handshaker.HandshakerResultOrBuilder>(
   12909                   getResult(),
   12910                   getParentForChildren(),
   12911                   isClean());
   12912           result_ = null;
   12913         }
   12914         return resultBuilder_;
   12915       }
   12916 
   12917       private io.grpc.alts.internal.Handshaker.HandshakerStatus status_ = null;
   12918       private com.google.protobuf.SingleFieldBuilderV3<
   12919           io.grpc.alts.internal.Handshaker.HandshakerStatus, io.grpc.alts.internal.Handshaker.HandshakerStatus.Builder, io.grpc.alts.internal.Handshaker.HandshakerStatusOrBuilder> statusBuilder_;
   12920       /**
   12921        * <pre>
   12922        * Status of the handshaker.
   12923        * </pre>
   12924        *
   12925        * <code>.grpc.gcp.HandshakerStatus status = 4;</code>
   12926        */
   12927       public boolean hasStatus() {
   12928         return statusBuilder_ != null || status_ != null;
   12929       }
   12930       /**
   12931        * <pre>
   12932        * Status of the handshaker.
   12933        * </pre>
   12934        *
   12935        * <code>.grpc.gcp.HandshakerStatus status = 4;</code>
   12936        */
   12937       public io.grpc.alts.internal.Handshaker.HandshakerStatus getStatus() {
   12938         if (statusBuilder_ == null) {
   12939           return status_ == null ? io.grpc.alts.internal.Handshaker.HandshakerStatus.getDefaultInstance() : status_;
   12940         } else {
   12941           return statusBuilder_.getMessage();
   12942         }
   12943       }
   12944       /**
   12945        * <pre>
   12946        * Status of the handshaker.
   12947        * </pre>
   12948        *
   12949        * <code>.grpc.gcp.HandshakerStatus status = 4;</code>
   12950        */
   12951       public Builder setStatus(io.grpc.alts.internal.Handshaker.HandshakerStatus value) {
   12952         if (statusBuilder_ == null) {
   12953           if (value == null) {
   12954             throw new NullPointerException();
   12955           }
   12956           status_ = value;
   12957           onChanged();
   12958         } else {
   12959           statusBuilder_.setMessage(value);
   12960         }
   12961 
   12962         return this;
   12963       }
   12964       /**
   12965        * <pre>
   12966        * Status of the handshaker.
   12967        * </pre>
   12968        *
   12969        * <code>.grpc.gcp.HandshakerStatus status = 4;</code>
   12970        */
   12971       public Builder setStatus(
   12972           io.grpc.alts.internal.Handshaker.HandshakerStatus.Builder builderForValue) {
   12973         if (statusBuilder_ == null) {
   12974           status_ = builderForValue.build();
   12975           onChanged();
   12976         } else {
   12977           statusBuilder_.setMessage(builderForValue.build());
   12978         }
   12979 
   12980         return this;
   12981       }
   12982       /**
   12983        * <pre>
   12984        * Status of the handshaker.
   12985        * </pre>
   12986        *
   12987        * <code>.grpc.gcp.HandshakerStatus status = 4;</code>
   12988        */
   12989       public Builder mergeStatus(io.grpc.alts.internal.Handshaker.HandshakerStatus value) {
   12990         if (statusBuilder_ == null) {
   12991           if (status_ != null) {
   12992             status_ =
   12993               io.grpc.alts.internal.Handshaker.HandshakerStatus.newBuilder(status_).mergeFrom(value).buildPartial();
   12994           } else {
   12995             status_ = value;
   12996           }
   12997           onChanged();
   12998         } else {
   12999           statusBuilder_.mergeFrom(value);
   13000         }
   13001 
   13002         return this;
   13003       }
   13004       /**
   13005        * <pre>
   13006        * Status of the handshaker.
   13007        * </pre>
   13008        *
   13009        * <code>.grpc.gcp.HandshakerStatus status = 4;</code>
   13010        */
   13011       public Builder clearStatus() {
   13012         if (statusBuilder_ == null) {
   13013           status_ = null;
   13014           onChanged();
   13015         } else {
   13016           status_ = null;
   13017           statusBuilder_ = null;
   13018         }
   13019 
   13020         return this;
   13021       }
   13022       /**
   13023        * <pre>
   13024        * Status of the handshaker.
   13025        * </pre>
   13026        *
   13027        * <code>.grpc.gcp.HandshakerStatus status = 4;</code>
   13028        */
   13029       public io.grpc.alts.internal.Handshaker.HandshakerStatus.Builder getStatusBuilder() {
   13030 
   13031         onChanged();
   13032         return getStatusFieldBuilder().getBuilder();
   13033       }
   13034       /**
   13035        * <pre>
   13036        * Status of the handshaker.
   13037        * </pre>
   13038        *
   13039        * <code>.grpc.gcp.HandshakerStatus status = 4;</code>
   13040        */
   13041       public io.grpc.alts.internal.Handshaker.HandshakerStatusOrBuilder getStatusOrBuilder() {
   13042         if (statusBuilder_ != null) {
   13043           return statusBuilder_.getMessageOrBuilder();
   13044         } else {
   13045           return status_ == null ?
   13046               io.grpc.alts.internal.Handshaker.HandshakerStatus.getDefaultInstance() : status_;
   13047         }
   13048       }
   13049       /**
   13050        * <pre>
   13051        * Status of the handshaker.
   13052        * </pre>
   13053        *
   13054        * <code>.grpc.gcp.HandshakerStatus status = 4;</code>
   13055        */
   13056       private com.google.protobuf.SingleFieldBuilderV3<
   13057           io.grpc.alts.internal.Handshaker.HandshakerStatus, io.grpc.alts.internal.Handshaker.HandshakerStatus.Builder, io.grpc.alts.internal.Handshaker.HandshakerStatusOrBuilder>
   13058           getStatusFieldBuilder() {
   13059         if (statusBuilder_ == null) {
   13060           statusBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
   13061               io.grpc.alts.internal.Handshaker.HandshakerStatus, io.grpc.alts.internal.Handshaker.HandshakerStatus.Builder, io.grpc.alts.internal.Handshaker.HandshakerStatusOrBuilder>(
   13062                   getStatus(),
   13063                   getParentForChildren(),
   13064                   isClean());
   13065           status_ = null;
   13066         }
   13067         return statusBuilder_;
   13068       }
   13069       public final Builder setUnknownFields(
   13070           final com.google.protobuf.UnknownFieldSet unknownFields) {
   13071         return super.setUnknownFieldsProto3(unknownFields);
   13072       }
   13073 
   13074       public final Builder mergeUnknownFields(
   13075           final com.google.protobuf.UnknownFieldSet unknownFields) {
   13076         return super.mergeUnknownFields(unknownFields);
   13077       }
   13078 
   13079 
   13080       // @@protoc_insertion_point(builder_scope:grpc.gcp.HandshakerResp)
   13081     }
   13082 
   13083     // @@protoc_insertion_point(class_scope:grpc.gcp.HandshakerResp)
   13084     private static final io.grpc.alts.internal.Handshaker.HandshakerResp DEFAULT_INSTANCE;
   13085     static {
   13086       DEFAULT_INSTANCE = new io.grpc.alts.internal.Handshaker.HandshakerResp();
   13087     }
   13088 
   13089     public static io.grpc.alts.internal.Handshaker.HandshakerResp getDefaultInstance() {
   13090       return DEFAULT_INSTANCE;
   13091     }
   13092 
   13093     private static final com.google.protobuf.Parser<HandshakerResp>
   13094         PARSER = new com.google.protobuf.AbstractParser<HandshakerResp>() {
   13095       public HandshakerResp parsePartialFrom(
   13096           com.google.protobuf.CodedInputStream input,
   13097           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
   13098           throws com.google.protobuf.InvalidProtocolBufferException {
   13099         return new HandshakerResp(input, extensionRegistry);
   13100       }
   13101     };
   13102 
   13103     public static com.google.protobuf.Parser<HandshakerResp> parser() {
   13104       return PARSER;
   13105     }
   13106 
   13107     @java.lang.Override
   13108     public com.google.protobuf.Parser<HandshakerResp> getParserForType() {
   13109       return PARSER;
   13110     }
   13111 
   13112     public io.grpc.alts.internal.Handshaker.HandshakerResp getDefaultInstanceForType() {
   13113       return DEFAULT_INSTANCE;
   13114     }
   13115 
   13116   }
   13117 
   13118   private static final com.google.protobuf.Descriptors.Descriptor
   13119     internal_static_grpc_gcp_Endpoint_descriptor;
   13120   private static final
   13121     com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
   13122       internal_static_grpc_gcp_Endpoint_fieldAccessorTable;
   13123   private static final com.google.protobuf.Descriptors.Descriptor
   13124     internal_static_grpc_gcp_Identity_descriptor;
   13125   private static final
   13126     com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
   13127       internal_static_grpc_gcp_Identity_fieldAccessorTable;
   13128   private static final com.google.protobuf.Descriptors.Descriptor
   13129     internal_static_grpc_gcp_StartClientHandshakeReq_descriptor;
   13130   private static final
   13131     com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
   13132       internal_static_grpc_gcp_StartClientHandshakeReq_fieldAccessorTable;
   13133   private static final com.google.protobuf.Descriptors.Descriptor
   13134     internal_static_grpc_gcp_ServerHandshakeParameters_descriptor;
   13135   private static final
   13136     com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
   13137       internal_static_grpc_gcp_ServerHandshakeParameters_fieldAccessorTable;
   13138   private static final com.google.protobuf.Descriptors.Descriptor
   13139     internal_static_grpc_gcp_StartServerHandshakeReq_descriptor;
   13140   private static final
   13141     com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
   13142       internal_static_grpc_gcp_StartServerHandshakeReq_fieldAccessorTable;
   13143   private static final com.google.protobuf.Descriptors.Descriptor
   13144     internal_static_grpc_gcp_StartServerHandshakeReq_HandshakeParametersEntry_descriptor;
   13145   private static final
   13146     com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
   13147       internal_static_grpc_gcp_StartServerHandshakeReq_HandshakeParametersEntry_fieldAccessorTable;
   13148   private static final com.google.protobuf.Descriptors.Descriptor
   13149     internal_static_grpc_gcp_NextHandshakeMessageReq_descriptor;
   13150   private static final
   13151     com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
   13152       internal_static_grpc_gcp_NextHandshakeMessageReq_fieldAccessorTable;
   13153   private static final com.google.protobuf.Descriptors.Descriptor
   13154     internal_static_grpc_gcp_HandshakerReq_descriptor;
   13155   private static final
   13156     com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
   13157       internal_static_grpc_gcp_HandshakerReq_fieldAccessorTable;
   13158   private static final com.google.protobuf.Descriptors.Descriptor
   13159     internal_static_grpc_gcp_HandshakerResult_descriptor;
   13160   private static final
   13161     com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
   13162       internal_static_grpc_gcp_HandshakerResult_fieldAccessorTable;
   13163   private static final com.google.protobuf.Descriptors.Descriptor
   13164     internal_static_grpc_gcp_HandshakerStatus_descriptor;
   13165   private static final
   13166     com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
   13167       internal_static_grpc_gcp_HandshakerStatus_fieldAccessorTable;
   13168   private static final com.google.protobuf.Descriptors.Descriptor
   13169     internal_static_grpc_gcp_HandshakerResp_descriptor;
   13170   private static final
   13171     com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
   13172       internal_static_grpc_gcp_HandshakerResp_fieldAccessorTable;
   13173 
   13174   public static com.google.protobuf.Descriptors.FileDescriptor
   13175       getDescriptor() {
   13176     return descriptor;
   13177   }
   13178   private static  com.google.protobuf.Descriptors.FileDescriptor
   13179       descriptor;
   13180   static {
   13181     java.lang.String[] descriptorData = {
   13182       "\n\031grpc/gcp/handshaker.proto\022\010grpc.gcp\032(g" +
   13183       "rpc/gcp/transport_security_common.proto\"" +
   13184       "Y\n\010Endpoint\022\022\n\nip_address\030\001 \001(\t\022\014\n\004port\030" +
   13185       "\002 \001(\005\022+\n\010protocol\030\003 \001(\0162\031.grpc.gcp.Netwo" +
   13186       "rkProtocol\"K\n\010Identity\022\031\n\017service_accoun" +
   13187       "t\030\001 \001(\tH\000\022\022\n\010hostname\030\002 \001(\tH\000B\020\n\016identit" +
   13188       "y_oneof\"\222\003\n\027StartClientHandshakeReq\022@\n\033h" +
   13189       "andshake_security_protocol\030\001 \001(\0162\033.grpc." +
   13190       "gcp.HandshakeProtocol\022\035\n\025application_pro" +
   13191       "tocols\030\002 \003(\t\022\030\n\020record_protocols\030\003 \003(\t\022-" +
   13192       "\n\021target_identities\030\004 \003(\0132\022.grpc.gcp.Ide" +
   13193       "ntity\022*\n\016local_identity\030\005 \001(\0132\022.grpc.gcp" +
   13194       ".Identity\022*\n\016local_endpoint\030\006 \001(\0132\022.grpc" +
   13195       ".gcp.Endpoint\022+\n\017remote_endpoint\030\007 \001(\0132\022" +
   13196       ".grpc.gcp.Endpoint\022\023\n\013target_name\030\010 \001(\t\022" +
   13197       "3\n\014rpc_versions\030\t \001(\0132\035.grpc.gcp.RpcProt" +
   13198       "ocolVersions\"c\n\031ServerHandshakeParameter" +
   13199       "s\022\030\n\020record_protocols\030\001 \003(\t\022,\n\020local_ide" +
   13200       "ntities\030\002 \003(\0132\022.grpc.gcp.Identity\"\223\003\n\027St" +
   13201       "artServerHandshakeReq\022\035\n\025application_pro" +
   13202       "tocols\030\001 \003(\t\022X\n\024handshake_parameters\030\002 \003" +
   13203       "(\0132:.grpc.gcp.StartServerHandshakeReq.Ha" +
   13204       "ndshakeParametersEntry\022\020\n\010in_bytes\030\003 \001(\014" +
   13205       "\022*\n\016local_endpoint\030\004 \001(\0132\022.grpc.gcp.Endp" +
   13206       "oint\022+\n\017remote_endpoint\030\005 \001(\0132\022.grpc.gcp" +
   13207       ".Endpoint\0223\n\014rpc_versions\030\006 \001(\0132\035.grpc.g" +
   13208       "cp.RpcProtocolVersions\032_\n\030HandshakeParam" +
   13209       "etersEntry\022\013\n\003key\030\001 \001(\005\0222\n\005value\030\002 \001(\0132#" +
   13210       ".grpc.gcp.ServerHandshakeParameters:\0028\001\"" +
   13211       "+\n\027NextHandshakeMessageReq\022\020\n\010in_bytes\030\001" +
   13212       " \001(\014\"\305\001\n\rHandshakerReq\0229\n\014client_start\030\001" +
   13213       " \001(\0132!.grpc.gcp.StartClientHandshakeReqH" +
   13214       "\000\0229\n\014server_start\030\002 \001(\0132!.grpc.gcp.Start" +
   13215       "ServerHandshakeReqH\000\0221\n\004next\030\003 \001(\0132!.grp" +
   13216       "c.gcp.NextHandshakeMessageReqH\000B\013\n\treq_o" +
   13217       "neof\"\207\002\n\020HandshakerResult\022\034\n\024application" +
   13218       "_protocol\030\001 \001(\t\022\027\n\017record_protocol\030\002 \001(\t" +
   13219       "\022\020\n\010key_data\030\003 \001(\014\022)\n\rpeer_identity\030\004 \001(" +
   13220       "\0132\022.grpc.gcp.Identity\022*\n\016local_identity\030" +
   13221       "\005 \001(\0132\022.grpc.gcp.Identity\022\031\n\021keep_channe" +
   13222       "l_open\030\006 \001(\010\0228\n\021peer_rpc_versions\030\007 \001(\0132" +
   13223       "\035.grpc.gcp.RpcProtocolVersions\"1\n\020Handsh" +
   13224       "akerStatus\022\014\n\004code\030\001 \001(\r\022\017\n\007details\030\002 \001(" +
   13225       "\t\"\224\001\n\016HandshakerResp\022\022\n\nout_frames\030\001 \001(\014" +
   13226       "\022\026\n\016bytes_consumed\030\002 \001(\r\022*\n\006result\030\003 \001(\013" +
   13227       "2\032.grpc.gcp.HandshakerResult\022*\n\006status\030\004" +
   13228       " \001(\0132\032.grpc.gcp.HandshakerStatus*J\n\021Hand" +
   13229       "shakeProtocol\022\"\n\036HANDSHAKE_PROTOCOL_UNSP" +
   13230       "ECIFIED\020\000\022\007\n\003TLS\020\001\022\010\n\004ALTS\020\002*E\n\017NetworkP" +
   13231       "rotocol\022 \n\034NETWORK_PROTOCOL_UNSPECIFIED\020" +
   13232       "\000\022\007\n\003TCP\020\001\022\007\n\003UDP\020\0022[\n\021HandshakerService" +
   13233       "\022F\n\013DoHandshake\022\027.grpc.gcp.HandshakerReq" +
   13234       "\032\030.grpc.gcp.HandshakerResp\"\000(\0010\001B\027\n\025io.g" +
   13235       "rpc.alts.internalb\006proto3"
   13236     };
   13237     com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
   13238         new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
   13239           public com.google.protobuf.ExtensionRegistry assignDescriptors(
   13240               com.google.protobuf.Descriptors.FileDescriptor root) {
   13241             descriptor = root;
   13242             return null;
   13243           }
   13244         };
   13245     com.google.protobuf.Descriptors.FileDescriptor
   13246       .internalBuildGeneratedFileFrom(descriptorData,
   13247         new com.google.protobuf.Descriptors.FileDescriptor[] {
   13248           io.grpc.alts.internal.TransportSecurityCommon.getDescriptor(),
   13249         }, assigner);
   13250     internal_static_grpc_gcp_Endpoint_descriptor =
   13251       getDescriptor().getMessageTypes().get(0);
   13252     internal_static_grpc_gcp_Endpoint_fieldAccessorTable = new
   13253       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
   13254         internal_static_grpc_gcp_Endpoint_descriptor,
   13255         new java.lang.String[] { "IpAddress", "Port", "Protocol", });
   13256     internal_static_grpc_gcp_Identity_descriptor =
   13257       getDescriptor().getMessageTypes().get(1);
   13258     internal_static_grpc_gcp_Identity_fieldAccessorTable = new
   13259       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
   13260         internal_static_grpc_gcp_Identity_descriptor,
   13261         new java.lang.String[] { "ServiceAccount", "Hostname", "IdentityOneof", });
   13262     internal_static_grpc_gcp_StartClientHandshakeReq_descriptor =
   13263       getDescriptor().getMessageTypes().get(2);
   13264     internal_static_grpc_gcp_StartClientHandshakeReq_fieldAccessorTable = new
   13265       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
   13266         internal_static_grpc_gcp_StartClientHandshakeReq_descriptor,
   13267         new java.lang.String[] { "HandshakeSecurityProtocol", "ApplicationProtocols", "RecordProtocols", "TargetIdentities", "LocalIdentity", "LocalEndpoint", "RemoteEndpoint", "TargetName", "RpcVersions", });
   13268     internal_static_grpc_gcp_ServerHandshakeParameters_descriptor =
   13269       getDescriptor().getMessageTypes().get(3);
   13270     internal_static_grpc_gcp_ServerHandshakeParameters_fieldAccessorTable = new
   13271       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
   13272         internal_static_grpc_gcp_ServerHandshakeParameters_descriptor,
   13273         new java.lang.String[] { "RecordProtocols", "LocalIdentities", });
   13274     internal_static_grpc_gcp_StartServerHandshakeReq_descriptor =
   13275       getDescriptor().getMessageTypes().get(4);
   13276     internal_static_grpc_gcp_StartServerHandshakeReq_fieldAccessorTable = new
   13277       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
   13278         internal_static_grpc_gcp_StartServerHandshakeReq_descriptor,
   13279         new java.lang.String[] { "ApplicationProtocols", "HandshakeParameters", "InBytes", "LocalEndpoint", "RemoteEndpoint", "RpcVersions", });
   13280     internal_static_grpc_gcp_StartServerHandshakeReq_HandshakeParametersEntry_descriptor =
   13281       internal_static_grpc_gcp_StartServerHandshakeReq_descriptor.getNestedTypes().get(0);
   13282     internal_static_grpc_gcp_StartServerHandshakeReq_HandshakeParametersEntry_fieldAccessorTable = new
   13283       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
   13284         internal_static_grpc_gcp_StartServerHandshakeReq_HandshakeParametersEntry_descriptor,
   13285         new java.lang.String[] { "Key", "Value", });
   13286     internal_static_grpc_gcp_NextHandshakeMessageReq_descriptor =
   13287       getDescriptor().getMessageTypes().get(5);
   13288     internal_static_grpc_gcp_NextHandshakeMessageReq_fieldAccessorTable = new
   13289       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
   13290         internal_static_grpc_gcp_NextHandshakeMessageReq_descriptor,
   13291         new java.lang.String[] { "InBytes", });
   13292     internal_static_grpc_gcp_HandshakerReq_descriptor =
   13293       getDescriptor().getMessageTypes().get(6);
   13294     internal_static_grpc_gcp_HandshakerReq_fieldAccessorTable = new
   13295       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
   13296         internal_static_grpc_gcp_HandshakerReq_descriptor,
   13297         new java.lang.String[] { "ClientStart", "ServerStart", "Next", "ReqOneof", });
   13298     internal_static_grpc_gcp_HandshakerResult_descriptor =
   13299       getDescriptor().getMessageTypes().get(7);
   13300     internal_static_grpc_gcp_HandshakerResult_fieldAccessorTable = new
   13301       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
   13302         internal_static_grpc_gcp_HandshakerResult_descriptor,
   13303         new java.lang.String[] { "ApplicationProtocol", "RecordProtocol", "KeyData", "PeerIdentity", "LocalIdentity", "KeepChannelOpen", "PeerRpcVersions", });
   13304     internal_static_grpc_gcp_HandshakerStatus_descriptor =
   13305       getDescriptor().getMessageTypes().get(8);
   13306     internal_static_grpc_gcp_HandshakerStatus_fieldAccessorTable = new
   13307       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
   13308         internal_static_grpc_gcp_HandshakerStatus_descriptor,
   13309         new java.lang.String[] { "Code", "Details", });
   13310     internal_static_grpc_gcp_HandshakerResp_descriptor =
   13311       getDescriptor().getMessageTypes().get(9);
   13312     internal_static_grpc_gcp_HandshakerResp_fieldAccessorTable = new
   13313       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
   13314         internal_static_grpc_gcp_HandshakerResp_descriptor,
   13315         new java.lang.String[] { "OutFrames", "BytesConsumed", "Result", "Status", });
   13316     io.grpc.alts.internal.TransportSecurityCommon.getDescriptor();
   13317   }
   13318 
   13319   // @@protoc_insertion_point(outer_class_scope)
   13320 }
   13321