| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816 | // Generated by the protocol buffer compiler.  DO NOT EDIT!// source: src/proto/grpc/testing/messages.proto#pragma warning disable 1591, 0612, 3021#region Designer generated codeusing pb = global::Google.Protobuf;using pbc = global::Google.Protobuf.Collections;using pbr = global::Google.Protobuf.Reflection;using scg = global::System.Collections.Generic;namespace Grpc.Testing {  /// <summary>Holder for reflection information generated from src/proto/grpc/testing/messages.proto</summary>  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public static partial class MessagesReflection {    #region Descriptor    /// <summary>File descriptor for src/proto/grpc/testing/messages.proto</summary>    public static pbr::FileDescriptor Descriptor {      get { return descriptor; }    }    private static pbr::FileDescriptor descriptor;    static MessagesReflection() {      byte[] descriptorData = global::System.Convert.FromBase64String(          string.Concat(            "CiVzcmMvcHJvdG8vZ3JwYy90ZXN0aW5nL21lc3NhZ2VzLnByb3RvEgxncnBj",            "LnRlc3RpbmciQAoHUGF5bG9hZBInCgR0eXBlGAEgASgOMhkuZ3JwYy50ZXN0",            "aW5nLlBheWxvYWRUeXBlEgwKBGJvZHkYAiABKAwiKwoKRWNob1N0YXR1cxIM",            "CgRjb2RlGAEgASgFEg8KB21lc3NhZ2UYAiABKAkioQIKDVNpbXBsZVJlcXVl",            "c3QSMAoNcmVzcG9uc2VfdHlwZRgBIAEoDjIZLmdycGMudGVzdGluZy5QYXls",            "b2FkVHlwZRIVCg1yZXNwb25zZV9zaXplGAIgASgFEiYKB3BheWxvYWQYAyAB",            "KAsyFS5ncnBjLnRlc3RpbmcuUGF5bG9hZBIVCg1maWxsX3VzZXJuYW1lGAQg",            "ASgIEhgKEGZpbGxfb2F1dGhfc2NvcGUYBSABKAgSOwoUcmVzcG9uc2VfY29t",            "cHJlc3Npb24YBiABKA4yHS5ncnBjLnRlc3RpbmcuQ29tcHJlc3Npb25UeXBl",            "EjEKD3Jlc3BvbnNlX3N0YXR1cxgHIAEoCzIYLmdycGMudGVzdGluZy5FY2hv",            "U3RhdHVzIl8KDlNpbXBsZVJlc3BvbnNlEiYKB3BheWxvYWQYASABKAsyFS5n",            "cnBjLnRlc3RpbmcuUGF5bG9hZBIQCgh1c2VybmFtZRgCIAEoCRITCgtvYXV0",            "aF9zY29wZRgDIAEoCSJDChlTdHJlYW1pbmdJbnB1dENhbGxSZXF1ZXN0EiYK",            "B3BheWxvYWQYASABKAsyFS5ncnBjLnRlc3RpbmcuUGF5bG9hZCI9ChpTdHJl",            "YW1pbmdJbnB1dENhbGxSZXNwb25zZRIfChdhZ2dyZWdhdGVkX3BheWxvYWRf",            "c2l6ZRgBIAEoBSI3ChJSZXNwb25zZVBhcmFtZXRlcnMSDAoEc2l6ZRgBIAEo",            "BRITCgtpbnRlcnZhbF91cxgCIAEoBSKlAgoaU3RyZWFtaW5nT3V0cHV0Q2Fs",            "bFJlcXVlc3QSMAoNcmVzcG9uc2VfdHlwZRgBIAEoDjIZLmdycGMudGVzdGlu",            "Zy5QYXlsb2FkVHlwZRI9ChNyZXNwb25zZV9wYXJhbWV0ZXJzGAIgAygLMiAu",            "Z3JwYy50ZXN0aW5nLlJlc3BvbnNlUGFyYW1ldGVycxImCgdwYXlsb2FkGAMg",            "ASgLMhUuZ3JwYy50ZXN0aW5nLlBheWxvYWQSOwoUcmVzcG9uc2VfY29tcHJl",            "c3Npb24YBiABKA4yHS5ncnBjLnRlc3RpbmcuQ29tcHJlc3Npb25UeXBlEjEK",            "D3Jlc3BvbnNlX3N0YXR1cxgHIAEoCzIYLmdycGMudGVzdGluZy5FY2hvU3Rh",            "dHVzIkUKG1N0cmVhbWluZ091dHB1dENhbGxSZXNwb25zZRImCgdwYXlsb2Fk",            "GAEgASgLMhUuZ3JwYy50ZXN0aW5nLlBheWxvYWQiMwoPUmVjb25uZWN0UGFy",            "YW1zEiAKGG1heF9yZWNvbm5lY3RfYmFja29mZl9tcxgBIAEoBSIzCg1SZWNv",            "bm5lY3RJbmZvEg4KBnBhc3NlZBgBIAEoCBISCgpiYWNrb2ZmX21zGAIgAygF",            "Kj8KC1BheWxvYWRUeXBlEhAKDENPTVBSRVNTQUJMRRAAEhIKDlVOQ09NUFJF",            "U1NBQkxFEAESCgoGUkFORE9NEAIqMgoPQ29tcHJlc3Npb25UeXBlEggKBE5P",            "TkUQABIICgRHWklQEAESCwoHREVGTEFURRACYgZwcm90bzM="));      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,          new pbr::FileDescriptor[] { },          new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Grpc.Testing.PayloadType), typeof(global::Grpc.Testing.CompressionType), }, new pbr::GeneratedClrTypeInfo[] {            new pbr::GeneratedClrTypeInfo(typeof(global::Grpc.Testing.Payload), global::Grpc.Testing.Payload.Parser, new[]{ "Type", "Body" }, null, null, null),            new pbr::GeneratedClrTypeInfo(typeof(global::Grpc.Testing.EchoStatus), global::Grpc.Testing.EchoStatus.Parser, new[]{ "Code", "Message" }, null, null, null),            new pbr::GeneratedClrTypeInfo(typeof(global::Grpc.Testing.SimpleRequest), global::Grpc.Testing.SimpleRequest.Parser, new[]{ "ResponseType", "ResponseSize", "Payload", "FillUsername", "FillOauthScope", "ResponseCompression", "ResponseStatus" }, null, null, null),            new pbr::GeneratedClrTypeInfo(typeof(global::Grpc.Testing.SimpleResponse), global::Grpc.Testing.SimpleResponse.Parser, new[]{ "Payload", "Username", "OauthScope" }, null, null, null),            new pbr::GeneratedClrTypeInfo(typeof(global::Grpc.Testing.StreamingInputCallRequest), global::Grpc.Testing.StreamingInputCallRequest.Parser, new[]{ "Payload" }, null, null, null),            new pbr::GeneratedClrTypeInfo(typeof(global::Grpc.Testing.StreamingInputCallResponse), global::Grpc.Testing.StreamingInputCallResponse.Parser, new[]{ "AggregatedPayloadSize" }, null, null, null),            new pbr::GeneratedClrTypeInfo(typeof(global::Grpc.Testing.ResponseParameters), global::Grpc.Testing.ResponseParameters.Parser, new[]{ "Size", "IntervalUs" }, null, null, null),            new pbr::GeneratedClrTypeInfo(typeof(global::Grpc.Testing.StreamingOutputCallRequest), global::Grpc.Testing.StreamingOutputCallRequest.Parser, new[]{ "ResponseType", "ResponseParameters", "Payload", "ResponseCompression", "ResponseStatus" }, null, null, null),            new pbr::GeneratedClrTypeInfo(typeof(global::Grpc.Testing.StreamingOutputCallResponse), global::Grpc.Testing.StreamingOutputCallResponse.Parser, new[]{ "Payload" }, null, null, null),            new pbr::GeneratedClrTypeInfo(typeof(global::Grpc.Testing.ReconnectParams), global::Grpc.Testing.ReconnectParams.Parser, new[]{ "MaxReconnectBackoffMs" }, null, null, null),            new pbr::GeneratedClrTypeInfo(typeof(global::Grpc.Testing.ReconnectInfo), global::Grpc.Testing.ReconnectInfo.Parser, new[]{ "Passed", "BackoffMs" }, null, null, null)          }));    }    #endregion  }  #region Enums  /// <summary>  ///  The type of payload that should be returned.  /// </summary>  public enum PayloadType {    /// <summary>    ///  Compressable text format.    /// </summary>    [pbr::OriginalName("COMPRESSABLE")] Compressable = 0,    /// <summary>    ///  Uncompressable binary format.    /// </summary>    [pbr::OriginalName("UNCOMPRESSABLE")] Uncompressable = 1,    /// <summary>    ///  Randomly chosen from all other formats defined in this enum.    /// </summary>    [pbr::OriginalName("RANDOM")] Random = 2,  }  /// <summary>  ///  Compression algorithms  /// </summary>  public enum CompressionType {    /// <summary>    ///  No compression    /// </summary>    [pbr::OriginalName("NONE")] None = 0,    [pbr::OriginalName("GZIP")] Gzip = 1,    [pbr::OriginalName("DEFLATE")] Deflate = 2,  }  #endregion  #region Messages  /// <summary>  ///  A block of data, to simply increase gRPC message size.  /// </summary>  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class Payload : pb::IMessage<Payload> {    private static readonly pb::MessageParser<Payload> _parser = new pb::MessageParser<Payload>(() => new Payload());    public static pb::MessageParser<Payload> Parser { get { return _parser; } }    public static pbr::MessageDescriptor Descriptor {      get { return global::Grpc.Testing.MessagesReflection.Descriptor.MessageTypes[0]; }    }    pbr::MessageDescriptor pb::IMessage.Descriptor {      get { return Descriptor; }    }    public Payload() {      OnConstruction();    }    partial void OnConstruction();    public Payload(Payload other) : this() {      type_ = other.type_;      body_ = other.body_;    }    public Payload Clone() {      return new Payload(this);    }    /// <summary>Field number for the "type" field.</summary>    public const int TypeFieldNumber = 1;    private global::Grpc.Testing.PayloadType type_ = 0;    /// <summary>    ///  The type of data in body.    /// </summary>    public global::Grpc.Testing.PayloadType Type {      get { return type_; }      set {        type_ = value;      }    }    /// <summary>Field number for the "body" field.</summary>    public const int BodyFieldNumber = 2;    private pb::ByteString body_ = pb::ByteString.Empty;    /// <summary>    ///  Primary contents of payload.    /// </summary>    public pb::ByteString Body {      get { return body_; }      set {        body_ = pb::ProtoPreconditions.CheckNotNull(value, "value");      }    }    public override bool Equals(object other) {      return Equals(other as Payload);    }    public bool Equals(Payload other) {      if (ReferenceEquals(other, null)) {        return false;      }      if (ReferenceEquals(other, this)) {        return true;      }      if (Type != other.Type) return false;      if (Body != other.Body) return false;      return true;    }    public override int GetHashCode() {      int hash = 1;      if (Type != 0) hash ^= Type.GetHashCode();      if (Body.Length != 0) hash ^= Body.GetHashCode();      return hash;    }    public override string ToString() {      return pb::JsonFormatter.ToDiagnosticString(this);    }    public void WriteTo(pb::CodedOutputStream output) {      if (Type != 0) {        output.WriteRawTag(8);        output.WriteEnum((int) Type);      }      if (Body.Length != 0) {        output.WriteRawTag(18);        output.WriteBytes(Body);      }    }    public int CalculateSize() {      int size = 0;      if (Type != 0) {        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);      }      if (Body.Length != 0) {        size += 1 + pb::CodedOutputStream.ComputeBytesSize(Body);      }      return size;    }    public void MergeFrom(Payload other) {      if (other == null) {        return;      }      if (other.Type != 0) {        Type = other.Type;      }      if (other.Body.Length != 0) {        Body = other.Body;      }    }    public void MergeFrom(pb::CodedInputStream input) {      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            input.SkipLastField();            break;          case 8: {            type_ = (global::Grpc.Testing.PayloadType) input.ReadEnum();            break;          }          case 18: {            Body = input.ReadBytes();            break;          }        }      }    }  }  /// <summary>  ///  A protobuf representation for grpc status. This is used by test  ///  clients to specify a status that the server should attempt to return.  /// </summary>  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class EchoStatus : pb::IMessage<EchoStatus> {    private static readonly pb::MessageParser<EchoStatus> _parser = new pb::MessageParser<EchoStatus>(() => new EchoStatus());    public static pb::MessageParser<EchoStatus> Parser { get { return _parser; } }    public static pbr::MessageDescriptor Descriptor {      get { return global::Grpc.Testing.MessagesReflection.Descriptor.MessageTypes[1]; }    }    pbr::MessageDescriptor pb::IMessage.Descriptor {      get { return Descriptor; }    }    public EchoStatus() {      OnConstruction();    }    partial void OnConstruction();    public EchoStatus(EchoStatus other) : this() {      code_ = other.code_;      message_ = other.message_;    }    public EchoStatus Clone() {      return new EchoStatus(this);    }    /// <summary>Field number for the "code" field.</summary>    public const int CodeFieldNumber = 1;    private int code_;    public int Code {      get { return code_; }      set {        code_ = value;      }    }    /// <summary>Field number for the "message" field.</summary>    public const int MessageFieldNumber = 2;    private string message_ = "";    public string Message {      get { return message_; }      set {        message_ = pb::ProtoPreconditions.CheckNotNull(value, "value");      }    }    public override bool Equals(object other) {      return Equals(other as EchoStatus);    }    public bool Equals(EchoStatus other) {      if (ReferenceEquals(other, null)) {        return false;      }      if (ReferenceEquals(other, this)) {        return true;      }      if (Code != other.Code) return false;      if (Message != other.Message) return false;      return true;    }    public override int GetHashCode() {      int hash = 1;      if (Code != 0) hash ^= Code.GetHashCode();      if (Message.Length != 0) hash ^= Message.GetHashCode();      return hash;    }    public override string ToString() {      return pb::JsonFormatter.ToDiagnosticString(this);    }    public void WriteTo(pb::CodedOutputStream output) {      if (Code != 0) {        output.WriteRawTag(8);        output.WriteInt32(Code);      }      if (Message.Length != 0) {        output.WriteRawTag(18);        output.WriteString(Message);      }    }    public int CalculateSize() {      int size = 0;      if (Code != 0) {        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Code);      }      if (Message.Length != 0) {        size += 1 + pb::CodedOutputStream.ComputeStringSize(Message);      }      return size;    }    public void MergeFrom(EchoStatus other) {      if (other == null) {        return;      }      if (other.Code != 0) {        Code = other.Code;      }      if (other.Message.Length != 0) {        Message = other.Message;      }    }    public void MergeFrom(pb::CodedInputStream input) {      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            input.SkipLastField();            break;          case 8: {            Code = input.ReadInt32();            break;          }          case 18: {            Message = input.ReadString();            break;          }        }      }    }  }  /// <summary>  ///  Unary request.  /// </summary>  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class SimpleRequest : pb::IMessage<SimpleRequest> {    private static readonly pb::MessageParser<SimpleRequest> _parser = new pb::MessageParser<SimpleRequest>(() => new SimpleRequest());    public static pb::MessageParser<SimpleRequest> Parser { get { return _parser; } }    public static pbr::MessageDescriptor Descriptor {      get { return global::Grpc.Testing.MessagesReflection.Descriptor.MessageTypes[2]; }    }    pbr::MessageDescriptor pb::IMessage.Descriptor {      get { return Descriptor; }    }    public SimpleRequest() {      OnConstruction();    }    partial void OnConstruction();    public SimpleRequest(SimpleRequest other) : this() {      responseType_ = other.responseType_;      responseSize_ = other.responseSize_;      Payload = other.payload_ != null ? other.Payload.Clone() : null;      fillUsername_ = other.fillUsername_;      fillOauthScope_ = other.fillOauthScope_;      responseCompression_ = other.responseCompression_;      ResponseStatus = other.responseStatus_ != null ? other.ResponseStatus.Clone() : null;    }    public SimpleRequest Clone() {      return new SimpleRequest(this);    }    /// <summary>Field number for the "response_type" field.</summary>    public const int ResponseTypeFieldNumber = 1;    private global::Grpc.Testing.PayloadType responseType_ = 0;    /// <summary>    ///  Desired payload type in the response from the server.    ///  If response_type is RANDOM, server randomly chooses one from other formats.    /// </summary>    public global::Grpc.Testing.PayloadType ResponseType {      get { return responseType_; }      set {        responseType_ = value;      }    }    /// <summary>Field number for the "response_size" field.</summary>    public const int ResponseSizeFieldNumber = 2;    private int responseSize_;    /// <summary>    ///  Desired payload size in the response from the server.    ///  If response_type is COMPRESSABLE, this denotes the size before compression.    /// </summary>    public int ResponseSize {      get { return responseSize_; }      set {        responseSize_ = value;      }    }    /// <summary>Field number for the "payload" field.</summary>    public const int PayloadFieldNumber = 3;    private global::Grpc.Testing.Payload payload_;    /// <summary>    ///  Optional input payload sent along with the request.    /// </summary>    public global::Grpc.Testing.Payload Payload {      get { return payload_; }      set {        payload_ = value;      }    }    /// <summary>Field number for the "fill_username" field.</summary>    public const int FillUsernameFieldNumber = 4;    private bool fillUsername_;    /// <summary>    ///  Whether SimpleResponse should include username.    /// </summary>    public bool FillUsername {      get { return fillUsername_; }      set {        fillUsername_ = value;      }    }    /// <summary>Field number for the "fill_oauth_scope" field.</summary>    public const int FillOauthScopeFieldNumber = 5;    private bool fillOauthScope_;    /// <summary>    ///  Whether SimpleResponse should include OAuth scope.    /// </summary>    public bool FillOauthScope {      get { return fillOauthScope_; }      set {        fillOauthScope_ = value;      }    }    /// <summary>Field number for the "response_compression" field.</summary>    public const int ResponseCompressionFieldNumber = 6;    private global::Grpc.Testing.CompressionType responseCompression_ = 0;    /// <summary>    ///  Compression algorithm to be used by the server for the response (stream)    /// </summary>    public global::Grpc.Testing.CompressionType ResponseCompression {      get { return responseCompression_; }      set {        responseCompression_ = value;      }    }    /// <summary>Field number for the "response_status" field.</summary>    public const int ResponseStatusFieldNumber = 7;    private global::Grpc.Testing.EchoStatus responseStatus_;    /// <summary>    ///  Whether server should return a given status    /// </summary>    public global::Grpc.Testing.EchoStatus ResponseStatus {      get { return responseStatus_; }      set {        responseStatus_ = value;      }    }    public override bool Equals(object other) {      return Equals(other as SimpleRequest);    }    public bool Equals(SimpleRequest other) {      if (ReferenceEquals(other, null)) {        return false;      }      if (ReferenceEquals(other, this)) {        return true;      }      if (ResponseType != other.ResponseType) return false;      if (ResponseSize != other.ResponseSize) return false;      if (!object.Equals(Payload, other.Payload)) return false;      if (FillUsername != other.FillUsername) return false;      if (FillOauthScope != other.FillOauthScope) return false;      if (ResponseCompression != other.ResponseCompression) return false;      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;      return true;    }    public override int GetHashCode() {      int hash = 1;      if (ResponseType != 0) hash ^= ResponseType.GetHashCode();      if (ResponseSize != 0) hash ^= ResponseSize.GetHashCode();      if (payload_ != null) hash ^= Payload.GetHashCode();      if (FillUsername != false) hash ^= FillUsername.GetHashCode();      if (FillOauthScope != false) hash ^= FillOauthScope.GetHashCode();      if (ResponseCompression != 0) hash ^= ResponseCompression.GetHashCode();      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();      return hash;    }    public override string ToString() {      return pb::JsonFormatter.ToDiagnosticString(this);    }    public void WriteTo(pb::CodedOutputStream output) {      if (ResponseType != 0) {        output.WriteRawTag(8);        output.WriteEnum((int) ResponseType);      }      if (ResponseSize != 0) {        output.WriteRawTag(16);        output.WriteInt32(ResponseSize);      }      if (payload_ != null) {        output.WriteRawTag(26);        output.WriteMessage(Payload);      }      if (FillUsername != false) {        output.WriteRawTag(32);        output.WriteBool(FillUsername);      }      if (FillOauthScope != false) {        output.WriteRawTag(40);        output.WriteBool(FillOauthScope);      }      if (ResponseCompression != 0) {        output.WriteRawTag(48);        output.WriteEnum((int) ResponseCompression);      }      if (responseStatus_ != null) {        output.WriteRawTag(58);        output.WriteMessage(ResponseStatus);      }    }    public int CalculateSize() {      int size = 0;      if (ResponseType != 0) {        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) ResponseType);      }      if (ResponseSize != 0) {        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ResponseSize);      }      if (payload_ != null) {        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Payload);      }      if (FillUsername != false) {        size += 1 + 1;      }      if (FillOauthScope != false) {        size += 1 + 1;      }      if (ResponseCompression != 0) {        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) ResponseCompression);      }      if (responseStatus_ != null) {        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);      }      return size;    }    public void MergeFrom(SimpleRequest other) {      if (other == null) {        return;      }      if (other.ResponseType != 0) {        ResponseType = other.ResponseType;      }      if (other.ResponseSize != 0) {        ResponseSize = other.ResponseSize;      }      if (other.payload_ != null) {        if (payload_ == null) {          payload_ = new global::Grpc.Testing.Payload();        }        Payload.MergeFrom(other.Payload);      }      if (other.FillUsername != false) {        FillUsername = other.FillUsername;      }      if (other.FillOauthScope != false) {        FillOauthScope = other.FillOauthScope;      }      if (other.ResponseCompression != 0) {        ResponseCompression = other.ResponseCompression;      }      if (other.responseStatus_ != null) {        if (responseStatus_ == null) {          responseStatus_ = new global::Grpc.Testing.EchoStatus();        }        ResponseStatus.MergeFrom(other.ResponseStatus);      }    }    public void MergeFrom(pb::CodedInputStream input) {      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            input.SkipLastField();            break;          case 8: {            responseType_ = (global::Grpc.Testing.PayloadType) input.ReadEnum();            break;          }          case 16: {            ResponseSize = input.ReadInt32();            break;          }          case 26: {            if (payload_ == null) {              payload_ = new global::Grpc.Testing.Payload();            }            input.ReadMessage(payload_);            break;          }          case 32: {            FillUsername = input.ReadBool();            break;          }          case 40: {            FillOauthScope = input.ReadBool();            break;          }          case 48: {            responseCompression_ = (global::Grpc.Testing.CompressionType) input.ReadEnum();            break;          }          case 58: {            if (responseStatus_ == null) {              responseStatus_ = new global::Grpc.Testing.EchoStatus();            }            input.ReadMessage(responseStatus_);            break;          }        }      }    }  }  /// <summary>  ///  Unary response, as configured by the request.  /// </summary>  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class SimpleResponse : pb::IMessage<SimpleResponse> {    private static readonly pb::MessageParser<SimpleResponse> _parser = new pb::MessageParser<SimpleResponse>(() => new SimpleResponse());    public static pb::MessageParser<SimpleResponse> Parser { get { return _parser; } }    public static pbr::MessageDescriptor Descriptor {      get { return global::Grpc.Testing.MessagesReflection.Descriptor.MessageTypes[3]; }    }    pbr::MessageDescriptor pb::IMessage.Descriptor {      get { return Descriptor; }    }    public SimpleResponse() {      OnConstruction();    }    partial void OnConstruction();    public SimpleResponse(SimpleResponse other) : this() {      Payload = other.payload_ != null ? other.Payload.Clone() : null;      username_ = other.username_;      oauthScope_ = other.oauthScope_;    }    public SimpleResponse Clone() {      return new SimpleResponse(this);    }    /// <summary>Field number for the "payload" field.</summary>    public const int PayloadFieldNumber = 1;    private global::Grpc.Testing.Payload payload_;    /// <summary>    ///  Payload to increase message size.    /// </summary>    public global::Grpc.Testing.Payload Payload {      get { return payload_; }      set {        payload_ = value;      }    }    /// <summary>Field number for the "username" field.</summary>    public const int UsernameFieldNumber = 2;    private string username_ = "";    /// <summary>    ///  The user the request came from, for verifying authentication was    ///  successful when the client expected it.    /// </summary>    public string Username {      get { return username_; }      set {        username_ = pb::ProtoPreconditions.CheckNotNull(value, "value");      }    }    /// <summary>Field number for the "oauth_scope" field.</summary>    public const int OauthScopeFieldNumber = 3;    private string oauthScope_ = "";    /// <summary>    ///  OAuth scope.    /// </summary>    public string OauthScope {      get { return oauthScope_; }      set {        oauthScope_ = pb::ProtoPreconditions.CheckNotNull(value, "value");      }    }    public override bool Equals(object other) {      return Equals(other as SimpleResponse);    }    public bool Equals(SimpleResponse other) {      if (ReferenceEquals(other, null)) {        return false;      }      if (ReferenceEquals(other, this)) {        return true;      }      if (!object.Equals(Payload, other.Payload)) return false;      if (Username != other.Username) return false;      if (OauthScope != other.OauthScope) return false;      return true;    }    public override int GetHashCode() {      int hash = 1;      if (payload_ != null) hash ^= Payload.GetHashCode();      if (Username.Length != 0) hash ^= Username.GetHashCode();      if (OauthScope.Length != 0) hash ^= OauthScope.GetHashCode();      return hash;    }    public override string ToString() {      return pb::JsonFormatter.ToDiagnosticString(this);    }    public void WriteTo(pb::CodedOutputStream output) {      if (payload_ != null) {        output.WriteRawTag(10);        output.WriteMessage(Payload);      }      if (Username.Length != 0) {        output.WriteRawTag(18);        output.WriteString(Username);      }      if (OauthScope.Length != 0) {        output.WriteRawTag(26);        output.WriteString(OauthScope);      }    }    public int CalculateSize() {      int size = 0;      if (payload_ != null) {        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Payload);      }      if (Username.Length != 0) {        size += 1 + pb::CodedOutputStream.ComputeStringSize(Username);      }      if (OauthScope.Length != 0) {        size += 1 + pb::CodedOutputStream.ComputeStringSize(OauthScope);      }      return size;    }    public void MergeFrom(SimpleResponse other) {      if (other == null) {        return;      }      if (other.payload_ != null) {        if (payload_ == null) {          payload_ = new global::Grpc.Testing.Payload();        }        Payload.MergeFrom(other.Payload);      }      if (other.Username.Length != 0) {        Username = other.Username;      }      if (other.OauthScope.Length != 0) {        OauthScope = other.OauthScope;      }    }    public void MergeFrom(pb::CodedInputStream input) {      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            input.SkipLastField();            break;          case 10: {            if (payload_ == null) {              payload_ = new global::Grpc.Testing.Payload();            }            input.ReadMessage(payload_);            break;          }          case 18: {            Username = input.ReadString();            break;          }          case 26: {            OauthScope = input.ReadString();            break;          }        }      }    }  }  /// <summary>  ///  Client-streaming request.  /// </summary>  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class StreamingInputCallRequest : pb::IMessage<StreamingInputCallRequest> {    private static readonly pb::MessageParser<StreamingInputCallRequest> _parser = new pb::MessageParser<StreamingInputCallRequest>(() => new StreamingInputCallRequest());    public static pb::MessageParser<StreamingInputCallRequest> Parser { get { return _parser; } }    public static pbr::MessageDescriptor Descriptor {      get { return global::Grpc.Testing.MessagesReflection.Descriptor.MessageTypes[4]; }    }    pbr::MessageDescriptor pb::IMessage.Descriptor {      get { return Descriptor; }    }    public StreamingInputCallRequest() {      OnConstruction();    }    partial void OnConstruction();    public StreamingInputCallRequest(StreamingInputCallRequest other) : this() {      Payload = other.payload_ != null ? other.Payload.Clone() : null;    }    public StreamingInputCallRequest Clone() {      return new StreamingInputCallRequest(this);    }    /// <summary>Field number for the "payload" field.</summary>    public const int PayloadFieldNumber = 1;    private global::Grpc.Testing.Payload payload_;    /// <summary>    ///  Optional input payload sent along with the request.    /// </summary>    public global::Grpc.Testing.Payload Payload {      get { return payload_; }      set {        payload_ = value;      }    }    public override bool Equals(object other) {      return Equals(other as StreamingInputCallRequest);    }    public bool Equals(StreamingInputCallRequest other) {      if (ReferenceEquals(other, null)) {        return false;      }      if (ReferenceEquals(other, this)) {        return true;      }      if (!object.Equals(Payload, other.Payload)) return false;      return true;    }    public override int GetHashCode() {      int hash = 1;      if (payload_ != null) hash ^= Payload.GetHashCode();      return hash;    }    public override string ToString() {      return pb::JsonFormatter.ToDiagnosticString(this);    }    public void WriteTo(pb::CodedOutputStream output) {      if (payload_ != null) {        output.WriteRawTag(10);        output.WriteMessage(Payload);      }    }    public int CalculateSize() {      int size = 0;      if (payload_ != null) {        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Payload);      }      return size;    }    public void MergeFrom(StreamingInputCallRequest other) {      if (other == null) {        return;      }      if (other.payload_ != null) {        if (payload_ == null) {          payload_ = new global::Grpc.Testing.Payload();        }        Payload.MergeFrom(other.Payload);      }    }    public void MergeFrom(pb::CodedInputStream input) {      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            input.SkipLastField();            break;          case 10: {            if (payload_ == null) {              payload_ = new global::Grpc.Testing.Payload();            }            input.ReadMessage(payload_);            break;          }        }      }    }  }  /// <summary>  ///  Client-streaming response.  /// </summary>  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class StreamingInputCallResponse : pb::IMessage<StreamingInputCallResponse> {    private static readonly pb::MessageParser<StreamingInputCallResponse> _parser = new pb::MessageParser<StreamingInputCallResponse>(() => new StreamingInputCallResponse());    public static pb::MessageParser<StreamingInputCallResponse> Parser { get { return _parser; } }    public static pbr::MessageDescriptor Descriptor {      get { return global::Grpc.Testing.MessagesReflection.Descriptor.MessageTypes[5]; }    }    pbr::MessageDescriptor pb::IMessage.Descriptor {      get { return Descriptor; }    }    public StreamingInputCallResponse() {      OnConstruction();    }    partial void OnConstruction();    public StreamingInputCallResponse(StreamingInputCallResponse other) : this() {      aggregatedPayloadSize_ = other.aggregatedPayloadSize_;    }    public StreamingInputCallResponse Clone() {      return new StreamingInputCallResponse(this);    }    /// <summary>Field number for the "aggregated_payload_size" field.</summary>    public const int AggregatedPayloadSizeFieldNumber = 1;    private int aggregatedPayloadSize_;    /// <summary>    ///  Aggregated size of payloads received from the client.    /// </summary>    public int AggregatedPayloadSize {      get { return aggregatedPayloadSize_; }      set {        aggregatedPayloadSize_ = value;      }    }    public override bool Equals(object other) {      return Equals(other as StreamingInputCallResponse);    }    public bool Equals(StreamingInputCallResponse other) {      if (ReferenceEquals(other, null)) {        return false;      }      if (ReferenceEquals(other, this)) {        return true;      }      if (AggregatedPayloadSize != other.AggregatedPayloadSize) return false;      return true;    }    public override int GetHashCode() {      int hash = 1;      if (AggregatedPayloadSize != 0) hash ^= AggregatedPayloadSize.GetHashCode();      return hash;    }    public override string ToString() {      return pb::JsonFormatter.ToDiagnosticString(this);    }    public void WriteTo(pb::CodedOutputStream output) {      if (AggregatedPayloadSize != 0) {        output.WriteRawTag(8);        output.WriteInt32(AggregatedPayloadSize);      }    }    public int CalculateSize() {      int size = 0;      if (AggregatedPayloadSize != 0) {        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AggregatedPayloadSize);      }      return size;    }    public void MergeFrom(StreamingInputCallResponse other) {      if (other == null) {        return;      }      if (other.AggregatedPayloadSize != 0) {        AggregatedPayloadSize = other.AggregatedPayloadSize;      }    }    public void MergeFrom(pb::CodedInputStream input) {      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            input.SkipLastField();            break;          case 8: {            AggregatedPayloadSize = input.ReadInt32();            break;          }        }      }    }  }  /// <summary>  ///  Configuration for a particular response.  /// </summary>  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class ResponseParameters : pb::IMessage<ResponseParameters> {    private static readonly pb::MessageParser<ResponseParameters> _parser = new pb::MessageParser<ResponseParameters>(() => new ResponseParameters());    public static pb::MessageParser<ResponseParameters> Parser { get { return _parser; } }    public static pbr::MessageDescriptor Descriptor {      get { return global::Grpc.Testing.MessagesReflection.Descriptor.MessageTypes[6]; }    }    pbr::MessageDescriptor pb::IMessage.Descriptor {      get { return Descriptor; }    }    public ResponseParameters() {      OnConstruction();    }    partial void OnConstruction();    public ResponseParameters(ResponseParameters other) : this() {      size_ = other.size_;      intervalUs_ = other.intervalUs_;    }    public ResponseParameters Clone() {      return new ResponseParameters(this);    }    /// <summary>Field number for the "size" field.</summary>    public const int SizeFieldNumber = 1;    private int size_;    /// <summary>    ///  Desired payload sizes in responses from the server.    ///  If response_type is COMPRESSABLE, this denotes the size before compression.    /// </summary>    public int Size {      get { return size_; }      set {        size_ = value;      }    }    /// <summary>Field number for the "interval_us" field.</summary>    public const int IntervalUsFieldNumber = 2;    private int intervalUs_;    /// <summary>    ///  Desired interval between consecutive responses in the response stream in    ///  microseconds.    /// </summary>    public int IntervalUs {      get { return intervalUs_; }      set {        intervalUs_ = value;      }    }    public override bool Equals(object other) {      return Equals(other as ResponseParameters);    }    public bool Equals(ResponseParameters other) {      if (ReferenceEquals(other, null)) {        return false;      }      if (ReferenceEquals(other, this)) {        return true;      }      if (Size != other.Size) return false;      if (IntervalUs != other.IntervalUs) return false;      return true;    }    public override int GetHashCode() {      int hash = 1;      if (Size != 0) hash ^= Size.GetHashCode();      if (IntervalUs != 0) hash ^= IntervalUs.GetHashCode();      return hash;    }    public override string ToString() {      return pb::JsonFormatter.ToDiagnosticString(this);    }    public void WriteTo(pb::CodedOutputStream output) {      if (Size != 0) {        output.WriteRawTag(8);        output.WriteInt32(Size);      }      if (IntervalUs != 0) {        output.WriteRawTag(16);        output.WriteInt32(IntervalUs);      }    }    public int CalculateSize() {      int size = 0;      if (Size != 0) {        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Size);      }      if (IntervalUs != 0) {        size += 1 + pb::CodedOutputStream.ComputeInt32Size(IntervalUs);      }      return size;    }    public void MergeFrom(ResponseParameters other) {      if (other == null) {        return;      }      if (other.Size != 0) {        Size = other.Size;      }      if (other.IntervalUs != 0) {        IntervalUs = other.IntervalUs;      }    }    public void MergeFrom(pb::CodedInputStream input) {      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            input.SkipLastField();            break;          case 8: {            Size = input.ReadInt32();            break;          }          case 16: {            IntervalUs = input.ReadInt32();            break;          }        }      }    }  }  /// <summary>  ///  Server-streaming request.  /// </summary>  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class StreamingOutputCallRequest : pb::IMessage<StreamingOutputCallRequest> {    private static readonly pb::MessageParser<StreamingOutputCallRequest> _parser = new pb::MessageParser<StreamingOutputCallRequest>(() => new StreamingOutputCallRequest());    public static pb::MessageParser<StreamingOutputCallRequest> Parser { get { return _parser; } }    public static pbr::MessageDescriptor Descriptor {      get { return global::Grpc.Testing.MessagesReflection.Descriptor.MessageTypes[7]; }    }    pbr::MessageDescriptor pb::IMessage.Descriptor {      get { return Descriptor; }    }    public StreamingOutputCallRequest() {      OnConstruction();    }    partial void OnConstruction();    public StreamingOutputCallRequest(StreamingOutputCallRequest other) : this() {      responseType_ = other.responseType_;      responseParameters_ = other.responseParameters_.Clone();      Payload = other.payload_ != null ? other.Payload.Clone() : null;      responseCompression_ = other.responseCompression_;      ResponseStatus = other.responseStatus_ != null ? other.ResponseStatus.Clone() : null;    }    public StreamingOutputCallRequest Clone() {      return new StreamingOutputCallRequest(this);    }    /// <summary>Field number for the "response_type" field.</summary>    public const int ResponseTypeFieldNumber = 1;    private global::Grpc.Testing.PayloadType responseType_ = 0;    /// <summary>    ///  Desired payload type in the response from the server.    ///  If response_type is RANDOM, the payload from each response in the stream    ///  might be of different types. This is to simulate a mixed type of payload    ///  stream.    /// </summary>    public global::Grpc.Testing.PayloadType ResponseType {      get { return responseType_; }      set {        responseType_ = value;      }    }    /// <summary>Field number for the "response_parameters" field.</summary>    public const int ResponseParametersFieldNumber = 2;    private static readonly pb::FieldCodec<global::Grpc.Testing.ResponseParameters> _repeated_responseParameters_codec        = pb::FieldCodec.ForMessage(18, global::Grpc.Testing.ResponseParameters.Parser);    private readonly pbc::RepeatedField<global::Grpc.Testing.ResponseParameters> responseParameters_ = new pbc::RepeatedField<global::Grpc.Testing.ResponseParameters>();    /// <summary>    ///  Configuration for each expected response message.    /// </summary>    public pbc::RepeatedField<global::Grpc.Testing.ResponseParameters> ResponseParameters {      get { return responseParameters_; }    }    /// <summary>Field number for the "payload" field.</summary>    public const int PayloadFieldNumber = 3;    private global::Grpc.Testing.Payload payload_;    /// <summary>    ///  Optional input payload sent along with the request.    /// </summary>    public global::Grpc.Testing.Payload Payload {      get { return payload_; }      set {        payload_ = value;      }    }    /// <summary>Field number for the "response_compression" field.</summary>    public const int ResponseCompressionFieldNumber = 6;    private global::Grpc.Testing.CompressionType responseCompression_ = 0;    /// <summary>    ///  Compression algorithm to be used by the server for the response (stream)    /// </summary>    public global::Grpc.Testing.CompressionType ResponseCompression {      get { return responseCompression_; }      set {        responseCompression_ = value;      }    }    /// <summary>Field number for the "response_status" field.</summary>    public const int ResponseStatusFieldNumber = 7;    private global::Grpc.Testing.EchoStatus responseStatus_;    /// <summary>    ///  Whether server should return a given status    /// </summary>    public global::Grpc.Testing.EchoStatus ResponseStatus {      get { return responseStatus_; }      set {        responseStatus_ = value;      }    }    public override bool Equals(object other) {      return Equals(other as StreamingOutputCallRequest);    }    public bool Equals(StreamingOutputCallRequest other) {      if (ReferenceEquals(other, null)) {        return false;      }      if (ReferenceEquals(other, this)) {        return true;      }      if (ResponseType != other.ResponseType) return false;      if(!responseParameters_.Equals(other.responseParameters_)) return false;      if (!object.Equals(Payload, other.Payload)) return false;      if (ResponseCompression != other.ResponseCompression) return false;      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;      return true;    }    public override int GetHashCode() {      int hash = 1;      if (ResponseType != 0) hash ^= ResponseType.GetHashCode();      hash ^= responseParameters_.GetHashCode();      if (payload_ != null) hash ^= Payload.GetHashCode();      if (ResponseCompression != 0) hash ^= ResponseCompression.GetHashCode();      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();      return hash;    }    public override string ToString() {      return pb::JsonFormatter.ToDiagnosticString(this);    }    public void WriteTo(pb::CodedOutputStream output) {      if (ResponseType != 0) {        output.WriteRawTag(8);        output.WriteEnum((int) ResponseType);      }      responseParameters_.WriteTo(output, _repeated_responseParameters_codec);      if (payload_ != null) {        output.WriteRawTag(26);        output.WriteMessage(Payload);      }      if (ResponseCompression != 0) {        output.WriteRawTag(48);        output.WriteEnum((int) ResponseCompression);      }      if (responseStatus_ != null) {        output.WriteRawTag(58);        output.WriteMessage(ResponseStatus);      }    }    public int CalculateSize() {      int size = 0;      if (ResponseType != 0) {        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) ResponseType);      }      size += responseParameters_.CalculateSize(_repeated_responseParameters_codec);      if (payload_ != null) {        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Payload);      }      if (ResponseCompression != 0) {        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) ResponseCompression);      }      if (responseStatus_ != null) {        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);      }      return size;    }    public void MergeFrom(StreamingOutputCallRequest other) {      if (other == null) {        return;      }      if (other.ResponseType != 0) {        ResponseType = other.ResponseType;      }      responseParameters_.Add(other.responseParameters_);      if (other.payload_ != null) {        if (payload_ == null) {          payload_ = new global::Grpc.Testing.Payload();        }        Payload.MergeFrom(other.Payload);      }      if (other.ResponseCompression != 0) {        ResponseCompression = other.ResponseCompression;      }      if (other.responseStatus_ != null) {        if (responseStatus_ == null) {          responseStatus_ = new global::Grpc.Testing.EchoStatus();        }        ResponseStatus.MergeFrom(other.ResponseStatus);      }    }    public void MergeFrom(pb::CodedInputStream input) {      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            input.SkipLastField();            break;          case 8: {            responseType_ = (global::Grpc.Testing.PayloadType) input.ReadEnum();            break;          }          case 18: {            responseParameters_.AddEntriesFrom(input, _repeated_responseParameters_codec);            break;          }          case 26: {            if (payload_ == null) {              payload_ = new global::Grpc.Testing.Payload();            }            input.ReadMessage(payload_);            break;          }          case 48: {            responseCompression_ = (global::Grpc.Testing.CompressionType) input.ReadEnum();            break;          }          case 58: {            if (responseStatus_ == null) {              responseStatus_ = new global::Grpc.Testing.EchoStatus();            }            input.ReadMessage(responseStatus_);            break;          }        }      }    }  }  /// <summary>  ///  Server-streaming response, as configured by the request and parameters.  /// </summary>  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class StreamingOutputCallResponse : pb::IMessage<StreamingOutputCallResponse> {    private static readonly pb::MessageParser<StreamingOutputCallResponse> _parser = new pb::MessageParser<StreamingOutputCallResponse>(() => new StreamingOutputCallResponse());    public static pb::MessageParser<StreamingOutputCallResponse> Parser { get { return _parser; } }    public static pbr::MessageDescriptor Descriptor {      get { return global::Grpc.Testing.MessagesReflection.Descriptor.MessageTypes[8]; }    }    pbr::MessageDescriptor pb::IMessage.Descriptor {      get { return Descriptor; }    }    public StreamingOutputCallResponse() {      OnConstruction();    }    partial void OnConstruction();    public StreamingOutputCallResponse(StreamingOutputCallResponse other) : this() {      Payload = other.payload_ != null ? other.Payload.Clone() : null;    }    public StreamingOutputCallResponse Clone() {      return new StreamingOutputCallResponse(this);    }    /// <summary>Field number for the "payload" field.</summary>    public const int PayloadFieldNumber = 1;    private global::Grpc.Testing.Payload payload_;    /// <summary>    ///  Payload to increase response size.    /// </summary>    public global::Grpc.Testing.Payload Payload {      get { return payload_; }      set {        payload_ = value;      }    }    public override bool Equals(object other) {      return Equals(other as StreamingOutputCallResponse);    }    public bool Equals(StreamingOutputCallResponse other) {      if (ReferenceEquals(other, null)) {        return false;      }      if (ReferenceEquals(other, this)) {        return true;      }      if (!object.Equals(Payload, other.Payload)) return false;      return true;    }    public override int GetHashCode() {      int hash = 1;      if (payload_ != null) hash ^= Payload.GetHashCode();      return hash;    }    public override string ToString() {      return pb::JsonFormatter.ToDiagnosticString(this);    }    public void WriteTo(pb::CodedOutputStream output) {      if (payload_ != null) {        output.WriteRawTag(10);        output.WriteMessage(Payload);      }    }    public int CalculateSize() {      int size = 0;      if (payload_ != null) {        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Payload);      }      return size;    }    public void MergeFrom(StreamingOutputCallResponse other) {      if (other == null) {        return;      }      if (other.payload_ != null) {        if (payload_ == null) {          payload_ = new global::Grpc.Testing.Payload();        }        Payload.MergeFrom(other.Payload);      }    }    public void MergeFrom(pb::CodedInputStream input) {      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            input.SkipLastField();            break;          case 10: {            if (payload_ == null) {              payload_ = new global::Grpc.Testing.Payload();            }            input.ReadMessage(payload_);            break;          }        }      }    }  }  /// <summary>  ///  For reconnect interop test only.  ///  Client tells server what reconnection parameters it used.  /// </summary>  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class ReconnectParams : pb::IMessage<ReconnectParams> {    private static readonly pb::MessageParser<ReconnectParams> _parser = new pb::MessageParser<ReconnectParams>(() => new ReconnectParams());    public static pb::MessageParser<ReconnectParams> Parser { get { return _parser; } }    public static pbr::MessageDescriptor Descriptor {      get { return global::Grpc.Testing.MessagesReflection.Descriptor.MessageTypes[9]; }    }    pbr::MessageDescriptor pb::IMessage.Descriptor {      get { return Descriptor; }    }    public ReconnectParams() {      OnConstruction();    }    partial void OnConstruction();    public ReconnectParams(ReconnectParams other) : this() {      maxReconnectBackoffMs_ = other.maxReconnectBackoffMs_;    }    public ReconnectParams Clone() {      return new ReconnectParams(this);    }    /// <summary>Field number for the "max_reconnect_backoff_ms" field.</summary>    public const int MaxReconnectBackoffMsFieldNumber = 1;    private int maxReconnectBackoffMs_;    public int MaxReconnectBackoffMs {      get { return maxReconnectBackoffMs_; }      set {        maxReconnectBackoffMs_ = value;      }    }    public override bool Equals(object other) {      return Equals(other as ReconnectParams);    }    public bool Equals(ReconnectParams other) {      if (ReferenceEquals(other, null)) {        return false;      }      if (ReferenceEquals(other, this)) {        return true;      }      if (MaxReconnectBackoffMs != other.MaxReconnectBackoffMs) return false;      return true;    }    public override int GetHashCode() {      int hash = 1;      if (MaxReconnectBackoffMs != 0) hash ^= MaxReconnectBackoffMs.GetHashCode();      return hash;    }    public override string ToString() {      return pb::JsonFormatter.ToDiagnosticString(this);    }    public void WriteTo(pb::CodedOutputStream output) {      if (MaxReconnectBackoffMs != 0) {        output.WriteRawTag(8);        output.WriteInt32(MaxReconnectBackoffMs);      }    }    public int CalculateSize() {      int size = 0;      if (MaxReconnectBackoffMs != 0) {        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxReconnectBackoffMs);      }      return size;    }    public void MergeFrom(ReconnectParams other) {      if (other == null) {        return;      }      if (other.MaxReconnectBackoffMs != 0) {        MaxReconnectBackoffMs = other.MaxReconnectBackoffMs;      }    }    public void MergeFrom(pb::CodedInputStream input) {      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            input.SkipLastField();            break;          case 8: {            MaxReconnectBackoffMs = input.ReadInt32();            break;          }        }      }    }  }  /// <summary>  ///  For reconnect interop test only.  ///  Server tells client whether its reconnects are following the spec and the  ///  reconnect backoffs it saw.  /// </summary>  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class ReconnectInfo : pb::IMessage<ReconnectInfo> {    private static readonly pb::MessageParser<ReconnectInfo> _parser = new pb::MessageParser<ReconnectInfo>(() => new ReconnectInfo());    public static pb::MessageParser<ReconnectInfo> Parser { get { return _parser; } }    public static pbr::MessageDescriptor Descriptor {      get { return global::Grpc.Testing.MessagesReflection.Descriptor.MessageTypes[10]; }    }    pbr::MessageDescriptor pb::IMessage.Descriptor {      get { return Descriptor; }    }    public ReconnectInfo() {      OnConstruction();    }    partial void OnConstruction();    public ReconnectInfo(ReconnectInfo other) : this() {      passed_ = other.passed_;      backoffMs_ = other.backoffMs_.Clone();    }    public ReconnectInfo Clone() {      return new ReconnectInfo(this);    }    /// <summary>Field number for the "passed" field.</summary>    public const int PassedFieldNumber = 1;    private bool passed_;    public bool Passed {      get { return passed_; }      set {        passed_ = value;      }    }    /// <summary>Field number for the "backoff_ms" field.</summary>    public const int BackoffMsFieldNumber = 2;    private static readonly pb::FieldCodec<int> _repeated_backoffMs_codec        = pb::FieldCodec.ForInt32(18);    private readonly pbc::RepeatedField<int> backoffMs_ = new pbc::RepeatedField<int>();    public pbc::RepeatedField<int> BackoffMs {      get { return backoffMs_; }    }    public override bool Equals(object other) {      return Equals(other as ReconnectInfo);    }    public bool Equals(ReconnectInfo other) {      if (ReferenceEquals(other, null)) {        return false;      }      if (ReferenceEquals(other, this)) {        return true;      }      if (Passed != other.Passed) return false;      if(!backoffMs_.Equals(other.backoffMs_)) return false;      return true;    }    public override int GetHashCode() {      int hash = 1;      if (Passed != false) hash ^= Passed.GetHashCode();      hash ^= backoffMs_.GetHashCode();      return hash;    }    public override string ToString() {      return pb::JsonFormatter.ToDiagnosticString(this);    }    public void WriteTo(pb::CodedOutputStream output) {      if (Passed != false) {        output.WriteRawTag(8);        output.WriteBool(Passed);      }      backoffMs_.WriteTo(output, _repeated_backoffMs_codec);    }    public int CalculateSize() {      int size = 0;      if (Passed != false) {        size += 1 + 1;      }      size += backoffMs_.CalculateSize(_repeated_backoffMs_codec);      return size;    }    public void MergeFrom(ReconnectInfo other) {      if (other == null) {        return;      }      if (other.Passed != false) {        Passed = other.Passed;      }      backoffMs_.Add(other.backoffMs_);    }    public void MergeFrom(pb::CodedInputStream input) {      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            input.SkipLastField();            break;          case 8: {            Passed = input.ReadBool();            break;          }          case 18:          case 16: {            backoffMs_.AddEntriesFrom(input, _repeated_backoffMs_codec);            break;          }        }      }    }  }  #endregion}#endregion Designer generated code
 |