rpc.pb.go 125 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314
  1. // Code generated by protoc-gen-gogo. DO NOT EDIT.
  2. // source: rpcpb/rpc.proto
  3. /*
  4. Package rpcpb is a generated protocol buffer package.
  5. It is generated from these files:
  6. rpcpb/rpc.proto
  7. It has these top-level messages:
  8. Etcd
  9. Member
  10. Tester
  11. Request
  12. Response
  13. */
  14. package rpcpb
  15. import proto "github.com/golang/protobuf/proto"
  16. import fmt "fmt"
  17. import math "math"
  18. import _ "github.com/gogo/protobuf/gogoproto"
  19. import context "golang.org/x/net/context"
  20. import grpc "google.golang.org/grpc"
  21. import io "io"
  22. // Reference imports to suppress errors if they are not otherwise used.
  23. var _ = proto.Marshal
  24. var _ = fmt.Errorf
  25. var _ = math.Inf
  26. // This is a compile-time assertion to ensure that this generated file
  27. // is compatible with the proto package it is being compiled against.
  28. // A compilation error at this line likely means your copy of the
  29. // proto package needs to be updated.
  30. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  31. type Operation int32
  32. const (
  33. Operation_NotStarted Operation = 0
  34. // InitialStartEtcd is only called to start etcd very first time.
  35. Operation_InitialStartEtcd Operation = 1
  36. // RestartEtcd is sent to restart killed etcd.
  37. Operation_RestartEtcd Operation = 2
  38. // KillEtcd pauses etcd process while keeping data directories
  39. // and previous etcd configurations.
  40. Operation_KillEtcd Operation = 3
  41. // FailArchive is sent when consistency check failed,
  42. // thus need to archive etcd data directories.
  43. Operation_FailArchive Operation = 4
  44. // DestroyEtcdAgent destroys etcd process, etcd data, and agent server.
  45. Operation_DestroyEtcdAgent Operation = 5
  46. // BlackholePeerPortTxRx drops all outgoing/incoming packets from/to the
  47. // peer port on target member's peer port.
  48. Operation_BlackholePeerPortTxRx Operation = 100
  49. // UnblackholePeerPortTxRx removes outgoing/incoming packet dropping.
  50. Operation_UnblackholePeerPortTxRx Operation = 101
  51. // DelayPeerPortTxRx delays all outgoing/incoming packets from/to the
  52. // peer port on target member's peer port.
  53. Operation_DelayPeerPortTxRx Operation = 102
  54. // UndelayPeerPortTxRx removes all outgoing/incoming delays.
  55. Operation_UndelayPeerPortTxRx Operation = 103
  56. )
  57. var Operation_name = map[int32]string{
  58. 0: "NotStarted",
  59. 1: "InitialStartEtcd",
  60. 2: "RestartEtcd",
  61. 3: "KillEtcd",
  62. 4: "FailArchive",
  63. 5: "DestroyEtcdAgent",
  64. 100: "BlackholePeerPortTxRx",
  65. 101: "UnblackholePeerPortTxRx",
  66. 102: "DelayPeerPortTxRx",
  67. 103: "UndelayPeerPortTxRx",
  68. }
  69. var Operation_value = map[string]int32{
  70. "NotStarted": 0,
  71. "InitialStartEtcd": 1,
  72. "RestartEtcd": 2,
  73. "KillEtcd": 3,
  74. "FailArchive": 4,
  75. "DestroyEtcdAgent": 5,
  76. "BlackholePeerPortTxRx": 100,
  77. "UnblackholePeerPortTxRx": 101,
  78. "DelayPeerPortTxRx": 102,
  79. "UndelayPeerPortTxRx": 103,
  80. }
  81. func (x Operation) String() string {
  82. return proto.EnumName(Operation_name, int32(x))
  83. }
  84. func (Operation) EnumDescriptor() ([]byte, []int) { return fileDescriptorRpc, []int{0} }
  85. // FailureCase defines various system faults in distributed systems,
  86. // in order to verify correct behavior of etcd servers and clients.
  87. type FailureCase int32
  88. const (
  89. // KILL_ONE_FOLLOWER stops a randomly chosen follower (non-leader)
  90. // but does not delete its data directories on disk for next restart.
  91. // It waits "failure-delay-ms" before recovering this failure.
  92. // The expected behavior is that the follower comes back online
  93. // and rejoins the cluster, and then each member continues to process
  94. // client requests ('Put' request that requires Raft consensus).
  95. FailureCase_KILL_ONE_FOLLOWER FailureCase = 0
  96. // KILL_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT stops a randomly chosen
  97. // follower but does not delete its data directories on disk for next
  98. // restart. And waits until most up-to-date node (leader) applies the
  99. // snapshot count of entries since the stop operation.
  100. // The expected behavior is that the follower comes back online and
  101. // rejoins the cluster, and then active leader sends snapshot
  102. // to the follower to force it to follow the leader's log.
  103. // As always, after recovery, each member must be able to process
  104. // client requests.
  105. FailureCase_KILL_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT FailureCase = 1
  106. // KILL_LEADER stops the active leader node but does not delete its
  107. // data directories on disk for next restart. Then it waits
  108. // "failure-delay-ms" before recovering this failure, in order to
  109. // trigger election timeouts.
  110. // The expected behavior is that a new leader gets elected, and the
  111. // old leader comes back online and rejoins the cluster as a follower.
  112. // As always, after recovery, each member must be able to process
  113. // client requests.
  114. FailureCase_KILL_LEADER FailureCase = 2
  115. // KILL_LEADER_UNTIL_TRIGGER_SNAPSHOT stops the active leader node
  116. // but does not delete its data directories on disk for next restart.
  117. // And waits until most up-to-date node ("new" leader) applies the
  118. // snapshot count of entries since the stop operation.
  119. // The expected behavior is that cluster elects a new leader, and the
  120. // old leader comes back online and rejoins the cluster as a follower.
  121. // And it receives the snapshot from the new leader to overwrite its
  122. // store. As always, after recovery, each member must be able to
  123. // process client requests.
  124. FailureCase_KILL_LEADER_UNTIL_TRIGGER_SNAPSHOT FailureCase = 3
  125. // KILL_QUORUM stops majority number of nodes to make the whole cluster
  126. // inoperable but does not delete data directories on stopped nodes
  127. // for next restart. And it waits "failure-delay-ms" before recovering
  128. // this failure.
  129. // The expected behavior is that nodes come back online, thus cluster
  130. // comes back operative as well. As always, after recovery, each member
  131. // must be able to process client requests.
  132. FailureCase_KILL_QUORUM FailureCase = 4
  133. // KILL_ALL stops the whole cluster but does not delete data directories
  134. // on disk for next restart. And it waits "failure-delay-ms" before
  135. // recovering this failure.
  136. // The expected behavior is that nodes come back online, thus cluster
  137. // comes back operative as well. As always, after recovery, each member
  138. // must be able to process client requests.
  139. FailureCase_KILL_ALL FailureCase = 5
  140. // BLACKHOLE_PEER_PORT_TX_RX_ONE_FOLLOWER drops all outgoing/incoming
  141. // packets from/to the peer port on a randomly chosen follower
  142. // (non-leader), and waits for "failure-delay-ms" until recovery.
  143. // The expected behavior is that once dropping operation is undone,
  144. // each member must be able to process client requests.
  145. FailureCase_BLACKHOLE_PEER_PORT_TX_RX_ONE_FOLLOWER FailureCase = 100
  146. // BLACKHOLE_PEER_PORT_TX_RX_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT drops
  147. // all outgoing/incoming packets from/to the peer port on a randomly
  148. // chosen follower (non-leader), and waits for most up-to-date node
  149. // (leader) applies the snapshot count of entries since the blackhole
  150. // operation.
  151. // The expected behavior is that once packet drop operation is undone,
  152. // the slow follower tries to catch up, possibly receiving the snapshot
  153. // from the active leader. As always, after recovery, each member must
  154. // be able to process client requests.
  155. FailureCase_BLACKHOLE_PEER_PORT_TX_RX_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT FailureCase = 101
  156. // BLACKHOLE_PEER_PORT_TX_RX_LEADER drops all outgoing/incoming packets
  157. // from/to the peer port on the active leader (isolated), and waits for
  158. // "failure-delay-ms" until recovery, in order to trigger election timeout.
  159. // The expected behavior is that after election timeout, a new leader gets
  160. // elected, and once dropping operation is undone, the old leader comes
  161. // back and rejoins the cluster as a follower. As always, after recovery,
  162. // each member must be able to process client requests.
  163. FailureCase_BLACKHOLE_PEER_PORT_TX_RX_LEADER FailureCase = 102
  164. // BLACKHOLE_PEER_PORT_TX_RX_LEADER_UNTIL_TRIGGER_SNAPSHOT drops all
  165. // outgoing/incoming packets from/to the peer port on the active leader,
  166. // and waits for most up-to-date node (leader) applies the snapshot
  167. // count of entries since the blackhole operation.
  168. // The expected behavior is that cluster elects a new leader, and once
  169. // dropping operation is undone, the old leader comes back and rejoins
  170. // the cluster as a follower. The slow follower tries to catch up, likely
  171. // receiving the snapshot from the new active leader. As always, after
  172. // recovery, each member must be able to process client requests.
  173. FailureCase_BLACKHOLE_PEER_PORT_TX_RX_LEADER_UNTIL_TRIGGER_SNAPSHOT FailureCase = 103
  174. // BLACKHOLE_PEER_PORT_TX_RX_QUORUM drops all outgoing/incoming packets
  175. // from/to the peer ports on majority nodes of cluster, thus losing its
  176. // leader and cluster being inoperable. And it waits for "failure-delay-ms"
  177. // until recovery.
  178. // The expected behavior is that once packet drop operation is undone,
  179. // nodes come back online, thus cluster comes back operative. As always,
  180. // after recovery, each member must be able to process client requests.
  181. FailureCase_BLACKHOLE_PEER_PORT_TX_RX_QUORUM FailureCase = 104
  182. // BLACKHOLE_PEER_PORT_TX_RX_ALL drops all outgoing/incoming packets
  183. // from/to the peer ports on all nodes, thus making cluster totally
  184. // inoperable. It waits for "failure-delay-ms" until recovery.
  185. // The expected behavior is that once packet drop operation is undone,
  186. // nodes come back online, thus cluster comes back operative. As always,
  187. // after recovery, each member must be able to process client requests.
  188. FailureCase_BLACKHOLE_PEER_PORT_TX_RX_ALL FailureCase = 105
  189. // DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER delays outgoing/incoming packets
  190. // from/to the peer port on a randomly chosen follower (non-leader).
  191. // It waits for "failure-delay-ms" until recovery.
  192. // The expected behavior is that once packet delay operation is undone,
  193. // the follower comes back and tries to catch up with latest changes from
  194. // cluster. And as always, after recovery, each member must be able to
  195. // process client requests.
  196. FailureCase_DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER FailureCase = 200
  197. // RANDOM_DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER delays outgoing/incoming
  198. // packets from/to the peer port on a randomly chosen follower
  199. // (non-leader) with a randomized time duration (thus isolated). It waits
  200. // for "failure-delay-ms" until recovery.
  201. // The expected behavior is that once packet delay operation is undone,
  202. // each member must be able to process client requests.
  203. FailureCase_RANDOM_DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER FailureCase = 201
  204. // DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT delays
  205. // outgoing/incoming packets from/to the peer port on a randomly chosen
  206. // follower (non-leader), and waits for most up-to-date node (leader)
  207. // applies the snapshot count of entries since the delay operation.
  208. // The expected behavior is that the delayed follower gets isolated
  209. // and behind the current active leader, and once delay operation is undone,
  210. // the slow follower comes back and catches up possibly receiving snapshot
  211. // from the active leader. As always, after recovery, each member must be
  212. // able to process client requests.
  213. FailureCase_DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT FailureCase = 202
  214. // RANDOM_DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT delays
  215. // outgoing/incoming packets from/to the peer port on a randomly chosen
  216. // follower (non-leader) with a randomized time duration, and waits for
  217. // most up-to-date node (leader) applies the snapshot count of entries
  218. // since the delay operation.
  219. // The expected behavior is that the delayed follower gets isolated
  220. // and behind the current active leader, and once delay operation is undone,
  221. // the slow follower comes back and catches up, possibly receiving a
  222. // snapshot from the active leader. As always, after recovery, each member
  223. // must be able to process client requests.
  224. FailureCase_RANDOM_DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT FailureCase = 203
  225. // DELAY_PEER_PORT_TX_RX_LEADER delays outgoing/incoming packets from/to
  226. // the peer port on the active leader. And waits for "failure-delay-ms"
  227. // until recovery.
  228. // The expected behavior is that cluster may elect a new leader, and
  229. // once packet delay operation is undone, the (old) leader comes back
  230. // and tries to catch up with latest changes from cluster. As always,
  231. // after recovery, each member must be able to process client requests.
  232. FailureCase_DELAY_PEER_PORT_TX_RX_LEADER FailureCase = 204
  233. // RANDOM_DELAY_PEER_PORT_TX_RX_LEADER delays outgoing/incoming packets
  234. // from/to the peer port on the active leader with a randomized time
  235. // duration. And waits for "failure-delay-ms" until recovery.
  236. // The expected behavior is that cluster may elect a new leader, and
  237. // once packet delay operation is undone, the (old) leader comes back
  238. // and tries to catch up with latest changes from cluster. As always,
  239. // after recovery, each member must be able to process client requests.
  240. FailureCase_RANDOM_DELAY_PEER_PORT_TX_RX_LEADER FailureCase = 205
  241. // DELAY_PEER_PORT_TX_RX_LEADER_UNTIL_TRIGGER_SNAPSHOT delays
  242. // outgoing/incoming packets from/to the peer port on the active leader,
  243. // and waits for most up-to-date node (current or new leader) applies the
  244. // snapshot count of entries since the delay operation.
  245. // The expected behavior is that cluster may elect a new leader, and
  246. // the old leader gets isolated and behind the current active leader,
  247. // and once delay operation is undone, the slow follower comes back
  248. // and catches up, likely receiving a snapshot from the active leader.
  249. // As always, after recovery, each member must be able to process client
  250. // requests.
  251. FailureCase_DELAY_PEER_PORT_TX_RX_LEADER_UNTIL_TRIGGER_SNAPSHOT FailureCase = 206
  252. // RANDOM_DELAY_PEER_PORT_TX_RX_LEADER_UNTIL_TRIGGER_SNAPSHOT delays
  253. // outgoing/incoming packets from/to the peer port on the active leader,
  254. // with a randomized time duration. And it waits for most up-to-date node
  255. // (current or new leader) applies the snapshot count of entries since the
  256. // delay operation.
  257. // The expected behavior is that cluster may elect a new leader, and
  258. // the old leader gets isolated and behind the current active leader,
  259. // and once delay operation is undone, the slow follower comes back
  260. // and catches up, likely receiving a snapshot from the active leader.
  261. // As always, after recovery, each member must be able to process client
  262. // requests.
  263. FailureCase_RANDOM_DELAY_PEER_PORT_TX_RX_LEADER_UNTIL_TRIGGER_SNAPSHOT FailureCase = 207
  264. // DELAY_PEER_PORT_TX_RX_QUORUM delays outgoing/incoming packets from/to
  265. // the peer ports on majority nodes of cluster. And it waits for
  266. // "failure-delay-ms" until recovery, likely to trigger election timeouts.
  267. // The expected behavior is that cluster may elect a new leader, while
  268. // quorum of nodes struggle with slow networks, and once delay operation
  269. // is undone, nodes come back and cluster comes back operative. As always,
  270. // after recovery, each member must be able to process client requests.
  271. FailureCase_DELAY_PEER_PORT_TX_RX_QUORUM FailureCase = 208
  272. // RANDOM_DELAY_PEER_PORT_TX_RX_QUORUM delays outgoing/incoming packets
  273. // from/to the peer ports on majority nodes of cluster, with randomized
  274. // time durations. And it waits for "failure-delay-ms" until recovery,
  275. // likely to trigger election timeouts.
  276. // The expected behavior is that cluster may elect a new leader, while
  277. // quorum of nodes struggle with slow networks, and once delay operation
  278. // is undone, nodes come back and cluster comes back operative. As always,
  279. // after recovery, each member must be able to process client requests.
  280. FailureCase_RANDOM_DELAY_PEER_PORT_TX_RX_QUORUM FailureCase = 209
  281. // DELAY_PEER_PORT_TX_RX_ALL delays outgoing/incoming packets from/to the
  282. // peer ports on all nodes. And it waits for "failure-delay-ms" until
  283. // recovery, likely to trigger election timeouts.
  284. // The expected behavior is that cluster may become totally inoperable,
  285. // struggling with slow networks across the whole cluster. Once delay
  286. // operation is undone, nodes come back and cluster comes back operative.
  287. // As always, after recovery, each member must be able to process client
  288. // requests.
  289. FailureCase_DELAY_PEER_PORT_TX_RX_ALL FailureCase = 210
  290. // RANDOM_DELAY_PEER_PORT_TX_RX_ALL delays outgoing/incoming packets
  291. // from/to the peer ports on all nodes, with randomized time durations.
  292. // And it waits for "failure-delay-ms" until recovery, likely to trigger
  293. // election timeouts.
  294. // The expected behavior is that cluster may become totally inoperable,
  295. // struggling with slow networks across the whole cluster. Once delay
  296. // operation is undone, nodes come back and cluster comes back operative.
  297. // As always, after recovery, each member must be able to process client
  298. // requests.
  299. FailureCase_RANDOM_DELAY_PEER_PORT_TX_RX_ALL FailureCase = 211
  300. // NO_FAIL_WITH_STRESS runs no-op failure injection that does not do
  301. // anything against cluster for "failure-delay-ms" duration, while
  302. // stressers are still sending requests.
  303. FailureCase_NO_FAIL_WITH_STRESS FailureCase = 300
  304. // NO_FAIL_WITH_NO_STRESS_FOR_LIVENESS runs no-op failure injection
  305. // that does not do anything against cluster for "failure-delay-ms"
  306. // duration, while all stressers are stopped.
  307. FailureCase_NO_FAIL_WITH_NO_STRESS_FOR_LIVENESS FailureCase = 301
  308. // FAILPOINTS injects failpoints to etcd server runtime, triggering panics
  309. // in critical code paths.
  310. FailureCase_FAILPOINTS FailureCase = 400
  311. // EXTERNAL runs external failure injection scripts.
  312. FailureCase_EXTERNAL FailureCase = 500
  313. )
  314. var FailureCase_name = map[int32]string{
  315. 0: "KILL_ONE_FOLLOWER",
  316. 1: "KILL_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT",
  317. 2: "KILL_LEADER",
  318. 3: "KILL_LEADER_UNTIL_TRIGGER_SNAPSHOT",
  319. 4: "KILL_QUORUM",
  320. 5: "KILL_ALL",
  321. 100: "BLACKHOLE_PEER_PORT_TX_RX_ONE_FOLLOWER",
  322. 101: "BLACKHOLE_PEER_PORT_TX_RX_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT",
  323. 102: "BLACKHOLE_PEER_PORT_TX_RX_LEADER",
  324. 103: "BLACKHOLE_PEER_PORT_TX_RX_LEADER_UNTIL_TRIGGER_SNAPSHOT",
  325. 104: "BLACKHOLE_PEER_PORT_TX_RX_QUORUM",
  326. 105: "BLACKHOLE_PEER_PORT_TX_RX_ALL",
  327. 200: "DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER",
  328. 201: "RANDOM_DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER",
  329. 202: "DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT",
  330. 203: "RANDOM_DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT",
  331. 204: "DELAY_PEER_PORT_TX_RX_LEADER",
  332. 205: "RANDOM_DELAY_PEER_PORT_TX_RX_LEADER",
  333. 206: "DELAY_PEER_PORT_TX_RX_LEADER_UNTIL_TRIGGER_SNAPSHOT",
  334. 207: "RANDOM_DELAY_PEER_PORT_TX_RX_LEADER_UNTIL_TRIGGER_SNAPSHOT",
  335. 208: "DELAY_PEER_PORT_TX_RX_QUORUM",
  336. 209: "RANDOM_DELAY_PEER_PORT_TX_RX_QUORUM",
  337. 210: "DELAY_PEER_PORT_TX_RX_ALL",
  338. 211: "RANDOM_DELAY_PEER_PORT_TX_RX_ALL",
  339. 300: "NO_FAIL_WITH_STRESS",
  340. 301: "NO_FAIL_WITH_NO_STRESS_FOR_LIVENESS",
  341. 400: "FAILPOINTS",
  342. 500: "EXTERNAL",
  343. }
  344. var FailureCase_value = map[string]int32{
  345. "KILL_ONE_FOLLOWER": 0,
  346. "KILL_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT": 1,
  347. "KILL_LEADER": 2,
  348. "KILL_LEADER_UNTIL_TRIGGER_SNAPSHOT": 3,
  349. "KILL_QUORUM": 4,
  350. "KILL_ALL": 5,
  351. "BLACKHOLE_PEER_PORT_TX_RX_ONE_FOLLOWER": 100,
  352. "BLACKHOLE_PEER_PORT_TX_RX_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT": 101,
  353. "BLACKHOLE_PEER_PORT_TX_RX_LEADER": 102,
  354. "BLACKHOLE_PEER_PORT_TX_RX_LEADER_UNTIL_TRIGGER_SNAPSHOT": 103,
  355. "BLACKHOLE_PEER_PORT_TX_RX_QUORUM": 104,
  356. "BLACKHOLE_PEER_PORT_TX_RX_ALL": 105,
  357. "DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER": 200,
  358. "RANDOM_DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER": 201,
  359. "DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT": 202,
  360. "RANDOM_DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT": 203,
  361. "DELAY_PEER_PORT_TX_RX_LEADER": 204,
  362. "RANDOM_DELAY_PEER_PORT_TX_RX_LEADER": 205,
  363. "DELAY_PEER_PORT_TX_RX_LEADER_UNTIL_TRIGGER_SNAPSHOT": 206,
  364. "RANDOM_DELAY_PEER_PORT_TX_RX_LEADER_UNTIL_TRIGGER_SNAPSHOT": 207,
  365. "DELAY_PEER_PORT_TX_RX_QUORUM": 208,
  366. "RANDOM_DELAY_PEER_PORT_TX_RX_QUORUM": 209,
  367. "DELAY_PEER_PORT_TX_RX_ALL": 210,
  368. "RANDOM_DELAY_PEER_PORT_TX_RX_ALL": 211,
  369. "NO_FAIL_WITH_STRESS": 300,
  370. "NO_FAIL_WITH_NO_STRESS_FOR_LIVENESS": 301,
  371. "FAILPOINTS": 400,
  372. "EXTERNAL": 500,
  373. }
  374. func (x FailureCase) String() string {
  375. return proto.EnumName(FailureCase_name, int32(x))
  376. }
  377. func (FailureCase) EnumDescriptor() ([]byte, []int) { return fileDescriptorRpc, []int{1} }
  378. type StressType int32
  379. const (
  380. StressType_KV StressType = 0
  381. StressType_LEASE StressType = 1
  382. StressType_ELECTION_RUNNER StressType = 2
  383. StressType_WATCH_RUNNER StressType = 3
  384. StressType_LOCK_RACER_RUNNER StressType = 4
  385. StressType_LEASE_RUNNER StressType = 5
  386. )
  387. var StressType_name = map[int32]string{
  388. 0: "KV",
  389. 1: "LEASE",
  390. 2: "ELECTION_RUNNER",
  391. 3: "WATCH_RUNNER",
  392. 4: "LOCK_RACER_RUNNER",
  393. 5: "LEASE_RUNNER",
  394. }
  395. var StressType_value = map[string]int32{
  396. "KV": 0,
  397. "LEASE": 1,
  398. "ELECTION_RUNNER": 2,
  399. "WATCH_RUNNER": 3,
  400. "LOCK_RACER_RUNNER": 4,
  401. "LEASE_RUNNER": 5,
  402. }
  403. func (x StressType) String() string {
  404. return proto.EnumName(StressType_name, int32(x))
  405. }
  406. func (StressType) EnumDescriptor() ([]byte, []int) { return fileDescriptorRpc, []int{2} }
  407. type Etcd struct {
  408. Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty" yaml:"name"`
  409. DataDir string `protobuf:"bytes,2,opt,name=DataDir,proto3" json:"DataDir,omitempty" yaml:"data-dir"`
  410. WALDir string `protobuf:"bytes,3,opt,name=WALDir,proto3" json:"WALDir,omitempty" yaml:"wal-dir"`
  411. // HeartbeatIntervalMs is the time (in milliseconds) of a heartbeat interval.
  412. // Default value is 100, which is 100ms.
  413. HeartbeatIntervalMs int64 `protobuf:"varint,11,opt,name=HeartbeatIntervalMs,proto3" json:"HeartbeatIntervalMs,omitempty" yaml:"heartbeat-interval"`
  414. // ElectionTimeoutMs is the time (in milliseconds) for an election to timeout.
  415. // Default value is 1000, which is 1s.
  416. ElectionTimeoutMs int64 `protobuf:"varint,12,opt,name=ElectionTimeoutMs,proto3" json:"ElectionTimeoutMs,omitempty" yaml:"election-timeout"`
  417. ListenClientURLs []string `protobuf:"bytes,21,rep,name=ListenClientURLs" json:"ListenClientURLs,omitempty" yaml:"listen-client-urls"`
  418. AdvertiseClientURLs []string `protobuf:"bytes,22,rep,name=AdvertiseClientURLs" json:"AdvertiseClientURLs,omitempty" yaml:"advertise-client-urls"`
  419. ClientAutoTLS bool `protobuf:"varint,23,opt,name=ClientAutoTLS,proto3" json:"ClientAutoTLS,omitempty" yaml:"auto-tls"`
  420. ClientCertAuth bool `protobuf:"varint,24,opt,name=ClientCertAuth,proto3" json:"ClientCertAuth,omitempty" yaml:"client-cert-auth"`
  421. ClientCertFile string `protobuf:"bytes,25,opt,name=ClientCertFile,proto3" json:"ClientCertFile,omitempty" yaml:"cert-file"`
  422. ClientKeyFile string `protobuf:"bytes,26,opt,name=ClientKeyFile,proto3" json:"ClientKeyFile,omitempty" yaml:"key-file"`
  423. ClientTrustedCAFile string `protobuf:"bytes,27,opt,name=ClientTrustedCAFile,proto3" json:"ClientTrustedCAFile,omitempty" yaml:"trusted-ca-file"`
  424. ListenPeerURLs []string `protobuf:"bytes,31,rep,name=ListenPeerURLs" json:"ListenPeerURLs,omitempty" yaml:"listen-peer-urls"`
  425. AdvertisePeerURLs []string `protobuf:"bytes,32,rep,name=AdvertisePeerURLs" json:"AdvertisePeerURLs,omitempty" yaml:"initial-advertise-peer-urls"`
  426. PeerAutoTLS bool `protobuf:"varint,33,opt,name=PeerAutoTLS,proto3" json:"PeerAutoTLS,omitempty" yaml:"peer-auto-tls"`
  427. PeerClientCertAuth bool `protobuf:"varint,34,opt,name=PeerClientCertAuth,proto3" json:"PeerClientCertAuth,omitempty" yaml:"peer-client-cert-auth"`
  428. PeerCertFile string `protobuf:"bytes,35,opt,name=PeerCertFile,proto3" json:"PeerCertFile,omitempty" yaml:"peer-cert-file"`
  429. PeerKeyFile string `protobuf:"bytes,36,opt,name=PeerKeyFile,proto3" json:"PeerKeyFile,omitempty" yaml:"peer-key-file"`
  430. PeerTrustedCAFile string `protobuf:"bytes,37,opt,name=PeerTrustedCAFile,proto3" json:"PeerTrustedCAFile,omitempty" yaml:"peer-trusted-ca-file"`
  431. InitialCluster string `protobuf:"bytes,41,opt,name=InitialCluster,proto3" json:"InitialCluster,omitempty" yaml:"initial-cluster"`
  432. InitialClusterState string `protobuf:"bytes,42,opt,name=InitialClusterState,proto3" json:"InitialClusterState,omitempty" yaml:"initial-cluster-state"`
  433. InitialClusterToken string `protobuf:"bytes,43,opt,name=InitialClusterToken,proto3" json:"InitialClusterToken,omitempty" yaml:"initial-cluster-token"`
  434. SnapshotCount int64 `protobuf:"varint,51,opt,name=SnapshotCount,proto3" json:"SnapshotCount,omitempty" yaml:"snapshot-count"`
  435. QuotaBackendBytes int64 `protobuf:"varint,52,opt,name=QuotaBackendBytes,proto3" json:"QuotaBackendBytes,omitempty" yaml:"quota-backend-bytes"`
  436. PreVote bool `protobuf:"varint,63,opt,name=PreVote,proto3" json:"PreVote,omitempty" yaml:"pre-vote"`
  437. InitialCorruptCheck bool `protobuf:"varint,64,opt,name=InitialCorruptCheck,proto3" json:"InitialCorruptCheck,omitempty" yaml:"initial-corrupt-check"`
  438. }
  439. func (m *Etcd) Reset() { *m = Etcd{} }
  440. func (m *Etcd) String() string { return proto.CompactTextString(m) }
  441. func (*Etcd) ProtoMessage() {}
  442. func (*Etcd) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{0} }
  443. type Member struct {
  444. // EtcdExecPath is the executable etcd binary path in agent server.
  445. EtcdExecPath string `protobuf:"bytes,1,opt,name=EtcdExecPath,proto3" json:"EtcdExecPath,omitempty" yaml:"etcd-exec-path"`
  446. // AgentAddr is the agent HTTP server address.
  447. AgentAddr string `protobuf:"bytes,11,opt,name=AgentAddr,proto3" json:"AgentAddr,omitempty" yaml:"agent-addr"`
  448. // FailpointHTTPAddr is the agent's failpoints HTTP server address.
  449. FailpointHTTPAddr string `protobuf:"bytes,12,opt,name=FailpointHTTPAddr,proto3" json:"FailpointHTTPAddr,omitempty" yaml:"failpoint-http-addr"`
  450. // BaseDir is the base directory where all logs and etcd data are stored.
  451. BaseDir string `protobuf:"bytes,101,opt,name=BaseDir,proto3" json:"BaseDir,omitempty" yaml:"base-dir"`
  452. // EtcdLogPath is the log file to store current etcd server logs.
  453. EtcdLogPath string `protobuf:"bytes,102,opt,name=EtcdLogPath,proto3" json:"EtcdLogPath,omitempty" yaml:"etcd-log-path"`
  454. // EtcdClientProxy is true when client traffic needs to be proxied.
  455. // If true, listen client URL port must be different than advertise client URL port.
  456. EtcdClientProxy bool `protobuf:"varint,201,opt,name=EtcdClientProxy,proto3" json:"EtcdClientProxy,omitempty" yaml:"etcd-client-proxy"`
  457. // EtcdPeerProxy is true when peer traffic needs to be proxied.
  458. // If true, listen peer URL port must be different than advertise peer URL port.
  459. EtcdPeerProxy bool `protobuf:"varint,202,opt,name=EtcdPeerProxy,proto3" json:"EtcdPeerProxy,omitempty" yaml:"etcd-peer-proxy"`
  460. // EtcdClientEndpoint is the etcd client endpoint.
  461. EtcdClientEndpoint string `protobuf:"bytes,301,opt,name=EtcdClientEndpoint,proto3" json:"EtcdClientEndpoint,omitempty" yaml:"etcd-client-endpoint"`
  462. // Etcd defines etcd binary configuration flags.
  463. Etcd *Etcd `protobuf:"bytes,302,opt,name=Etcd" json:"Etcd,omitempty" yaml:"etcd"`
  464. // ClientCertData contains cert file contents from this member's etcd server.
  465. ClientCertData string `protobuf:"bytes,401,opt,name=ClientCertData,proto3" json:"ClientCertData,omitempty" yaml:"client-cert-data"`
  466. ClientCertPath string `protobuf:"bytes,402,opt,name=ClientCertPath,proto3" json:"ClientCertPath,omitempty" yaml:"client-cert-path"`
  467. // ClientKeyData contains key file contents from this member's etcd server.
  468. ClientKeyData string `protobuf:"bytes,403,opt,name=ClientKeyData,proto3" json:"ClientKeyData,omitempty" yaml:"client-key-data"`
  469. ClientKeyPath string `protobuf:"bytes,404,opt,name=ClientKeyPath,proto3" json:"ClientKeyPath,omitempty" yaml:"client-key-path"`
  470. // ClientTrustedCAData contains trusted CA file contents from this member's etcd server.
  471. ClientTrustedCAData string `protobuf:"bytes,405,opt,name=ClientTrustedCAData,proto3" json:"ClientTrustedCAData,omitempty" yaml:"client-trusted-ca-data"`
  472. ClientTrustedCAPath string `protobuf:"bytes,406,opt,name=ClientTrustedCAPath,proto3" json:"ClientTrustedCAPath,omitempty" yaml:"client-trusted-ca-path"`
  473. // PeerCertData contains cert file contents from this member's etcd server.
  474. PeerCertData string `protobuf:"bytes,501,opt,name=PeerCertData,proto3" json:"PeerCertData,omitempty" yaml:"peer-cert-data"`
  475. PeerCertPath string `protobuf:"bytes,502,opt,name=PeerCertPath,proto3" json:"PeerCertPath,omitempty" yaml:"peer-cert-path"`
  476. // PeerKeyData contains key file contents from this member's etcd server.
  477. PeerKeyData string `protobuf:"bytes,503,opt,name=PeerKeyData,proto3" json:"PeerKeyData,omitempty" yaml:"peer-key-data"`
  478. PeerKeyPath string `protobuf:"bytes,504,opt,name=PeerKeyPath,proto3" json:"PeerKeyPath,omitempty" yaml:"peer-key-path"`
  479. // PeerTrustedCAData contains trusted CA file contents from this member's etcd server.
  480. PeerTrustedCAData string `protobuf:"bytes,505,opt,name=PeerTrustedCAData,proto3" json:"PeerTrustedCAData,omitempty" yaml:"peer-trusted-ca-data"`
  481. PeerTrustedCAPath string `protobuf:"bytes,506,opt,name=PeerTrustedCAPath,proto3" json:"PeerTrustedCAPath,omitempty" yaml:"peer-trusted-ca-path"`
  482. }
  483. func (m *Member) Reset() { *m = Member{} }
  484. func (m *Member) String() string { return proto.CompactTextString(m) }
  485. func (*Member) ProtoMessage() {}
  486. func (*Member) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{1} }
  487. type Tester struct {
  488. DataDir string `protobuf:"bytes,1,opt,name=DataDir,proto3" json:"DataDir,omitempty" yaml:"data-dir"`
  489. Network string `protobuf:"bytes,2,opt,name=Network,proto3" json:"Network,omitempty" yaml:"network"`
  490. Addr string `protobuf:"bytes,3,opt,name=Addr,proto3" json:"Addr,omitempty" yaml:"addr"`
  491. // DelayLatencyMsRv is the delay latency in milliseconds,
  492. // to inject to simulated slow network.
  493. DelayLatencyMs uint32 `protobuf:"varint,11,opt,name=DelayLatencyMs,proto3" json:"DelayLatencyMs,omitempty" yaml:"delay-latency-ms"`
  494. // DelayLatencyMsRv is the delay latency random variable in milliseconds.
  495. DelayLatencyMsRv uint32 `protobuf:"varint,12,opt,name=DelayLatencyMsRv,proto3" json:"DelayLatencyMsRv,omitempty" yaml:"delay-latency-ms-rv"`
  496. // UpdatedDelayLatencyMs is the update delay latency in milliseconds,
  497. // to inject to simulated slow network. It's the final latency to apply,
  498. // in case the latency numbers are randomly generated from given delay latency field.
  499. UpdatedDelayLatencyMs uint32 `protobuf:"varint,13,opt,name=UpdatedDelayLatencyMs,proto3" json:"UpdatedDelayLatencyMs,omitempty" yaml:"updated-delay-latency-ms"`
  500. // RoundLimit is the limit of rounds to run failure set (-1 to run without limits).
  501. RoundLimit int32 `protobuf:"varint,21,opt,name=RoundLimit,proto3" json:"RoundLimit,omitempty" yaml:"round-limit"`
  502. // ExitOnFailure is true, then exit tester on first failure.
  503. ExitOnFailure bool `protobuf:"varint,22,opt,name=ExitOnFailure,proto3" json:"ExitOnFailure,omitempty" yaml:"exit-on-failure"`
  504. // ConsistencyCheck is true to check consistency (revision, hash).
  505. ConsistencyCheck bool `protobuf:"varint,23,opt,name=ConsistencyCheck,proto3" json:"ConsistencyCheck,omitempty" yaml:"consistency-check"`
  506. // EnablePprof is true to enable profiler.
  507. EnablePprof bool `protobuf:"varint,24,opt,name=EnablePprof,proto3" json:"EnablePprof,omitempty" yaml:"enable-pprof"`
  508. // FailureDelayMs is the delay duration after failure is injected.
  509. // Useful when triggering snapshot or no-op failure cases.
  510. FailureDelayMs uint32 `protobuf:"varint,31,opt,name=FailureDelayMs,proto3" json:"FailureDelayMs,omitempty" yaml:"failure-delay-ms"`
  511. // FailureShuffle is true to randomize failure injecting order.
  512. FailureShuffle bool `protobuf:"varint,32,opt,name=FailureShuffle,proto3" json:"FailureShuffle,omitempty" yaml:"failure-shuffle"`
  513. // FailureCases is the selected test cases to schedule.
  514. // If empty, run all failure cases.
  515. FailureCases []string `protobuf:"bytes,33,rep,name=FailureCases" json:"FailureCases,omitempty" yaml:"failure-cases"`
  516. // Failpoinommands is the list of "gofail" commands (e.g. panic("etcd-tester"),1*sleep(1000)
  517. FailpointCommands []string `protobuf:"bytes,34,rep,name=FailpointCommands" json:"FailpointCommands,omitempty" yaml:"failpoint-commands"`
  518. // RunnerExecPath is a path of etcd-runner binary.
  519. RunnerExecPath string `protobuf:"bytes,41,opt,name=RunnerExecPath,proto3" json:"RunnerExecPath,omitempty" yaml:"runner-exec-path"`
  520. // ExternalExecPath is a path of script for enabling/disabling an external fault injector.
  521. ExternalExecPath string `protobuf:"bytes,42,opt,name=ExternalExecPath,proto3" json:"ExternalExecPath,omitempty" yaml:"external-exec-path"`
  522. // StressTypes is the list of stresser names:
  523. // keys, lease, nop, election-runner, watch-runner, lock-racer-runner, lease-runner.
  524. StressTypes []string `protobuf:"bytes,101,rep,name=StressTypes" json:"StressTypes,omitempty" yaml:"stress-types"`
  525. // StressKeySize is the size of each small key written into etcd.
  526. StressKeySize int32 `protobuf:"varint,102,opt,name=StressKeySize,proto3" json:"StressKeySize,omitempty" yaml:"stress-key-size"`
  527. // StressKeySizeLarge is the size of each large key written into etcd.
  528. StressKeySizeLarge int32 `protobuf:"varint,103,opt,name=StressKeySizeLarge,proto3" json:"StressKeySizeLarge,omitempty" yaml:"stress-key-size-large"`
  529. // StressKeySuffixRange is the count of key range written into etcd.
  530. // Stress keys are created with "fmt.Sprintf("foo%016x", rand.Intn(keySuffixRange)".
  531. StressKeySuffixRange int32 `protobuf:"varint,104,opt,name=StressKeySuffixRange,proto3" json:"StressKeySuffixRange,omitempty" yaml:"stress-key-suffix-range"`
  532. // StressKeySuffixRangeTxn is the count of key range written into etcd txn (max 100).
  533. // Stress keys are created with "fmt.Sprintf("/k%03d", i)".
  534. StressKeySuffixRangeTxn int32 `protobuf:"varint,105,opt,name=StressKeySuffixRangeTxn,proto3" json:"StressKeySuffixRangeTxn,omitempty" yaml:"stress-key-suffix-range-txn"`
  535. // StressKeyTxnOps is the number of operations per a transaction (max 64).
  536. StressKeyTxnOps int32 `protobuf:"varint,106,opt,name=StressKeyTxnOps,proto3" json:"StressKeyTxnOps,omitempty" yaml:"stress-key-txn-ops"`
  537. // StressClients is the number of concurrent stressing clients
  538. // with "one" shared TCP connection.
  539. StressClients int32 `protobuf:"varint,201,opt,name=StressClients,proto3" json:"StressClients,omitempty" yaml:"stress-clients"`
  540. // StressQPS is the maximum number of stresser requests per second.
  541. StressQPS int32 `protobuf:"varint,202,opt,name=StressQPS,proto3" json:"StressQPS,omitempty" yaml:"stress-qps"`
  542. }
  543. func (m *Tester) Reset() { *m = Tester{} }
  544. func (m *Tester) String() string { return proto.CompactTextString(m) }
  545. func (*Tester) ProtoMessage() {}
  546. func (*Tester) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{2} }
  547. type Request struct {
  548. Operation Operation `protobuf:"varint,1,opt,name=Operation,proto3,enum=rpcpb.Operation" json:"Operation,omitempty"`
  549. // Member contains the same Member object from tester configuration.
  550. Member *Member `protobuf:"bytes,2,opt,name=Member" json:"Member,omitempty"`
  551. // Tester contains tester configuration.
  552. Tester *Tester `protobuf:"bytes,3,opt,name=Tester" json:"Tester,omitempty"`
  553. }
  554. func (m *Request) Reset() { *m = Request{} }
  555. func (m *Request) String() string { return proto.CompactTextString(m) }
  556. func (*Request) ProtoMessage() {}
  557. func (*Request) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{3} }
  558. type Response struct {
  559. Success bool `protobuf:"varint,1,opt,name=Success,proto3" json:"Success,omitempty"`
  560. Status string `protobuf:"bytes,2,opt,name=Status,proto3" json:"Status,omitempty"`
  561. // Member contains the same Member object from tester request.
  562. Member *Member `protobuf:"bytes,3,opt,name=Member" json:"Member,omitempty"`
  563. }
  564. func (m *Response) Reset() { *m = Response{} }
  565. func (m *Response) String() string { return proto.CompactTextString(m) }
  566. func (*Response) ProtoMessage() {}
  567. func (*Response) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{4} }
  568. func init() {
  569. proto.RegisterType((*Etcd)(nil), "rpcpb.Etcd")
  570. proto.RegisterType((*Member)(nil), "rpcpb.Member")
  571. proto.RegisterType((*Tester)(nil), "rpcpb.Tester")
  572. proto.RegisterType((*Request)(nil), "rpcpb.Request")
  573. proto.RegisterType((*Response)(nil), "rpcpb.Response")
  574. proto.RegisterEnum("rpcpb.Operation", Operation_name, Operation_value)
  575. proto.RegisterEnum("rpcpb.FailureCase", FailureCase_name, FailureCase_value)
  576. proto.RegisterEnum("rpcpb.StressType", StressType_name, StressType_value)
  577. }
  578. // Reference imports to suppress errors if they are not otherwise used.
  579. var _ context.Context
  580. var _ grpc.ClientConn
  581. // This is a compile-time assertion to ensure that this generated file
  582. // is compatible with the grpc package it is being compiled against.
  583. const _ = grpc.SupportPackageIsVersion4
  584. // Client API for Transport service
  585. type TransportClient interface {
  586. Transport(ctx context.Context, opts ...grpc.CallOption) (Transport_TransportClient, error)
  587. }
  588. type transportClient struct {
  589. cc *grpc.ClientConn
  590. }
  591. func NewTransportClient(cc *grpc.ClientConn) TransportClient {
  592. return &transportClient{cc}
  593. }
  594. func (c *transportClient) Transport(ctx context.Context, opts ...grpc.CallOption) (Transport_TransportClient, error) {
  595. stream, err := grpc.NewClientStream(ctx, &_Transport_serviceDesc.Streams[0], c.cc, "/rpcpb.Transport/Transport", opts...)
  596. if err != nil {
  597. return nil, err
  598. }
  599. x := &transportTransportClient{stream}
  600. return x, nil
  601. }
  602. type Transport_TransportClient interface {
  603. Send(*Request) error
  604. Recv() (*Response, error)
  605. grpc.ClientStream
  606. }
  607. type transportTransportClient struct {
  608. grpc.ClientStream
  609. }
  610. func (x *transportTransportClient) Send(m *Request) error {
  611. return x.ClientStream.SendMsg(m)
  612. }
  613. func (x *transportTransportClient) Recv() (*Response, error) {
  614. m := new(Response)
  615. if err := x.ClientStream.RecvMsg(m); err != nil {
  616. return nil, err
  617. }
  618. return m, nil
  619. }
  620. // Server API for Transport service
  621. type TransportServer interface {
  622. Transport(Transport_TransportServer) error
  623. }
  624. func RegisterTransportServer(s *grpc.Server, srv TransportServer) {
  625. s.RegisterService(&_Transport_serviceDesc, srv)
  626. }
  627. func _Transport_Transport_Handler(srv interface{}, stream grpc.ServerStream) error {
  628. return srv.(TransportServer).Transport(&transportTransportServer{stream})
  629. }
  630. type Transport_TransportServer interface {
  631. Send(*Response) error
  632. Recv() (*Request, error)
  633. grpc.ServerStream
  634. }
  635. type transportTransportServer struct {
  636. grpc.ServerStream
  637. }
  638. func (x *transportTransportServer) Send(m *Response) error {
  639. return x.ServerStream.SendMsg(m)
  640. }
  641. func (x *transportTransportServer) Recv() (*Request, error) {
  642. m := new(Request)
  643. if err := x.ServerStream.RecvMsg(m); err != nil {
  644. return nil, err
  645. }
  646. return m, nil
  647. }
  648. var _Transport_serviceDesc = grpc.ServiceDesc{
  649. ServiceName: "rpcpb.Transport",
  650. HandlerType: (*TransportServer)(nil),
  651. Methods: []grpc.MethodDesc{},
  652. Streams: []grpc.StreamDesc{
  653. {
  654. StreamName: "Transport",
  655. Handler: _Transport_Transport_Handler,
  656. ServerStreams: true,
  657. ClientStreams: true,
  658. },
  659. },
  660. Metadata: "rpcpb/rpc.proto",
  661. }
  662. func (m *Etcd) Marshal() (dAtA []byte, err error) {
  663. size := m.Size()
  664. dAtA = make([]byte, size)
  665. n, err := m.MarshalTo(dAtA)
  666. if err != nil {
  667. return nil, err
  668. }
  669. return dAtA[:n], nil
  670. }
  671. func (m *Etcd) MarshalTo(dAtA []byte) (int, error) {
  672. var i int
  673. _ = i
  674. var l int
  675. _ = l
  676. if len(m.Name) > 0 {
  677. dAtA[i] = 0xa
  678. i++
  679. i = encodeVarintRpc(dAtA, i, uint64(len(m.Name)))
  680. i += copy(dAtA[i:], m.Name)
  681. }
  682. if len(m.DataDir) > 0 {
  683. dAtA[i] = 0x12
  684. i++
  685. i = encodeVarintRpc(dAtA, i, uint64(len(m.DataDir)))
  686. i += copy(dAtA[i:], m.DataDir)
  687. }
  688. if len(m.WALDir) > 0 {
  689. dAtA[i] = 0x1a
  690. i++
  691. i = encodeVarintRpc(dAtA, i, uint64(len(m.WALDir)))
  692. i += copy(dAtA[i:], m.WALDir)
  693. }
  694. if m.HeartbeatIntervalMs != 0 {
  695. dAtA[i] = 0x58
  696. i++
  697. i = encodeVarintRpc(dAtA, i, uint64(m.HeartbeatIntervalMs))
  698. }
  699. if m.ElectionTimeoutMs != 0 {
  700. dAtA[i] = 0x60
  701. i++
  702. i = encodeVarintRpc(dAtA, i, uint64(m.ElectionTimeoutMs))
  703. }
  704. if len(m.ListenClientURLs) > 0 {
  705. for _, s := range m.ListenClientURLs {
  706. dAtA[i] = 0xaa
  707. i++
  708. dAtA[i] = 0x1
  709. i++
  710. l = len(s)
  711. for l >= 1<<7 {
  712. dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
  713. l >>= 7
  714. i++
  715. }
  716. dAtA[i] = uint8(l)
  717. i++
  718. i += copy(dAtA[i:], s)
  719. }
  720. }
  721. if len(m.AdvertiseClientURLs) > 0 {
  722. for _, s := range m.AdvertiseClientURLs {
  723. dAtA[i] = 0xb2
  724. i++
  725. dAtA[i] = 0x1
  726. i++
  727. l = len(s)
  728. for l >= 1<<7 {
  729. dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
  730. l >>= 7
  731. i++
  732. }
  733. dAtA[i] = uint8(l)
  734. i++
  735. i += copy(dAtA[i:], s)
  736. }
  737. }
  738. if m.ClientAutoTLS {
  739. dAtA[i] = 0xb8
  740. i++
  741. dAtA[i] = 0x1
  742. i++
  743. if m.ClientAutoTLS {
  744. dAtA[i] = 1
  745. } else {
  746. dAtA[i] = 0
  747. }
  748. i++
  749. }
  750. if m.ClientCertAuth {
  751. dAtA[i] = 0xc0
  752. i++
  753. dAtA[i] = 0x1
  754. i++
  755. if m.ClientCertAuth {
  756. dAtA[i] = 1
  757. } else {
  758. dAtA[i] = 0
  759. }
  760. i++
  761. }
  762. if len(m.ClientCertFile) > 0 {
  763. dAtA[i] = 0xca
  764. i++
  765. dAtA[i] = 0x1
  766. i++
  767. i = encodeVarintRpc(dAtA, i, uint64(len(m.ClientCertFile)))
  768. i += copy(dAtA[i:], m.ClientCertFile)
  769. }
  770. if len(m.ClientKeyFile) > 0 {
  771. dAtA[i] = 0xd2
  772. i++
  773. dAtA[i] = 0x1
  774. i++
  775. i = encodeVarintRpc(dAtA, i, uint64(len(m.ClientKeyFile)))
  776. i += copy(dAtA[i:], m.ClientKeyFile)
  777. }
  778. if len(m.ClientTrustedCAFile) > 0 {
  779. dAtA[i] = 0xda
  780. i++
  781. dAtA[i] = 0x1
  782. i++
  783. i = encodeVarintRpc(dAtA, i, uint64(len(m.ClientTrustedCAFile)))
  784. i += copy(dAtA[i:], m.ClientTrustedCAFile)
  785. }
  786. if len(m.ListenPeerURLs) > 0 {
  787. for _, s := range m.ListenPeerURLs {
  788. dAtA[i] = 0xfa
  789. i++
  790. dAtA[i] = 0x1
  791. i++
  792. l = len(s)
  793. for l >= 1<<7 {
  794. dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
  795. l >>= 7
  796. i++
  797. }
  798. dAtA[i] = uint8(l)
  799. i++
  800. i += copy(dAtA[i:], s)
  801. }
  802. }
  803. if len(m.AdvertisePeerURLs) > 0 {
  804. for _, s := range m.AdvertisePeerURLs {
  805. dAtA[i] = 0x82
  806. i++
  807. dAtA[i] = 0x2
  808. i++
  809. l = len(s)
  810. for l >= 1<<7 {
  811. dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
  812. l >>= 7
  813. i++
  814. }
  815. dAtA[i] = uint8(l)
  816. i++
  817. i += copy(dAtA[i:], s)
  818. }
  819. }
  820. if m.PeerAutoTLS {
  821. dAtA[i] = 0x88
  822. i++
  823. dAtA[i] = 0x2
  824. i++
  825. if m.PeerAutoTLS {
  826. dAtA[i] = 1
  827. } else {
  828. dAtA[i] = 0
  829. }
  830. i++
  831. }
  832. if m.PeerClientCertAuth {
  833. dAtA[i] = 0x90
  834. i++
  835. dAtA[i] = 0x2
  836. i++
  837. if m.PeerClientCertAuth {
  838. dAtA[i] = 1
  839. } else {
  840. dAtA[i] = 0
  841. }
  842. i++
  843. }
  844. if len(m.PeerCertFile) > 0 {
  845. dAtA[i] = 0x9a
  846. i++
  847. dAtA[i] = 0x2
  848. i++
  849. i = encodeVarintRpc(dAtA, i, uint64(len(m.PeerCertFile)))
  850. i += copy(dAtA[i:], m.PeerCertFile)
  851. }
  852. if len(m.PeerKeyFile) > 0 {
  853. dAtA[i] = 0xa2
  854. i++
  855. dAtA[i] = 0x2
  856. i++
  857. i = encodeVarintRpc(dAtA, i, uint64(len(m.PeerKeyFile)))
  858. i += copy(dAtA[i:], m.PeerKeyFile)
  859. }
  860. if len(m.PeerTrustedCAFile) > 0 {
  861. dAtA[i] = 0xaa
  862. i++
  863. dAtA[i] = 0x2
  864. i++
  865. i = encodeVarintRpc(dAtA, i, uint64(len(m.PeerTrustedCAFile)))
  866. i += copy(dAtA[i:], m.PeerTrustedCAFile)
  867. }
  868. if len(m.InitialCluster) > 0 {
  869. dAtA[i] = 0xca
  870. i++
  871. dAtA[i] = 0x2
  872. i++
  873. i = encodeVarintRpc(dAtA, i, uint64(len(m.InitialCluster)))
  874. i += copy(dAtA[i:], m.InitialCluster)
  875. }
  876. if len(m.InitialClusterState) > 0 {
  877. dAtA[i] = 0xd2
  878. i++
  879. dAtA[i] = 0x2
  880. i++
  881. i = encodeVarintRpc(dAtA, i, uint64(len(m.InitialClusterState)))
  882. i += copy(dAtA[i:], m.InitialClusterState)
  883. }
  884. if len(m.InitialClusterToken) > 0 {
  885. dAtA[i] = 0xda
  886. i++
  887. dAtA[i] = 0x2
  888. i++
  889. i = encodeVarintRpc(dAtA, i, uint64(len(m.InitialClusterToken)))
  890. i += copy(dAtA[i:], m.InitialClusterToken)
  891. }
  892. if m.SnapshotCount != 0 {
  893. dAtA[i] = 0x98
  894. i++
  895. dAtA[i] = 0x3
  896. i++
  897. i = encodeVarintRpc(dAtA, i, uint64(m.SnapshotCount))
  898. }
  899. if m.QuotaBackendBytes != 0 {
  900. dAtA[i] = 0xa0
  901. i++
  902. dAtA[i] = 0x3
  903. i++
  904. i = encodeVarintRpc(dAtA, i, uint64(m.QuotaBackendBytes))
  905. }
  906. if m.PreVote {
  907. dAtA[i] = 0xf8
  908. i++
  909. dAtA[i] = 0x3
  910. i++
  911. if m.PreVote {
  912. dAtA[i] = 1
  913. } else {
  914. dAtA[i] = 0
  915. }
  916. i++
  917. }
  918. if m.InitialCorruptCheck {
  919. dAtA[i] = 0x80
  920. i++
  921. dAtA[i] = 0x4
  922. i++
  923. if m.InitialCorruptCheck {
  924. dAtA[i] = 1
  925. } else {
  926. dAtA[i] = 0
  927. }
  928. i++
  929. }
  930. return i, nil
  931. }
  932. func (m *Member) Marshal() (dAtA []byte, err error) {
  933. size := m.Size()
  934. dAtA = make([]byte, size)
  935. n, err := m.MarshalTo(dAtA)
  936. if err != nil {
  937. return nil, err
  938. }
  939. return dAtA[:n], nil
  940. }
  941. func (m *Member) MarshalTo(dAtA []byte) (int, error) {
  942. var i int
  943. _ = i
  944. var l int
  945. _ = l
  946. if len(m.EtcdExecPath) > 0 {
  947. dAtA[i] = 0xa
  948. i++
  949. i = encodeVarintRpc(dAtA, i, uint64(len(m.EtcdExecPath)))
  950. i += copy(dAtA[i:], m.EtcdExecPath)
  951. }
  952. if len(m.AgentAddr) > 0 {
  953. dAtA[i] = 0x5a
  954. i++
  955. i = encodeVarintRpc(dAtA, i, uint64(len(m.AgentAddr)))
  956. i += copy(dAtA[i:], m.AgentAddr)
  957. }
  958. if len(m.FailpointHTTPAddr) > 0 {
  959. dAtA[i] = 0x62
  960. i++
  961. i = encodeVarintRpc(dAtA, i, uint64(len(m.FailpointHTTPAddr)))
  962. i += copy(dAtA[i:], m.FailpointHTTPAddr)
  963. }
  964. if len(m.BaseDir) > 0 {
  965. dAtA[i] = 0xaa
  966. i++
  967. dAtA[i] = 0x6
  968. i++
  969. i = encodeVarintRpc(dAtA, i, uint64(len(m.BaseDir)))
  970. i += copy(dAtA[i:], m.BaseDir)
  971. }
  972. if len(m.EtcdLogPath) > 0 {
  973. dAtA[i] = 0xb2
  974. i++
  975. dAtA[i] = 0x6
  976. i++
  977. i = encodeVarintRpc(dAtA, i, uint64(len(m.EtcdLogPath)))
  978. i += copy(dAtA[i:], m.EtcdLogPath)
  979. }
  980. if m.EtcdClientProxy {
  981. dAtA[i] = 0xc8
  982. i++
  983. dAtA[i] = 0xc
  984. i++
  985. if m.EtcdClientProxy {
  986. dAtA[i] = 1
  987. } else {
  988. dAtA[i] = 0
  989. }
  990. i++
  991. }
  992. if m.EtcdPeerProxy {
  993. dAtA[i] = 0xd0
  994. i++
  995. dAtA[i] = 0xc
  996. i++
  997. if m.EtcdPeerProxy {
  998. dAtA[i] = 1
  999. } else {
  1000. dAtA[i] = 0
  1001. }
  1002. i++
  1003. }
  1004. if len(m.EtcdClientEndpoint) > 0 {
  1005. dAtA[i] = 0xea
  1006. i++
  1007. dAtA[i] = 0x12
  1008. i++
  1009. i = encodeVarintRpc(dAtA, i, uint64(len(m.EtcdClientEndpoint)))
  1010. i += copy(dAtA[i:], m.EtcdClientEndpoint)
  1011. }
  1012. if m.Etcd != nil {
  1013. dAtA[i] = 0xf2
  1014. i++
  1015. dAtA[i] = 0x12
  1016. i++
  1017. i = encodeVarintRpc(dAtA, i, uint64(m.Etcd.Size()))
  1018. n1, err := m.Etcd.MarshalTo(dAtA[i:])
  1019. if err != nil {
  1020. return 0, err
  1021. }
  1022. i += n1
  1023. }
  1024. if len(m.ClientCertData) > 0 {
  1025. dAtA[i] = 0x8a
  1026. i++
  1027. dAtA[i] = 0x19
  1028. i++
  1029. i = encodeVarintRpc(dAtA, i, uint64(len(m.ClientCertData)))
  1030. i += copy(dAtA[i:], m.ClientCertData)
  1031. }
  1032. if len(m.ClientCertPath) > 0 {
  1033. dAtA[i] = 0x92
  1034. i++
  1035. dAtA[i] = 0x19
  1036. i++
  1037. i = encodeVarintRpc(dAtA, i, uint64(len(m.ClientCertPath)))
  1038. i += copy(dAtA[i:], m.ClientCertPath)
  1039. }
  1040. if len(m.ClientKeyData) > 0 {
  1041. dAtA[i] = 0x9a
  1042. i++
  1043. dAtA[i] = 0x19
  1044. i++
  1045. i = encodeVarintRpc(dAtA, i, uint64(len(m.ClientKeyData)))
  1046. i += copy(dAtA[i:], m.ClientKeyData)
  1047. }
  1048. if len(m.ClientKeyPath) > 0 {
  1049. dAtA[i] = 0xa2
  1050. i++
  1051. dAtA[i] = 0x19
  1052. i++
  1053. i = encodeVarintRpc(dAtA, i, uint64(len(m.ClientKeyPath)))
  1054. i += copy(dAtA[i:], m.ClientKeyPath)
  1055. }
  1056. if len(m.ClientTrustedCAData) > 0 {
  1057. dAtA[i] = 0xaa
  1058. i++
  1059. dAtA[i] = 0x19
  1060. i++
  1061. i = encodeVarintRpc(dAtA, i, uint64(len(m.ClientTrustedCAData)))
  1062. i += copy(dAtA[i:], m.ClientTrustedCAData)
  1063. }
  1064. if len(m.ClientTrustedCAPath) > 0 {
  1065. dAtA[i] = 0xb2
  1066. i++
  1067. dAtA[i] = 0x19
  1068. i++
  1069. i = encodeVarintRpc(dAtA, i, uint64(len(m.ClientTrustedCAPath)))
  1070. i += copy(dAtA[i:], m.ClientTrustedCAPath)
  1071. }
  1072. if len(m.PeerCertData) > 0 {
  1073. dAtA[i] = 0xaa
  1074. i++
  1075. dAtA[i] = 0x1f
  1076. i++
  1077. i = encodeVarintRpc(dAtA, i, uint64(len(m.PeerCertData)))
  1078. i += copy(dAtA[i:], m.PeerCertData)
  1079. }
  1080. if len(m.PeerCertPath) > 0 {
  1081. dAtA[i] = 0xb2
  1082. i++
  1083. dAtA[i] = 0x1f
  1084. i++
  1085. i = encodeVarintRpc(dAtA, i, uint64(len(m.PeerCertPath)))
  1086. i += copy(dAtA[i:], m.PeerCertPath)
  1087. }
  1088. if len(m.PeerKeyData) > 0 {
  1089. dAtA[i] = 0xba
  1090. i++
  1091. dAtA[i] = 0x1f
  1092. i++
  1093. i = encodeVarintRpc(dAtA, i, uint64(len(m.PeerKeyData)))
  1094. i += copy(dAtA[i:], m.PeerKeyData)
  1095. }
  1096. if len(m.PeerKeyPath) > 0 {
  1097. dAtA[i] = 0xc2
  1098. i++
  1099. dAtA[i] = 0x1f
  1100. i++
  1101. i = encodeVarintRpc(dAtA, i, uint64(len(m.PeerKeyPath)))
  1102. i += copy(dAtA[i:], m.PeerKeyPath)
  1103. }
  1104. if len(m.PeerTrustedCAData) > 0 {
  1105. dAtA[i] = 0xca
  1106. i++
  1107. dAtA[i] = 0x1f
  1108. i++
  1109. i = encodeVarintRpc(dAtA, i, uint64(len(m.PeerTrustedCAData)))
  1110. i += copy(dAtA[i:], m.PeerTrustedCAData)
  1111. }
  1112. if len(m.PeerTrustedCAPath) > 0 {
  1113. dAtA[i] = 0xd2
  1114. i++
  1115. dAtA[i] = 0x1f
  1116. i++
  1117. i = encodeVarintRpc(dAtA, i, uint64(len(m.PeerTrustedCAPath)))
  1118. i += copy(dAtA[i:], m.PeerTrustedCAPath)
  1119. }
  1120. return i, nil
  1121. }
  1122. func (m *Tester) Marshal() (dAtA []byte, err error) {
  1123. size := m.Size()
  1124. dAtA = make([]byte, size)
  1125. n, err := m.MarshalTo(dAtA)
  1126. if err != nil {
  1127. return nil, err
  1128. }
  1129. return dAtA[:n], nil
  1130. }
  1131. func (m *Tester) MarshalTo(dAtA []byte) (int, error) {
  1132. var i int
  1133. _ = i
  1134. var l int
  1135. _ = l
  1136. if len(m.DataDir) > 0 {
  1137. dAtA[i] = 0xa
  1138. i++
  1139. i = encodeVarintRpc(dAtA, i, uint64(len(m.DataDir)))
  1140. i += copy(dAtA[i:], m.DataDir)
  1141. }
  1142. if len(m.Network) > 0 {
  1143. dAtA[i] = 0x12
  1144. i++
  1145. i = encodeVarintRpc(dAtA, i, uint64(len(m.Network)))
  1146. i += copy(dAtA[i:], m.Network)
  1147. }
  1148. if len(m.Addr) > 0 {
  1149. dAtA[i] = 0x1a
  1150. i++
  1151. i = encodeVarintRpc(dAtA, i, uint64(len(m.Addr)))
  1152. i += copy(dAtA[i:], m.Addr)
  1153. }
  1154. if m.DelayLatencyMs != 0 {
  1155. dAtA[i] = 0x58
  1156. i++
  1157. i = encodeVarintRpc(dAtA, i, uint64(m.DelayLatencyMs))
  1158. }
  1159. if m.DelayLatencyMsRv != 0 {
  1160. dAtA[i] = 0x60
  1161. i++
  1162. i = encodeVarintRpc(dAtA, i, uint64(m.DelayLatencyMsRv))
  1163. }
  1164. if m.UpdatedDelayLatencyMs != 0 {
  1165. dAtA[i] = 0x68
  1166. i++
  1167. i = encodeVarintRpc(dAtA, i, uint64(m.UpdatedDelayLatencyMs))
  1168. }
  1169. if m.RoundLimit != 0 {
  1170. dAtA[i] = 0xa8
  1171. i++
  1172. dAtA[i] = 0x1
  1173. i++
  1174. i = encodeVarintRpc(dAtA, i, uint64(m.RoundLimit))
  1175. }
  1176. if m.ExitOnFailure {
  1177. dAtA[i] = 0xb0
  1178. i++
  1179. dAtA[i] = 0x1
  1180. i++
  1181. if m.ExitOnFailure {
  1182. dAtA[i] = 1
  1183. } else {
  1184. dAtA[i] = 0
  1185. }
  1186. i++
  1187. }
  1188. if m.ConsistencyCheck {
  1189. dAtA[i] = 0xb8
  1190. i++
  1191. dAtA[i] = 0x1
  1192. i++
  1193. if m.ConsistencyCheck {
  1194. dAtA[i] = 1
  1195. } else {
  1196. dAtA[i] = 0
  1197. }
  1198. i++
  1199. }
  1200. if m.EnablePprof {
  1201. dAtA[i] = 0xc0
  1202. i++
  1203. dAtA[i] = 0x1
  1204. i++
  1205. if m.EnablePprof {
  1206. dAtA[i] = 1
  1207. } else {
  1208. dAtA[i] = 0
  1209. }
  1210. i++
  1211. }
  1212. if m.FailureDelayMs != 0 {
  1213. dAtA[i] = 0xf8
  1214. i++
  1215. dAtA[i] = 0x1
  1216. i++
  1217. i = encodeVarintRpc(dAtA, i, uint64(m.FailureDelayMs))
  1218. }
  1219. if m.FailureShuffle {
  1220. dAtA[i] = 0x80
  1221. i++
  1222. dAtA[i] = 0x2
  1223. i++
  1224. if m.FailureShuffle {
  1225. dAtA[i] = 1
  1226. } else {
  1227. dAtA[i] = 0
  1228. }
  1229. i++
  1230. }
  1231. if len(m.FailureCases) > 0 {
  1232. for _, s := range m.FailureCases {
  1233. dAtA[i] = 0x8a
  1234. i++
  1235. dAtA[i] = 0x2
  1236. i++
  1237. l = len(s)
  1238. for l >= 1<<7 {
  1239. dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
  1240. l >>= 7
  1241. i++
  1242. }
  1243. dAtA[i] = uint8(l)
  1244. i++
  1245. i += copy(dAtA[i:], s)
  1246. }
  1247. }
  1248. if len(m.FailpointCommands) > 0 {
  1249. for _, s := range m.FailpointCommands {
  1250. dAtA[i] = 0x92
  1251. i++
  1252. dAtA[i] = 0x2
  1253. i++
  1254. l = len(s)
  1255. for l >= 1<<7 {
  1256. dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
  1257. l >>= 7
  1258. i++
  1259. }
  1260. dAtA[i] = uint8(l)
  1261. i++
  1262. i += copy(dAtA[i:], s)
  1263. }
  1264. }
  1265. if len(m.RunnerExecPath) > 0 {
  1266. dAtA[i] = 0xca
  1267. i++
  1268. dAtA[i] = 0x2
  1269. i++
  1270. i = encodeVarintRpc(dAtA, i, uint64(len(m.RunnerExecPath)))
  1271. i += copy(dAtA[i:], m.RunnerExecPath)
  1272. }
  1273. if len(m.ExternalExecPath) > 0 {
  1274. dAtA[i] = 0xd2
  1275. i++
  1276. dAtA[i] = 0x2
  1277. i++
  1278. i = encodeVarintRpc(dAtA, i, uint64(len(m.ExternalExecPath)))
  1279. i += copy(dAtA[i:], m.ExternalExecPath)
  1280. }
  1281. if len(m.StressTypes) > 0 {
  1282. for _, s := range m.StressTypes {
  1283. dAtA[i] = 0xaa
  1284. i++
  1285. dAtA[i] = 0x6
  1286. i++
  1287. l = len(s)
  1288. for l >= 1<<7 {
  1289. dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
  1290. l >>= 7
  1291. i++
  1292. }
  1293. dAtA[i] = uint8(l)
  1294. i++
  1295. i += copy(dAtA[i:], s)
  1296. }
  1297. }
  1298. if m.StressKeySize != 0 {
  1299. dAtA[i] = 0xb0
  1300. i++
  1301. dAtA[i] = 0x6
  1302. i++
  1303. i = encodeVarintRpc(dAtA, i, uint64(m.StressKeySize))
  1304. }
  1305. if m.StressKeySizeLarge != 0 {
  1306. dAtA[i] = 0xb8
  1307. i++
  1308. dAtA[i] = 0x6
  1309. i++
  1310. i = encodeVarintRpc(dAtA, i, uint64(m.StressKeySizeLarge))
  1311. }
  1312. if m.StressKeySuffixRange != 0 {
  1313. dAtA[i] = 0xc0
  1314. i++
  1315. dAtA[i] = 0x6
  1316. i++
  1317. i = encodeVarintRpc(dAtA, i, uint64(m.StressKeySuffixRange))
  1318. }
  1319. if m.StressKeySuffixRangeTxn != 0 {
  1320. dAtA[i] = 0xc8
  1321. i++
  1322. dAtA[i] = 0x6
  1323. i++
  1324. i = encodeVarintRpc(dAtA, i, uint64(m.StressKeySuffixRangeTxn))
  1325. }
  1326. if m.StressKeyTxnOps != 0 {
  1327. dAtA[i] = 0xd0
  1328. i++
  1329. dAtA[i] = 0x6
  1330. i++
  1331. i = encodeVarintRpc(dAtA, i, uint64(m.StressKeyTxnOps))
  1332. }
  1333. if m.StressClients != 0 {
  1334. dAtA[i] = 0xc8
  1335. i++
  1336. dAtA[i] = 0xc
  1337. i++
  1338. i = encodeVarintRpc(dAtA, i, uint64(m.StressClients))
  1339. }
  1340. if m.StressQPS != 0 {
  1341. dAtA[i] = 0xd0
  1342. i++
  1343. dAtA[i] = 0xc
  1344. i++
  1345. i = encodeVarintRpc(dAtA, i, uint64(m.StressQPS))
  1346. }
  1347. return i, nil
  1348. }
  1349. func (m *Request) Marshal() (dAtA []byte, err error) {
  1350. size := m.Size()
  1351. dAtA = make([]byte, size)
  1352. n, err := m.MarshalTo(dAtA)
  1353. if err != nil {
  1354. return nil, err
  1355. }
  1356. return dAtA[:n], nil
  1357. }
  1358. func (m *Request) MarshalTo(dAtA []byte) (int, error) {
  1359. var i int
  1360. _ = i
  1361. var l int
  1362. _ = l
  1363. if m.Operation != 0 {
  1364. dAtA[i] = 0x8
  1365. i++
  1366. i = encodeVarintRpc(dAtA, i, uint64(m.Operation))
  1367. }
  1368. if m.Member != nil {
  1369. dAtA[i] = 0x12
  1370. i++
  1371. i = encodeVarintRpc(dAtA, i, uint64(m.Member.Size()))
  1372. n2, err := m.Member.MarshalTo(dAtA[i:])
  1373. if err != nil {
  1374. return 0, err
  1375. }
  1376. i += n2
  1377. }
  1378. if m.Tester != nil {
  1379. dAtA[i] = 0x1a
  1380. i++
  1381. i = encodeVarintRpc(dAtA, i, uint64(m.Tester.Size()))
  1382. n3, err := m.Tester.MarshalTo(dAtA[i:])
  1383. if err != nil {
  1384. return 0, err
  1385. }
  1386. i += n3
  1387. }
  1388. return i, nil
  1389. }
  1390. func (m *Response) Marshal() (dAtA []byte, err error) {
  1391. size := m.Size()
  1392. dAtA = make([]byte, size)
  1393. n, err := m.MarshalTo(dAtA)
  1394. if err != nil {
  1395. return nil, err
  1396. }
  1397. return dAtA[:n], nil
  1398. }
  1399. func (m *Response) MarshalTo(dAtA []byte) (int, error) {
  1400. var i int
  1401. _ = i
  1402. var l int
  1403. _ = l
  1404. if m.Success {
  1405. dAtA[i] = 0x8
  1406. i++
  1407. if m.Success {
  1408. dAtA[i] = 1
  1409. } else {
  1410. dAtA[i] = 0
  1411. }
  1412. i++
  1413. }
  1414. if len(m.Status) > 0 {
  1415. dAtA[i] = 0x12
  1416. i++
  1417. i = encodeVarintRpc(dAtA, i, uint64(len(m.Status)))
  1418. i += copy(dAtA[i:], m.Status)
  1419. }
  1420. if m.Member != nil {
  1421. dAtA[i] = 0x1a
  1422. i++
  1423. i = encodeVarintRpc(dAtA, i, uint64(m.Member.Size()))
  1424. n4, err := m.Member.MarshalTo(dAtA[i:])
  1425. if err != nil {
  1426. return 0, err
  1427. }
  1428. i += n4
  1429. }
  1430. return i, nil
  1431. }
  1432. func encodeVarintRpc(dAtA []byte, offset int, v uint64) int {
  1433. for v >= 1<<7 {
  1434. dAtA[offset] = uint8(v&0x7f | 0x80)
  1435. v >>= 7
  1436. offset++
  1437. }
  1438. dAtA[offset] = uint8(v)
  1439. return offset + 1
  1440. }
  1441. func (m *Etcd) Size() (n int) {
  1442. var l int
  1443. _ = l
  1444. l = len(m.Name)
  1445. if l > 0 {
  1446. n += 1 + l + sovRpc(uint64(l))
  1447. }
  1448. l = len(m.DataDir)
  1449. if l > 0 {
  1450. n += 1 + l + sovRpc(uint64(l))
  1451. }
  1452. l = len(m.WALDir)
  1453. if l > 0 {
  1454. n += 1 + l + sovRpc(uint64(l))
  1455. }
  1456. if m.HeartbeatIntervalMs != 0 {
  1457. n += 1 + sovRpc(uint64(m.HeartbeatIntervalMs))
  1458. }
  1459. if m.ElectionTimeoutMs != 0 {
  1460. n += 1 + sovRpc(uint64(m.ElectionTimeoutMs))
  1461. }
  1462. if len(m.ListenClientURLs) > 0 {
  1463. for _, s := range m.ListenClientURLs {
  1464. l = len(s)
  1465. n += 2 + l + sovRpc(uint64(l))
  1466. }
  1467. }
  1468. if len(m.AdvertiseClientURLs) > 0 {
  1469. for _, s := range m.AdvertiseClientURLs {
  1470. l = len(s)
  1471. n += 2 + l + sovRpc(uint64(l))
  1472. }
  1473. }
  1474. if m.ClientAutoTLS {
  1475. n += 3
  1476. }
  1477. if m.ClientCertAuth {
  1478. n += 3
  1479. }
  1480. l = len(m.ClientCertFile)
  1481. if l > 0 {
  1482. n += 2 + l + sovRpc(uint64(l))
  1483. }
  1484. l = len(m.ClientKeyFile)
  1485. if l > 0 {
  1486. n += 2 + l + sovRpc(uint64(l))
  1487. }
  1488. l = len(m.ClientTrustedCAFile)
  1489. if l > 0 {
  1490. n += 2 + l + sovRpc(uint64(l))
  1491. }
  1492. if len(m.ListenPeerURLs) > 0 {
  1493. for _, s := range m.ListenPeerURLs {
  1494. l = len(s)
  1495. n += 2 + l + sovRpc(uint64(l))
  1496. }
  1497. }
  1498. if len(m.AdvertisePeerURLs) > 0 {
  1499. for _, s := range m.AdvertisePeerURLs {
  1500. l = len(s)
  1501. n += 2 + l + sovRpc(uint64(l))
  1502. }
  1503. }
  1504. if m.PeerAutoTLS {
  1505. n += 3
  1506. }
  1507. if m.PeerClientCertAuth {
  1508. n += 3
  1509. }
  1510. l = len(m.PeerCertFile)
  1511. if l > 0 {
  1512. n += 2 + l + sovRpc(uint64(l))
  1513. }
  1514. l = len(m.PeerKeyFile)
  1515. if l > 0 {
  1516. n += 2 + l + sovRpc(uint64(l))
  1517. }
  1518. l = len(m.PeerTrustedCAFile)
  1519. if l > 0 {
  1520. n += 2 + l + sovRpc(uint64(l))
  1521. }
  1522. l = len(m.InitialCluster)
  1523. if l > 0 {
  1524. n += 2 + l + sovRpc(uint64(l))
  1525. }
  1526. l = len(m.InitialClusterState)
  1527. if l > 0 {
  1528. n += 2 + l + sovRpc(uint64(l))
  1529. }
  1530. l = len(m.InitialClusterToken)
  1531. if l > 0 {
  1532. n += 2 + l + sovRpc(uint64(l))
  1533. }
  1534. if m.SnapshotCount != 0 {
  1535. n += 2 + sovRpc(uint64(m.SnapshotCount))
  1536. }
  1537. if m.QuotaBackendBytes != 0 {
  1538. n += 2 + sovRpc(uint64(m.QuotaBackendBytes))
  1539. }
  1540. if m.PreVote {
  1541. n += 3
  1542. }
  1543. if m.InitialCorruptCheck {
  1544. n += 3
  1545. }
  1546. return n
  1547. }
  1548. func (m *Member) Size() (n int) {
  1549. var l int
  1550. _ = l
  1551. l = len(m.EtcdExecPath)
  1552. if l > 0 {
  1553. n += 1 + l + sovRpc(uint64(l))
  1554. }
  1555. l = len(m.AgentAddr)
  1556. if l > 0 {
  1557. n += 1 + l + sovRpc(uint64(l))
  1558. }
  1559. l = len(m.FailpointHTTPAddr)
  1560. if l > 0 {
  1561. n += 1 + l + sovRpc(uint64(l))
  1562. }
  1563. l = len(m.BaseDir)
  1564. if l > 0 {
  1565. n += 2 + l + sovRpc(uint64(l))
  1566. }
  1567. l = len(m.EtcdLogPath)
  1568. if l > 0 {
  1569. n += 2 + l + sovRpc(uint64(l))
  1570. }
  1571. if m.EtcdClientProxy {
  1572. n += 3
  1573. }
  1574. if m.EtcdPeerProxy {
  1575. n += 3
  1576. }
  1577. l = len(m.EtcdClientEndpoint)
  1578. if l > 0 {
  1579. n += 2 + l + sovRpc(uint64(l))
  1580. }
  1581. if m.Etcd != nil {
  1582. l = m.Etcd.Size()
  1583. n += 2 + l + sovRpc(uint64(l))
  1584. }
  1585. l = len(m.ClientCertData)
  1586. if l > 0 {
  1587. n += 2 + l + sovRpc(uint64(l))
  1588. }
  1589. l = len(m.ClientCertPath)
  1590. if l > 0 {
  1591. n += 2 + l + sovRpc(uint64(l))
  1592. }
  1593. l = len(m.ClientKeyData)
  1594. if l > 0 {
  1595. n += 2 + l + sovRpc(uint64(l))
  1596. }
  1597. l = len(m.ClientKeyPath)
  1598. if l > 0 {
  1599. n += 2 + l + sovRpc(uint64(l))
  1600. }
  1601. l = len(m.ClientTrustedCAData)
  1602. if l > 0 {
  1603. n += 2 + l + sovRpc(uint64(l))
  1604. }
  1605. l = len(m.ClientTrustedCAPath)
  1606. if l > 0 {
  1607. n += 2 + l + sovRpc(uint64(l))
  1608. }
  1609. l = len(m.PeerCertData)
  1610. if l > 0 {
  1611. n += 2 + l + sovRpc(uint64(l))
  1612. }
  1613. l = len(m.PeerCertPath)
  1614. if l > 0 {
  1615. n += 2 + l + sovRpc(uint64(l))
  1616. }
  1617. l = len(m.PeerKeyData)
  1618. if l > 0 {
  1619. n += 2 + l + sovRpc(uint64(l))
  1620. }
  1621. l = len(m.PeerKeyPath)
  1622. if l > 0 {
  1623. n += 2 + l + sovRpc(uint64(l))
  1624. }
  1625. l = len(m.PeerTrustedCAData)
  1626. if l > 0 {
  1627. n += 2 + l + sovRpc(uint64(l))
  1628. }
  1629. l = len(m.PeerTrustedCAPath)
  1630. if l > 0 {
  1631. n += 2 + l + sovRpc(uint64(l))
  1632. }
  1633. return n
  1634. }
  1635. func (m *Tester) Size() (n int) {
  1636. var l int
  1637. _ = l
  1638. l = len(m.DataDir)
  1639. if l > 0 {
  1640. n += 1 + l + sovRpc(uint64(l))
  1641. }
  1642. l = len(m.Network)
  1643. if l > 0 {
  1644. n += 1 + l + sovRpc(uint64(l))
  1645. }
  1646. l = len(m.Addr)
  1647. if l > 0 {
  1648. n += 1 + l + sovRpc(uint64(l))
  1649. }
  1650. if m.DelayLatencyMs != 0 {
  1651. n += 1 + sovRpc(uint64(m.DelayLatencyMs))
  1652. }
  1653. if m.DelayLatencyMsRv != 0 {
  1654. n += 1 + sovRpc(uint64(m.DelayLatencyMsRv))
  1655. }
  1656. if m.UpdatedDelayLatencyMs != 0 {
  1657. n += 1 + sovRpc(uint64(m.UpdatedDelayLatencyMs))
  1658. }
  1659. if m.RoundLimit != 0 {
  1660. n += 2 + sovRpc(uint64(m.RoundLimit))
  1661. }
  1662. if m.ExitOnFailure {
  1663. n += 3
  1664. }
  1665. if m.ConsistencyCheck {
  1666. n += 3
  1667. }
  1668. if m.EnablePprof {
  1669. n += 3
  1670. }
  1671. if m.FailureDelayMs != 0 {
  1672. n += 2 + sovRpc(uint64(m.FailureDelayMs))
  1673. }
  1674. if m.FailureShuffle {
  1675. n += 3
  1676. }
  1677. if len(m.FailureCases) > 0 {
  1678. for _, s := range m.FailureCases {
  1679. l = len(s)
  1680. n += 2 + l + sovRpc(uint64(l))
  1681. }
  1682. }
  1683. if len(m.FailpointCommands) > 0 {
  1684. for _, s := range m.FailpointCommands {
  1685. l = len(s)
  1686. n += 2 + l + sovRpc(uint64(l))
  1687. }
  1688. }
  1689. l = len(m.RunnerExecPath)
  1690. if l > 0 {
  1691. n += 2 + l + sovRpc(uint64(l))
  1692. }
  1693. l = len(m.ExternalExecPath)
  1694. if l > 0 {
  1695. n += 2 + l + sovRpc(uint64(l))
  1696. }
  1697. if len(m.StressTypes) > 0 {
  1698. for _, s := range m.StressTypes {
  1699. l = len(s)
  1700. n += 2 + l + sovRpc(uint64(l))
  1701. }
  1702. }
  1703. if m.StressKeySize != 0 {
  1704. n += 2 + sovRpc(uint64(m.StressKeySize))
  1705. }
  1706. if m.StressKeySizeLarge != 0 {
  1707. n += 2 + sovRpc(uint64(m.StressKeySizeLarge))
  1708. }
  1709. if m.StressKeySuffixRange != 0 {
  1710. n += 2 + sovRpc(uint64(m.StressKeySuffixRange))
  1711. }
  1712. if m.StressKeySuffixRangeTxn != 0 {
  1713. n += 2 + sovRpc(uint64(m.StressKeySuffixRangeTxn))
  1714. }
  1715. if m.StressKeyTxnOps != 0 {
  1716. n += 2 + sovRpc(uint64(m.StressKeyTxnOps))
  1717. }
  1718. if m.StressClients != 0 {
  1719. n += 2 + sovRpc(uint64(m.StressClients))
  1720. }
  1721. if m.StressQPS != 0 {
  1722. n += 2 + sovRpc(uint64(m.StressQPS))
  1723. }
  1724. return n
  1725. }
  1726. func (m *Request) Size() (n int) {
  1727. var l int
  1728. _ = l
  1729. if m.Operation != 0 {
  1730. n += 1 + sovRpc(uint64(m.Operation))
  1731. }
  1732. if m.Member != nil {
  1733. l = m.Member.Size()
  1734. n += 1 + l + sovRpc(uint64(l))
  1735. }
  1736. if m.Tester != nil {
  1737. l = m.Tester.Size()
  1738. n += 1 + l + sovRpc(uint64(l))
  1739. }
  1740. return n
  1741. }
  1742. func (m *Response) Size() (n int) {
  1743. var l int
  1744. _ = l
  1745. if m.Success {
  1746. n += 2
  1747. }
  1748. l = len(m.Status)
  1749. if l > 0 {
  1750. n += 1 + l + sovRpc(uint64(l))
  1751. }
  1752. if m.Member != nil {
  1753. l = m.Member.Size()
  1754. n += 1 + l + sovRpc(uint64(l))
  1755. }
  1756. return n
  1757. }
  1758. func sovRpc(x uint64) (n int) {
  1759. for {
  1760. n++
  1761. x >>= 7
  1762. if x == 0 {
  1763. break
  1764. }
  1765. }
  1766. return n
  1767. }
  1768. func sozRpc(x uint64) (n int) {
  1769. return sovRpc(uint64((x << 1) ^ uint64((int64(x) >> 63))))
  1770. }
  1771. func (m *Etcd) Unmarshal(dAtA []byte) error {
  1772. l := len(dAtA)
  1773. iNdEx := 0
  1774. for iNdEx < l {
  1775. preIndex := iNdEx
  1776. var wire uint64
  1777. for shift := uint(0); ; shift += 7 {
  1778. if shift >= 64 {
  1779. return ErrIntOverflowRpc
  1780. }
  1781. if iNdEx >= l {
  1782. return io.ErrUnexpectedEOF
  1783. }
  1784. b := dAtA[iNdEx]
  1785. iNdEx++
  1786. wire |= (uint64(b) & 0x7F) << shift
  1787. if b < 0x80 {
  1788. break
  1789. }
  1790. }
  1791. fieldNum := int32(wire >> 3)
  1792. wireType := int(wire & 0x7)
  1793. if wireType == 4 {
  1794. return fmt.Errorf("proto: Etcd: wiretype end group for non-group")
  1795. }
  1796. if fieldNum <= 0 {
  1797. return fmt.Errorf("proto: Etcd: illegal tag %d (wire type %d)", fieldNum, wire)
  1798. }
  1799. switch fieldNum {
  1800. case 1:
  1801. if wireType != 2 {
  1802. return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  1803. }
  1804. var stringLen uint64
  1805. for shift := uint(0); ; shift += 7 {
  1806. if shift >= 64 {
  1807. return ErrIntOverflowRpc
  1808. }
  1809. if iNdEx >= l {
  1810. return io.ErrUnexpectedEOF
  1811. }
  1812. b := dAtA[iNdEx]
  1813. iNdEx++
  1814. stringLen |= (uint64(b) & 0x7F) << shift
  1815. if b < 0x80 {
  1816. break
  1817. }
  1818. }
  1819. intStringLen := int(stringLen)
  1820. if intStringLen < 0 {
  1821. return ErrInvalidLengthRpc
  1822. }
  1823. postIndex := iNdEx + intStringLen
  1824. if postIndex > l {
  1825. return io.ErrUnexpectedEOF
  1826. }
  1827. m.Name = string(dAtA[iNdEx:postIndex])
  1828. iNdEx = postIndex
  1829. case 2:
  1830. if wireType != 2 {
  1831. return fmt.Errorf("proto: wrong wireType = %d for field DataDir", wireType)
  1832. }
  1833. var stringLen uint64
  1834. for shift := uint(0); ; shift += 7 {
  1835. if shift >= 64 {
  1836. return ErrIntOverflowRpc
  1837. }
  1838. if iNdEx >= l {
  1839. return io.ErrUnexpectedEOF
  1840. }
  1841. b := dAtA[iNdEx]
  1842. iNdEx++
  1843. stringLen |= (uint64(b) & 0x7F) << shift
  1844. if b < 0x80 {
  1845. break
  1846. }
  1847. }
  1848. intStringLen := int(stringLen)
  1849. if intStringLen < 0 {
  1850. return ErrInvalidLengthRpc
  1851. }
  1852. postIndex := iNdEx + intStringLen
  1853. if postIndex > l {
  1854. return io.ErrUnexpectedEOF
  1855. }
  1856. m.DataDir = string(dAtA[iNdEx:postIndex])
  1857. iNdEx = postIndex
  1858. case 3:
  1859. if wireType != 2 {
  1860. return fmt.Errorf("proto: wrong wireType = %d for field WALDir", wireType)
  1861. }
  1862. var stringLen uint64
  1863. for shift := uint(0); ; shift += 7 {
  1864. if shift >= 64 {
  1865. return ErrIntOverflowRpc
  1866. }
  1867. if iNdEx >= l {
  1868. return io.ErrUnexpectedEOF
  1869. }
  1870. b := dAtA[iNdEx]
  1871. iNdEx++
  1872. stringLen |= (uint64(b) & 0x7F) << shift
  1873. if b < 0x80 {
  1874. break
  1875. }
  1876. }
  1877. intStringLen := int(stringLen)
  1878. if intStringLen < 0 {
  1879. return ErrInvalidLengthRpc
  1880. }
  1881. postIndex := iNdEx + intStringLen
  1882. if postIndex > l {
  1883. return io.ErrUnexpectedEOF
  1884. }
  1885. m.WALDir = string(dAtA[iNdEx:postIndex])
  1886. iNdEx = postIndex
  1887. case 11:
  1888. if wireType != 0 {
  1889. return fmt.Errorf("proto: wrong wireType = %d for field HeartbeatIntervalMs", wireType)
  1890. }
  1891. m.HeartbeatIntervalMs = 0
  1892. for shift := uint(0); ; shift += 7 {
  1893. if shift >= 64 {
  1894. return ErrIntOverflowRpc
  1895. }
  1896. if iNdEx >= l {
  1897. return io.ErrUnexpectedEOF
  1898. }
  1899. b := dAtA[iNdEx]
  1900. iNdEx++
  1901. m.HeartbeatIntervalMs |= (int64(b) & 0x7F) << shift
  1902. if b < 0x80 {
  1903. break
  1904. }
  1905. }
  1906. case 12:
  1907. if wireType != 0 {
  1908. return fmt.Errorf("proto: wrong wireType = %d for field ElectionTimeoutMs", wireType)
  1909. }
  1910. m.ElectionTimeoutMs = 0
  1911. for shift := uint(0); ; shift += 7 {
  1912. if shift >= 64 {
  1913. return ErrIntOverflowRpc
  1914. }
  1915. if iNdEx >= l {
  1916. return io.ErrUnexpectedEOF
  1917. }
  1918. b := dAtA[iNdEx]
  1919. iNdEx++
  1920. m.ElectionTimeoutMs |= (int64(b) & 0x7F) << shift
  1921. if b < 0x80 {
  1922. break
  1923. }
  1924. }
  1925. case 21:
  1926. if wireType != 2 {
  1927. return fmt.Errorf("proto: wrong wireType = %d for field ListenClientURLs", wireType)
  1928. }
  1929. var stringLen uint64
  1930. for shift := uint(0); ; shift += 7 {
  1931. if shift >= 64 {
  1932. return ErrIntOverflowRpc
  1933. }
  1934. if iNdEx >= l {
  1935. return io.ErrUnexpectedEOF
  1936. }
  1937. b := dAtA[iNdEx]
  1938. iNdEx++
  1939. stringLen |= (uint64(b) & 0x7F) << shift
  1940. if b < 0x80 {
  1941. break
  1942. }
  1943. }
  1944. intStringLen := int(stringLen)
  1945. if intStringLen < 0 {
  1946. return ErrInvalidLengthRpc
  1947. }
  1948. postIndex := iNdEx + intStringLen
  1949. if postIndex > l {
  1950. return io.ErrUnexpectedEOF
  1951. }
  1952. m.ListenClientURLs = append(m.ListenClientURLs, string(dAtA[iNdEx:postIndex]))
  1953. iNdEx = postIndex
  1954. case 22:
  1955. if wireType != 2 {
  1956. return fmt.Errorf("proto: wrong wireType = %d for field AdvertiseClientURLs", wireType)
  1957. }
  1958. var stringLen uint64
  1959. for shift := uint(0); ; shift += 7 {
  1960. if shift >= 64 {
  1961. return ErrIntOverflowRpc
  1962. }
  1963. if iNdEx >= l {
  1964. return io.ErrUnexpectedEOF
  1965. }
  1966. b := dAtA[iNdEx]
  1967. iNdEx++
  1968. stringLen |= (uint64(b) & 0x7F) << shift
  1969. if b < 0x80 {
  1970. break
  1971. }
  1972. }
  1973. intStringLen := int(stringLen)
  1974. if intStringLen < 0 {
  1975. return ErrInvalidLengthRpc
  1976. }
  1977. postIndex := iNdEx + intStringLen
  1978. if postIndex > l {
  1979. return io.ErrUnexpectedEOF
  1980. }
  1981. m.AdvertiseClientURLs = append(m.AdvertiseClientURLs, string(dAtA[iNdEx:postIndex]))
  1982. iNdEx = postIndex
  1983. case 23:
  1984. if wireType != 0 {
  1985. return fmt.Errorf("proto: wrong wireType = %d for field ClientAutoTLS", wireType)
  1986. }
  1987. var v int
  1988. for shift := uint(0); ; shift += 7 {
  1989. if shift >= 64 {
  1990. return ErrIntOverflowRpc
  1991. }
  1992. if iNdEx >= l {
  1993. return io.ErrUnexpectedEOF
  1994. }
  1995. b := dAtA[iNdEx]
  1996. iNdEx++
  1997. v |= (int(b) & 0x7F) << shift
  1998. if b < 0x80 {
  1999. break
  2000. }
  2001. }
  2002. m.ClientAutoTLS = bool(v != 0)
  2003. case 24:
  2004. if wireType != 0 {
  2005. return fmt.Errorf("proto: wrong wireType = %d for field ClientCertAuth", wireType)
  2006. }
  2007. var v int
  2008. for shift := uint(0); ; shift += 7 {
  2009. if shift >= 64 {
  2010. return ErrIntOverflowRpc
  2011. }
  2012. if iNdEx >= l {
  2013. return io.ErrUnexpectedEOF
  2014. }
  2015. b := dAtA[iNdEx]
  2016. iNdEx++
  2017. v |= (int(b) & 0x7F) << shift
  2018. if b < 0x80 {
  2019. break
  2020. }
  2021. }
  2022. m.ClientCertAuth = bool(v != 0)
  2023. case 25:
  2024. if wireType != 2 {
  2025. return fmt.Errorf("proto: wrong wireType = %d for field ClientCertFile", wireType)
  2026. }
  2027. var stringLen uint64
  2028. for shift := uint(0); ; shift += 7 {
  2029. if shift >= 64 {
  2030. return ErrIntOverflowRpc
  2031. }
  2032. if iNdEx >= l {
  2033. return io.ErrUnexpectedEOF
  2034. }
  2035. b := dAtA[iNdEx]
  2036. iNdEx++
  2037. stringLen |= (uint64(b) & 0x7F) << shift
  2038. if b < 0x80 {
  2039. break
  2040. }
  2041. }
  2042. intStringLen := int(stringLen)
  2043. if intStringLen < 0 {
  2044. return ErrInvalidLengthRpc
  2045. }
  2046. postIndex := iNdEx + intStringLen
  2047. if postIndex > l {
  2048. return io.ErrUnexpectedEOF
  2049. }
  2050. m.ClientCertFile = string(dAtA[iNdEx:postIndex])
  2051. iNdEx = postIndex
  2052. case 26:
  2053. if wireType != 2 {
  2054. return fmt.Errorf("proto: wrong wireType = %d for field ClientKeyFile", wireType)
  2055. }
  2056. var stringLen uint64
  2057. for shift := uint(0); ; shift += 7 {
  2058. if shift >= 64 {
  2059. return ErrIntOverflowRpc
  2060. }
  2061. if iNdEx >= l {
  2062. return io.ErrUnexpectedEOF
  2063. }
  2064. b := dAtA[iNdEx]
  2065. iNdEx++
  2066. stringLen |= (uint64(b) & 0x7F) << shift
  2067. if b < 0x80 {
  2068. break
  2069. }
  2070. }
  2071. intStringLen := int(stringLen)
  2072. if intStringLen < 0 {
  2073. return ErrInvalidLengthRpc
  2074. }
  2075. postIndex := iNdEx + intStringLen
  2076. if postIndex > l {
  2077. return io.ErrUnexpectedEOF
  2078. }
  2079. m.ClientKeyFile = string(dAtA[iNdEx:postIndex])
  2080. iNdEx = postIndex
  2081. case 27:
  2082. if wireType != 2 {
  2083. return fmt.Errorf("proto: wrong wireType = %d for field ClientTrustedCAFile", wireType)
  2084. }
  2085. var stringLen uint64
  2086. for shift := uint(0); ; shift += 7 {
  2087. if shift >= 64 {
  2088. return ErrIntOverflowRpc
  2089. }
  2090. if iNdEx >= l {
  2091. return io.ErrUnexpectedEOF
  2092. }
  2093. b := dAtA[iNdEx]
  2094. iNdEx++
  2095. stringLen |= (uint64(b) & 0x7F) << shift
  2096. if b < 0x80 {
  2097. break
  2098. }
  2099. }
  2100. intStringLen := int(stringLen)
  2101. if intStringLen < 0 {
  2102. return ErrInvalidLengthRpc
  2103. }
  2104. postIndex := iNdEx + intStringLen
  2105. if postIndex > l {
  2106. return io.ErrUnexpectedEOF
  2107. }
  2108. m.ClientTrustedCAFile = string(dAtA[iNdEx:postIndex])
  2109. iNdEx = postIndex
  2110. case 31:
  2111. if wireType != 2 {
  2112. return fmt.Errorf("proto: wrong wireType = %d for field ListenPeerURLs", wireType)
  2113. }
  2114. var stringLen uint64
  2115. for shift := uint(0); ; shift += 7 {
  2116. if shift >= 64 {
  2117. return ErrIntOverflowRpc
  2118. }
  2119. if iNdEx >= l {
  2120. return io.ErrUnexpectedEOF
  2121. }
  2122. b := dAtA[iNdEx]
  2123. iNdEx++
  2124. stringLen |= (uint64(b) & 0x7F) << shift
  2125. if b < 0x80 {
  2126. break
  2127. }
  2128. }
  2129. intStringLen := int(stringLen)
  2130. if intStringLen < 0 {
  2131. return ErrInvalidLengthRpc
  2132. }
  2133. postIndex := iNdEx + intStringLen
  2134. if postIndex > l {
  2135. return io.ErrUnexpectedEOF
  2136. }
  2137. m.ListenPeerURLs = append(m.ListenPeerURLs, string(dAtA[iNdEx:postIndex]))
  2138. iNdEx = postIndex
  2139. case 32:
  2140. if wireType != 2 {
  2141. return fmt.Errorf("proto: wrong wireType = %d for field AdvertisePeerURLs", wireType)
  2142. }
  2143. var stringLen uint64
  2144. for shift := uint(0); ; shift += 7 {
  2145. if shift >= 64 {
  2146. return ErrIntOverflowRpc
  2147. }
  2148. if iNdEx >= l {
  2149. return io.ErrUnexpectedEOF
  2150. }
  2151. b := dAtA[iNdEx]
  2152. iNdEx++
  2153. stringLen |= (uint64(b) & 0x7F) << shift
  2154. if b < 0x80 {
  2155. break
  2156. }
  2157. }
  2158. intStringLen := int(stringLen)
  2159. if intStringLen < 0 {
  2160. return ErrInvalidLengthRpc
  2161. }
  2162. postIndex := iNdEx + intStringLen
  2163. if postIndex > l {
  2164. return io.ErrUnexpectedEOF
  2165. }
  2166. m.AdvertisePeerURLs = append(m.AdvertisePeerURLs, string(dAtA[iNdEx:postIndex]))
  2167. iNdEx = postIndex
  2168. case 33:
  2169. if wireType != 0 {
  2170. return fmt.Errorf("proto: wrong wireType = %d for field PeerAutoTLS", wireType)
  2171. }
  2172. var v int
  2173. for shift := uint(0); ; shift += 7 {
  2174. if shift >= 64 {
  2175. return ErrIntOverflowRpc
  2176. }
  2177. if iNdEx >= l {
  2178. return io.ErrUnexpectedEOF
  2179. }
  2180. b := dAtA[iNdEx]
  2181. iNdEx++
  2182. v |= (int(b) & 0x7F) << shift
  2183. if b < 0x80 {
  2184. break
  2185. }
  2186. }
  2187. m.PeerAutoTLS = bool(v != 0)
  2188. case 34:
  2189. if wireType != 0 {
  2190. return fmt.Errorf("proto: wrong wireType = %d for field PeerClientCertAuth", wireType)
  2191. }
  2192. var v int
  2193. for shift := uint(0); ; shift += 7 {
  2194. if shift >= 64 {
  2195. return ErrIntOverflowRpc
  2196. }
  2197. if iNdEx >= l {
  2198. return io.ErrUnexpectedEOF
  2199. }
  2200. b := dAtA[iNdEx]
  2201. iNdEx++
  2202. v |= (int(b) & 0x7F) << shift
  2203. if b < 0x80 {
  2204. break
  2205. }
  2206. }
  2207. m.PeerClientCertAuth = bool(v != 0)
  2208. case 35:
  2209. if wireType != 2 {
  2210. return fmt.Errorf("proto: wrong wireType = %d for field PeerCertFile", wireType)
  2211. }
  2212. var stringLen uint64
  2213. for shift := uint(0); ; shift += 7 {
  2214. if shift >= 64 {
  2215. return ErrIntOverflowRpc
  2216. }
  2217. if iNdEx >= l {
  2218. return io.ErrUnexpectedEOF
  2219. }
  2220. b := dAtA[iNdEx]
  2221. iNdEx++
  2222. stringLen |= (uint64(b) & 0x7F) << shift
  2223. if b < 0x80 {
  2224. break
  2225. }
  2226. }
  2227. intStringLen := int(stringLen)
  2228. if intStringLen < 0 {
  2229. return ErrInvalidLengthRpc
  2230. }
  2231. postIndex := iNdEx + intStringLen
  2232. if postIndex > l {
  2233. return io.ErrUnexpectedEOF
  2234. }
  2235. m.PeerCertFile = string(dAtA[iNdEx:postIndex])
  2236. iNdEx = postIndex
  2237. case 36:
  2238. if wireType != 2 {
  2239. return fmt.Errorf("proto: wrong wireType = %d for field PeerKeyFile", wireType)
  2240. }
  2241. var stringLen uint64
  2242. for shift := uint(0); ; shift += 7 {
  2243. if shift >= 64 {
  2244. return ErrIntOverflowRpc
  2245. }
  2246. if iNdEx >= l {
  2247. return io.ErrUnexpectedEOF
  2248. }
  2249. b := dAtA[iNdEx]
  2250. iNdEx++
  2251. stringLen |= (uint64(b) & 0x7F) << shift
  2252. if b < 0x80 {
  2253. break
  2254. }
  2255. }
  2256. intStringLen := int(stringLen)
  2257. if intStringLen < 0 {
  2258. return ErrInvalidLengthRpc
  2259. }
  2260. postIndex := iNdEx + intStringLen
  2261. if postIndex > l {
  2262. return io.ErrUnexpectedEOF
  2263. }
  2264. m.PeerKeyFile = string(dAtA[iNdEx:postIndex])
  2265. iNdEx = postIndex
  2266. case 37:
  2267. if wireType != 2 {
  2268. return fmt.Errorf("proto: wrong wireType = %d for field PeerTrustedCAFile", wireType)
  2269. }
  2270. var stringLen uint64
  2271. for shift := uint(0); ; shift += 7 {
  2272. if shift >= 64 {
  2273. return ErrIntOverflowRpc
  2274. }
  2275. if iNdEx >= l {
  2276. return io.ErrUnexpectedEOF
  2277. }
  2278. b := dAtA[iNdEx]
  2279. iNdEx++
  2280. stringLen |= (uint64(b) & 0x7F) << shift
  2281. if b < 0x80 {
  2282. break
  2283. }
  2284. }
  2285. intStringLen := int(stringLen)
  2286. if intStringLen < 0 {
  2287. return ErrInvalidLengthRpc
  2288. }
  2289. postIndex := iNdEx + intStringLen
  2290. if postIndex > l {
  2291. return io.ErrUnexpectedEOF
  2292. }
  2293. m.PeerTrustedCAFile = string(dAtA[iNdEx:postIndex])
  2294. iNdEx = postIndex
  2295. case 41:
  2296. if wireType != 2 {
  2297. return fmt.Errorf("proto: wrong wireType = %d for field InitialCluster", wireType)
  2298. }
  2299. var stringLen uint64
  2300. for shift := uint(0); ; shift += 7 {
  2301. if shift >= 64 {
  2302. return ErrIntOverflowRpc
  2303. }
  2304. if iNdEx >= l {
  2305. return io.ErrUnexpectedEOF
  2306. }
  2307. b := dAtA[iNdEx]
  2308. iNdEx++
  2309. stringLen |= (uint64(b) & 0x7F) << shift
  2310. if b < 0x80 {
  2311. break
  2312. }
  2313. }
  2314. intStringLen := int(stringLen)
  2315. if intStringLen < 0 {
  2316. return ErrInvalidLengthRpc
  2317. }
  2318. postIndex := iNdEx + intStringLen
  2319. if postIndex > l {
  2320. return io.ErrUnexpectedEOF
  2321. }
  2322. m.InitialCluster = string(dAtA[iNdEx:postIndex])
  2323. iNdEx = postIndex
  2324. case 42:
  2325. if wireType != 2 {
  2326. return fmt.Errorf("proto: wrong wireType = %d for field InitialClusterState", wireType)
  2327. }
  2328. var stringLen uint64
  2329. for shift := uint(0); ; shift += 7 {
  2330. if shift >= 64 {
  2331. return ErrIntOverflowRpc
  2332. }
  2333. if iNdEx >= l {
  2334. return io.ErrUnexpectedEOF
  2335. }
  2336. b := dAtA[iNdEx]
  2337. iNdEx++
  2338. stringLen |= (uint64(b) & 0x7F) << shift
  2339. if b < 0x80 {
  2340. break
  2341. }
  2342. }
  2343. intStringLen := int(stringLen)
  2344. if intStringLen < 0 {
  2345. return ErrInvalidLengthRpc
  2346. }
  2347. postIndex := iNdEx + intStringLen
  2348. if postIndex > l {
  2349. return io.ErrUnexpectedEOF
  2350. }
  2351. m.InitialClusterState = string(dAtA[iNdEx:postIndex])
  2352. iNdEx = postIndex
  2353. case 43:
  2354. if wireType != 2 {
  2355. return fmt.Errorf("proto: wrong wireType = %d for field InitialClusterToken", wireType)
  2356. }
  2357. var stringLen uint64
  2358. for shift := uint(0); ; shift += 7 {
  2359. if shift >= 64 {
  2360. return ErrIntOverflowRpc
  2361. }
  2362. if iNdEx >= l {
  2363. return io.ErrUnexpectedEOF
  2364. }
  2365. b := dAtA[iNdEx]
  2366. iNdEx++
  2367. stringLen |= (uint64(b) & 0x7F) << shift
  2368. if b < 0x80 {
  2369. break
  2370. }
  2371. }
  2372. intStringLen := int(stringLen)
  2373. if intStringLen < 0 {
  2374. return ErrInvalidLengthRpc
  2375. }
  2376. postIndex := iNdEx + intStringLen
  2377. if postIndex > l {
  2378. return io.ErrUnexpectedEOF
  2379. }
  2380. m.InitialClusterToken = string(dAtA[iNdEx:postIndex])
  2381. iNdEx = postIndex
  2382. case 51:
  2383. if wireType != 0 {
  2384. return fmt.Errorf("proto: wrong wireType = %d for field SnapshotCount", wireType)
  2385. }
  2386. m.SnapshotCount = 0
  2387. for shift := uint(0); ; shift += 7 {
  2388. if shift >= 64 {
  2389. return ErrIntOverflowRpc
  2390. }
  2391. if iNdEx >= l {
  2392. return io.ErrUnexpectedEOF
  2393. }
  2394. b := dAtA[iNdEx]
  2395. iNdEx++
  2396. m.SnapshotCount |= (int64(b) & 0x7F) << shift
  2397. if b < 0x80 {
  2398. break
  2399. }
  2400. }
  2401. case 52:
  2402. if wireType != 0 {
  2403. return fmt.Errorf("proto: wrong wireType = %d for field QuotaBackendBytes", wireType)
  2404. }
  2405. m.QuotaBackendBytes = 0
  2406. for shift := uint(0); ; shift += 7 {
  2407. if shift >= 64 {
  2408. return ErrIntOverflowRpc
  2409. }
  2410. if iNdEx >= l {
  2411. return io.ErrUnexpectedEOF
  2412. }
  2413. b := dAtA[iNdEx]
  2414. iNdEx++
  2415. m.QuotaBackendBytes |= (int64(b) & 0x7F) << shift
  2416. if b < 0x80 {
  2417. break
  2418. }
  2419. }
  2420. case 63:
  2421. if wireType != 0 {
  2422. return fmt.Errorf("proto: wrong wireType = %d for field PreVote", wireType)
  2423. }
  2424. var v int
  2425. for shift := uint(0); ; shift += 7 {
  2426. if shift >= 64 {
  2427. return ErrIntOverflowRpc
  2428. }
  2429. if iNdEx >= l {
  2430. return io.ErrUnexpectedEOF
  2431. }
  2432. b := dAtA[iNdEx]
  2433. iNdEx++
  2434. v |= (int(b) & 0x7F) << shift
  2435. if b < 0x80 {
  2436. break
  2437. }
  2438. }
  2439. m.PreVote = bool(v != 0)
  2440. case 64:
  2441. if wireType != 0 {
  2442. return fmt.Errorf("proto: wrong wireType = %d for field InitialCorruptCheck", wireType)
  2443. }
  2444. var v int
  2445. for shift := uint(0); ; shift += 7 {
  2446. if shift >= 64 {
  2447. return ErrIntOverflowRpc
  2448. }
  2449. if iNdEx >= l {
  2450. return io.ErrUnexpectedEOF
  2451. }
  2452. b := dAtA[iNdEx]
  2453. iNdEx++
  2454. v |= (int(b) & 0x7F) << shift
  2455. if b < 0x80 {
  2456. break
  2457. }
  2458. }
  2459. m.InitialCorruptCheck = bool(v != 0)
  2460. default:
  2461. iNdEx = preIndex
  2462. skippy, err := skipRpc(dAtA[iNdEx:])
  2463. if err != nil {
  2464. return err
  2465. }
  2466. if skippy < 0 {
  2467. return ErrInvalidLengthRpc
  2468. }
  2469. if (iNdEx + skippy) > l {
  2470. return io.ErrUnexpectedEOF
  2471. }
  2472. iNdEx += skippy
  2473. }
  2474. }
  2475. if iNdEx > l {
  2476. return io.ErrUnexpectedEOF
  2477. }
  2478. return nil
  2479. }
  2480. func (m *Member) Unmarshal(dAtA []byte) error {
  2481. l := len(dAtA)
  2482. iNdEx := 0
  2483. for iNdEx < l {
  2484. preIndex := iNdEx
  2485. var wire uint64
  2486. for shift := uint(0); ; shift += 7 {
  2487. if shift >= 64 {
  2488. return ErrIntOverflowRpc
  2489. }
  2490. if iNdEx >= l {
  2491. return io.ErrUnexpectedEOF
  2492. }
  2493. b := dAtA[iNdEx]
  2494. iNdEx++
  2495. wire |= (uint64(b) & 0x7F) << shift
  2496. if b < 0x80 {
  2497. break
  2498. }
  2499. }
  2500. fieldNum := int32(wire >> 3)
  2501. wireType := int(wire & 0x7)
  2502. if wireType == 4 {
  2503. return fmt.Errorf("proto: Member: wiretype end group for non-group")
  2504. }
  2505. if fieldNum <= 0 {
  2506. return fmt.Errorf("proto: Member: illegal tag %d (wire type %d)", fieldNum, wire)
  2507. }
  2508. switch fieldNum {
  2509. case 1:
  2510. if wireType != 2 {
  2511. return fmt.Errorf("proto: wrong wireType = %d for field EtcdExecPath", wireType)
  2512. }
  2513. var stringLen uint64
  2514. for shift := uint(0); ; shift += 7 {
  2515. if shift >= 64 {
  2516. return ErrIntOverflowRpc
  2517. }
  2518. if iNdEx >= l {
  2519. return io.ErrUnexpectedEOF
  2520. }
  2521. b := dAtA[iNdEx]
  2522. iNdEx++
  2523. stringLen |= (uint64(b) & 0x7F) << shift
  2524. if b < 0x80 {
  2525. break
  2526. }
  2527. }
  2528. intStringLen := int(stringLen)
  2529. if intStringLen < 0 {
  2530. return ErrInvalidLengthRpc
  2531. }
  2532. postIndex := iNdEx + intStringLen
  2533. if postIndex > l {
  2534. return io.ErrUnexpectedEOF
  2535. }
  2536. m.EtcdExecPath = string(dAtA[iNdEx:postIndex])
  2537. iNdEx = postIndex
  2538. case 11:
  2539. if wireType != 2 {
  2540. return fmt.Errorf("proto: wrong wireType = %d for field AgentAddr", wireType)
  2541. }
  2542. var stringLen uint64
  2543. for shift := uint(0); ; shift += 7 {
  2544. if shift >= 64 {
  2545. return ErrIntOverflowRpc
  2546. }
  2547. if iNdEx >= l {
  2548. return io.ErrUnexpectedEOF
  2549. }
  2550. b := dAtA[iNdEx]
  2551. iNdEx++
  2552. stringLen |= (uint64(b) & 0x7F) << shift
  2553. if b < 0x80 {
  2554. break
  2555. }
  2556. }
  2557. intStringLen := int(stringLen)
  2558. if intStringLen < 0 {
  2559. return ErrInvalidLengthRpc
  2560. }
  2561. postIndex := iNdEx + intStringLen
  2562. if postIndex > l {
  2563. return io.ErrUnexpectedEOF
  2564. }
  2565. m.AgentAddr = string(dAtA[iNdEx:postIndex])
  2566. iNdEx = postIndex
  2567. case 12:
  2568. if wireType != 2 {
  2569. return fmt.Errorf("proto: wrong wireType = %d for field FailpointHTTPAddr", wireType)
  2570. }
  2571. var stringLen uint64
  2572. for shift := uint(0); ; shift += 7 {
  2573. if shift >= 64 {
  2574. return ErrIntOverflowRpc
  2575. }
  2576. if iNdEx >= l {
  2577. return io.ErrUnexpectedEOF
  2578. }
  2579. b := dAtA[iNdEx]
  2580. iNdEx++
  2581. stringLen |= (uint64(b) & 0x7F) << shift
  2582. if b < 0x80 {
  2583. break
  2584. }
  2585. }
  2586. intStringLen := int(stringLen)
  2587. if intStringLen < 0 {
  2588. return ErrInvalidLengthRpc
  2589. }
  2590. postIndex := iNdEx + intStringLen
  2591. if postIndex > l {
  2592. return io.ErrUnexpectedEOF
  2593. }
  2594. m.FailpointHTTPAddr = string(dAtA[iNdEx:postIndex])
  2595. iNdEx = postIndex
  2596. case 101:
  2597. if wireType != 2 {
  2598. return fmt.Errorf("proto: wrong wireType = %d for field BaseDir", wireType)
  2599. }
  2600. var stringLen uint64
  2601. for shift := uint(0); ; shift += 7 {
  2602. if shift >= 64 {
  2603. return ErrIntOverflowRpc
  2604. }
  2605. if iNdEx >= l {
  2606. return io.ErrUnexpectedEOF
  2607. }
  2608. b := dAtA[iNdEx]
  2609. iNdEx++
  2610. stringLen |= (uint64(b) & 0x7F) << shift
  2611. if b < 0x80 {
  2612. break
  2613. }
  2614. }
  2615. intStringLen := int(stringLen)
  2616. if intStringLen < 0 {
  2617. return ErrInvalidLengthRpc
  2618. }
  2619. postIndex := iNdEx + intStringLen
  2620. if postIndex > l {
  2621. return io.ErrUnexpectedEOF
  2622. }
  2623. m.BaseDir = string(dAtA[iNdEx:postIndex])
  2624. iNdEx = postIndex
  2625. case 102:
  2626. if wireType != 2 {
  2627. return fmt.Errorf("proto: wrong wireType = %d for field EtcdLogPath", wireType)
  2628. }
  2629. var stringLen uint64
  2630. for shift := uint(0); ; shift += 7 {
  2631. if shift >= 64 {
  2632. return ErrIntOverflowRpc
  2633. }
  2634. if iNdEx >= l {
  2635. return io.ErrUnexpectedEOF
  2636. }
  2637. b := dAtA[iNdEx]
  2638. iNdEx++
  2639. stringLen |= (uint64(b) & 0x7F) << shift
  2640. if b < 0x80 {
  2641. break
  2642. }
  2643. }
  2644. intStringLen := int(stringLen)
  2645. if intStringLen < 0 {
  2646. return ErrInvalidLengthRpc
  2647. }
  2648. postIndex := iNdEx + intStringLen
  2649. if postIndex > l {
  2650. return io.ErrUnexpectedEOF
  2651. }
  2652. m.EtcdLogPath = string(dAtA[iNdEx:postIndex])
  2653. iNdEx = postIndex
  2654. case 201:
  2655. if wireType != 0 {
  2656. return fmt.Errorf("proto: wrong wireType = %d for field EtcdClientProxy", wireType)
  2657. }
  2658. var v int
  2659. for shift := uint(0); ; shift += 7 {
  2660. if shift >= 64 {
  2661. return ErrIntOverflowRpc
  2662. }
  2663. if iNdEx >= l {
  2664. return io.ErrUnexpectedEOF
  2665. }
  2666. b := dAtA[iNdEx]
  2667. iNdEx++
  2668. v |= (int(b) & 0x7F) << shift
  2669. if b < 0x80 {
  2670. break
  2671. }
  2672. }
  2673. m.EtcdClientProxy = bool(v != 0)
  2674. case 202:
  2675. if wireType != 0 {
  2676. return fmt.Errorf("proto: wrong wireType = %d for field EtcdPeerProxy", wireType)
  2677. }
  2678. var v int
  2679. for shift := uint(0); ; shift += 7 {
  2680. if shift >= 64 {
  2681. return ErrIntOverflowRpc
  2682. }
  2683. if iNdEx >= l {
  2684. return io.ErrUnexpectedEOF
  2685. }
  2686. b := dAtA[iNdEx]
  2687. iNdEx++
  2688. v |= (int(b) & 0x7F) << shift
  2689. if b < 0x80 {
  2690. break
  2691. }
  2692. }
  2693. m.EtcdPeerProxy = bool(v != 0)
  2694. case 301:
  2695. if wireType != 2 {
  2696. return fmt.Errorf("proto: wrong wireType = %d for field EtcdClientEndpoint", wireType)
  2697. }
  2698. var stringLen uint64
  2699. for shift := uint(0); ; shift += 7 {
  2700. if shift >= 64 {
  2701. return ErrIntOverflowRpc
  2702. }
  2703. if iNdEx >= l {
  2704. return io.ErrUnexpectedEOF
  2705. }
  2706. b := dAtA[iNdEx]
  2707. iNdEx++
  2708. stringLen |= (uint64(b) & 0x7F) << shift
  2709. if b < 0x80 {
  2710. break
  2711. }
  2712. }
  2713. intStringLen := int(stringLen)
  2714. if intStringLen < 0 {
  2715. return ErrInvalidLengthRpc
  2716. }
  2717. postIndex := iNdEx + intStringLen
  2718. if postIndex > l {
  2719. return io.ErrUnexpectedEOF
  2720. }
  2721. m.EtcdClientEndpoint = string(dAtA[iNdEx:postIndex])
  2722. iNdEx = postIndex
  2723. case 302:
  2724. if wireType != 2 {
  2725. return fmt.Errorf("proto: wrong wireType = %d for field Etcd", wireType)
  2726. }
  2727. var msglen int
  2728. for shift := uint(0); ; shift += 7 {
  2729. if shift >= 64 {
  2730. return ErrIntOverflowRpc
  2731. }
  2732. if iNdEx >= l {
  2733. return io.ErrUnexpectedEOF
  2734. }
  2735. b := dAtA[iNdEx]
  2736. iNdEx++
  2737. msglen |= (int(b) & 0x7F) << shift
  2738. if b < 0x80 {
  2739. break
  2740. }
  2741. }
  2742. if msglen < 0 {
  2743. return ErrInvalidLengthRpc
  2744. }
  2745. postIndex := iNdEx + msglen
  2746. if postIndex > l {
  2747. return io.ErrUnexpectedEOF
  2748. }
  2749. if m.Etcd == nil {
  2750. m.Etcd = &Etcd{}
  2751. }
  2752. if err := m.Etcd.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2753. return err
  2754. }
  2755. iNdEx = postIndex
  2756. case 401:
  2757. if wireType != 2 {
  2758. return fmt.Errorf("proto: wrong wireType = %d for field ClientCertData", wireType)
  2759. }
  2760. var stringLen uint64
  2761. for shift := uint(0); ; shift += 7 {
  2762. if shift >= 64 {
  2763. return ErrIntOverflowRpc
  2764. }
  2765. if iNdEx >= l {
  2766. return io.ErrUnexpectedEOF
  2767. }
  2768. b := dAtA[iNdEx]
  2769. iNdEx++
  2770. stringLen |= (uint64(b) & 0x7F) << shift
  2771. if b < 0x80 {
  2772. break
  2773. }
  2774. }
  2775. intStringLen := int(stringLen)
  2776. if intStringLen < 0 {
  2777. return ErrInvalidLengthRpc
  2778. }
  2779. postIndex := iNdEx + intStringLen
  2780. if postIndex > l {
  2781. return io.ErrUnexpectedEOF
  2782. }
  2783. m.ClientCertData = string(dAtA[iNdEx:postIndex])
  2784. iNdEx = postIndex
  2785. case 402:
  2786. if wireType != 2 {
  2787. return fmt.Errorf("proto: wrong wireType = %d for field ClientCertPath", wireType)
  2788. }
  2789. var stringLen uint64
  2790. for shift := uint(0); ; shift += 7 {
  2791. if shift >= 64 {
  2792. return ErrIntOverflowRpc
  2793. }
  2794. if iNdEx >= l {
  2795. return io.ErrUnexpectedEOF
  2796. }
  2797. b := dAtA[iNdEx]
  2798. iNdEx++
  2799. stringLen |= (uint64(b) & 0x7F) << shift
  2800. if b < 0x80 {
  2801. break
  2802. }
  2803. }
  2804. intStringLen := int(stringLen)
  2805. if intStringLen < 0 {
  2806. return ErrInvalidLengthRpc
  2807. }
  2808. postIndex := iNdEx + intStringLen
  2809. if postIndex > l {
  2810. return io.ErrUnexpectedEOF
  2811. }
  2812. m.ClientCertPath = string(dAtA[iNdEx:postIndex])
  2813. iNdEx = postIndex
  2814. case 403:
  2815. if wireType != 2 {
  2816. return fmt.Errorf("proto: wrong wireType = %d for field ClientKeyData", wireType)
  2817. }
  2818. var stringLen uint64
  2819. for shift := uint(0); ; shift += 7 {
  2820. if shift >= 64 {
  2821. return ErrIntOverflowRpc
  2822. }
  2823. if iNdEx >= l {
  2824. return io.ErrUnexpectedEOF
  2825. }
  2826. b := dAtA[iNdEx]
  2827. iNdEx++
  2828. stringLen |= (uint64(b) & 0x7F) << shift
  2829. if b < 0x80 {
  2830. break
  2831. }
  2832. }
  2833. intStringLen := int(stringLen)
  2834. if intStringLen < 0 {
  2835. return ErrInvalidLengthRpc
  2836. }
  2837. postIndex := iNdEx + intStringLen
  2838. if postIndex > l {
  2839. return io.ErrUnexpectedEOF
  2840. }
  2841. m.ClientKeyData = string(dAtA[iNdEx:postIndex])
  2842. iNdEx = postIndex
  2843. case 404:
  2844. if wireType != 2 {
  2845. return fmt.Errorf("proto: wrong wireType = %d for field ClientKeyPath", wireType)
  2846. }
  2847. var stringLen uint64
  2848. for shift := uint(0); ; shift += 7 {
  2849. if shift >= 64 {
  2850. return ErrIntOverflowRpc
  2851. }
  2852. if iNdEx >= l {
  2853. return io.ErrUnexpectedEOF
  2854. }
  2855. b := dAtA[iNdEx]
  2856. iNdEx++
  2857. stringLen |= (uint64(b) & 0x7F) << shift
  2858. if b < 0x80 {
  2859. break
  2860. }
  2861. }
  2862. intStringLen := int(stringLen)
  2863. if intStringLen < 0 {
  2864. return ErrInvalidLengthRpc
  2865. }
  2866. postIndex := iNdEx + intStringLen
  2867. if postIndex > l {
  2868. return io.ErrUnexpectedEOF
  2869. }
  2870. m.ClientKeyPath = string(dAtA[iNdEx:postIndex])
  2871. iNdEx = postIndex
  2872. case 405:
  2873. if wireType != 2 {
  2874. return fmt.Errorf("proto: wrong wireType = %d for field ClientTrustedCAData", wireType)
  2875. }
  2876. var stringLen uint64
  2877. for shift := uint(0); ; shift += 7 {
  2878. if shift >= 64 {
  2879. return ErrIntOverflowRpc
  2880. }
  2881. if iNdEx >= l {
  2882. return io.ErrUnexpectedEOF
  2883. }
  2884. b := dAtA[iNdEx]
  2885. iNdEx++
  2886. stringLen |= (uint64(b) & 0x7F) << shift
  2887. if b < 0x80 {
  2888. break
  2889. }
  2890. }
  2891. intStringLen := int(stringLen)
  2892. if intStringLen < 0 {
  2893. return ErrInvalidLengthRpc
  2894. }
  2895. postIndex := iNdEx + intStringLen
  2896. if postIndex > l {
  2897. return io.ErrUnexpectedEOF
  2898. }
  2899. m.ClientTrustedCAData = string(dAtA[iNdEx:postIndex])
  2900. iNdEx = postIndex
  2901. case 406:
  2902. if wireType != 2 {
  2903. return fmt.Errorf("proto: wrong wireType = %d for field ClientTrustedCAPath", wireType)
  2904. }
  2905. var stringLen uint64
  2906. for shift := uint(0); ; shift += 7 {
  2907. if shift >= 64 {
  2908. return ErrIntOverflowRpc
  2909. }
  2910. if iNdEx >= l {
  2911. return io.ErrUnexpectedEOF
  2912. }
  2913. b := dAtA[iNdEx]
  2914. iNdEx++
  2915. stringLen |= (uint64(b) & 0x7F) << shift
  2916. if b < 0x80 {
  2917. break
  2918. }
  2919. }
  2920. intStringLen := int(stringLen)
  2921. if intStringLen < 0 {
  2922. return ErrInvalidLengthRpc
  2923. }
  2924. postIndex := iNdEx + intStringLen
  2925. if postIndex > l {
  2926. return io.ErrUnexpectedEOF
  2927. }
  2928. m.ClientTrustedCAPath = string(dAtA[iNdEx:postIndex])
  2929. iNdEx = postIndex
  2930. case 501:
  2931. if wireType != 2 {
  2932. return fmt.Errorf("proto: wrong wireType = %d for field PeerCertData", wireType)
  2933. }
  2934. var stringLen uint64
  2935. for shift := uint(0); ; shift += 7 {
  2936. if shift >= 64 {
  2937. return ErrIntOverflowRpc
  2938. }
  2939. if iNdEx >= l {
  2940. return io.ErrUnexpectedEOF
  2941. }
  2942. b := dAtA[iNdEx]
  2943. iNdEx++
  2944. stringLen |= (uint64(b) & 0x7F) << shift
  2945. if b < 0x80 {
  2946. break
  2947. }
  2948. }
  2949. intStringLen := int(stringLen)
  2950. if intStringLen < 0 {
  2951. return ErrInvalidLengthRpc
  2952. }
  2953. postIndex := iNdEx + intStringLen
  2954. if postIndex > l {
  2955. return io.ErrUnexpectedEOF
  2956. }
  2957. m.PeerCertData = string(dAtA[iNdEx:postIndex])
  2958. iNdEx = postIndex
  2959. case 502:
  2960. if wireType != 2 {
  2961. return fmt.Errorf("proto: wrong wireType = %d for field PeerCertPath", wireType)
  2962. }
  2963. var stringLen uint64
  2964. for shift := uint(0); ; shift += 7 {
  2965. if shift >= 64 {
  2966. return ErrIntOverflowRpc
  2967. }
  2968. if iNdEx >= l {
  2969. return io.ErrUnexpectedEOF
  2970. }
  2971. b := dAtA[iNdEx]
  2972. iNdEx++
  2973. stringLen |= (uint64(b) & 0x7F) << shift
  2974. if b < 0x80 {
  2975. break
  2976. }
  2977. }
  2978. intStringLen := int(stringLen)
  2979. if intStringLen < 0 {
  2980. return ErrInvalidLengthRpc
  2981. }
  2982. postIndex := iNdEx + intStringLen
  2983. if postIndex > l {
  2984. return io.ErrUnexpectedEOF
  2985. }
  2986. m.PeerCertPath = string(dAtA[iNdEx:postIndex])
  2987. iNdEx = postIndex
  2988. case 503:
  2989. if wireType != 2 {
  2990. return fmt.Errorf("proto: wrong wireType = %d for field PeerKeyData", wireType)
  2991. }
  2992. var stringLen uint64
  2993. for shift := uint(0); ; shift += 7 {
  2994. if shift >= 64 {
  2995. return ErrIntOverflowRpc
  2996. }
  2997. if iNdEx >= l {
  2998. return io.ErrUnexpectedEOF
  2999. }
  3000. b := dAtA[iNdEx]
  3001. iNdEx++
  3002. stringLen |= (uint64(b) & 0x7F) << shift
  3003. if b < 0x80 {
  3004. break
  3005. }
  3006. }
  3007. intStringLen := int(stringLen)
  3008. if intStringLen < 0 {
  3009. return ErrInvalidLengthRpc
  3010. }
  3011. postIndex := iNdEx + intStringLen
  3012. if postIndex > l {
  3013. return io.ErrUnexpectedEOF
  3014. }
  3015. m.PeerKeyData = string(dAtA[iNdEx:postIndex])
  3016. iNdEx = postIndex
  3017. case 504:
  3018. if wireType != 2 {
  3019. return fmt.Errorf("proto: wrong wireType = %d for field PeerKeyPath", wireType)
  3020. }
  3021. var stringLen uint64
  3022. for shift := uint(0); ; shift += 7 {
  3023. if shift >= 64 {
  3024. return ErrIntOverflowRpc
  3025. }
  3026. if iNdEx >= l {
  3027. return io.ErrUnexpectedEOF
  3028. }
  3029. b := dAtA[iNdEx]
  3030. iNdEx++
  3031. stringLen |= (uint64(b) & 0x7F) << shift
  3032. if b < 0x80 {
  3033. break
  3034. }
  3035. }
  3036. intStringLen := int(stringLen)
  3037. if intStringLen < 0 {
  3038. return ErrInvalidLengthRpc
  3039. }
  3040. postIndex := iNdEx + intStringLen
  3041. if postIndex > l {
  3042. return io.ErrUnexpectedEOF
  3043. }
  3044. m.PeerKeyPath = string(dAtA[iNdEx:postIndex])
  3045. iNdEx = postIndex
  3046. case 505:
  3047. if wireType != 2 {
  3048. return fmt.Errorf("proto: wrong wireType = %d for field PeerTrustedCAData", wireType)
  3049. }
  3050. var stringLen uint64
  3051. for shift := uint(0); ; shift += 7 {
  3052. if shift >= 64 {
  3053. return ErrIntOverflowRpc
  3054. }
  3055. if iNdEx >= l {
  3056. return io.ErrUnexpectedEOF
  3057. }
  3058. b := dAtA[iNdEx]
  3059. iNdEx++
  3060. stringLen |= (uint64(b) & 0x7F) << shift
  3061. if b < 0x80 {
  3062. break
  3063. }
  3064. }
  3065. intStringLen := int(stringLen)
  3066. if intStringLen < 0 {
  3067. return ErrInvalidLengthRpc
  3068. }
  3069. postIndex := iNdEx + intStringLen
  3070. if postIndex > l {
  3071. return io.ErrUnexpectedEOF
  3072. }
  3073. m.PeerTrustedCAData = string(dAtA[iNdEx:postIndex])
  3074. iNdEx = postIndex
  3075. case 506:
  3076. if wireType != 2 {
  3077. return fmt.Errorf("proto: wrong wireType = %d for field PeerTrustedCAPath", wireType)
  3078. }
  3079. var stringLen uint64
  3080. for shift := uint(0); ; shift += 7 {
  3081. if shift >= 64 {
  3082. return ErrIntOverflowRpc
  3083. }
  3084. if iNdEx >= l {
  3085. return io.ErrUnexpectedEOF
  3086. }
  3087. b := dAtA[iNdEx]
  3088. iNdEx++
  3089. stringLen |= (uint64(b) & 0x7F) << shift
  3090. if b < 0x80 {
  3091. break
  3092. }
  3093. }
  3094. intStringLen := int(stringLen)
  3095. if intStringLen < 0 {
  3096. return ErrInvalidLengthRpc
  3097. }
  3098. postIndex := iNdEx + intStringLen
  3099. if postIndex > l {
  3100. return io.ErrUnexpectedEOF
  3101. }
  3102. m.PeerTrustedCAPath = string(dAtA[iNdEx:postIndex])
  3103. iNdEx = postIndex
  3104. default:
  3105. iNdEx = preIndex
  3106. skippy, err := skipRpc(dAtA[iNdEx:])
  3107. if err != nil {
  3108. return err
  3109. }
  3110. if skippy < 0 {
  3111. return ErrInvalidLengthRpc
  3112. }
  3113. if (iNdEx + skippy) > l {
  3114. return io.ErrUnexpectedEOF
  3115. }
  3116. iNdEx += skippy
  3117. }
  3118. }
  3119. if iNdEx > l {
  3120. return io.ErrUnexpectedEOF
  3121. }
  3122. return nil
  3123. }
  3124. func (m *Tester) Unmarshal(dAtA []byte) error {
  3125. l := len(dAtA)
  3126. iNdEx := 0
  3127. for iNdEx < l {
  3128. preIndex := iNdEx
  3129. var wire uint64
  3130. for shift := uint(0); ; shift += 7 {
  3131. if shift >= 64 {
  3132. return ErrIntOverflowRpc
  3133. }
  3134. if iNdEx >= l {
  3135. return io.ErrUnexpectedEOF
  3136. }
  3137. b := dAtA[iNdEx]
  3138. iNdEx++
  3139. wire |= (uint64(b) & 0x7F) << shift
  3140. if b < 0x80 {
  3141. break
  3142. }
  3143. }
  3144. fieldNum := int32(wire >> 3)
  3145. wireType := int(wire & 0x7)
  3146. if wireType == 4 {
  3147. return fmt.Errorf("proto: Tester: wiretype end group for non-group")
  3148. }
  3149. if fieldNum <= 0 {
  3150. return fmt.Errorf("proto: Tester: illegal tag %d (wire type %d)", fieldNum, wire)
  3151. }
  3152. switch fieldNum {
  3153. case 1:
  3154. if wireType != 2 {
  3155. return fmt.Errorf("proto: wrong wireType = %d for field DataDir", wireType)
  3156. }
  3157. var stringLen uint64
  3158. for shift := uint(0); ; shift += 7 {
  3159. if shift >= 64 {
  3160. return ErrIntOverflowRpc
  3161. }
  3162. if iNdEx >= l {
  3163. return io.ErrUnexpectedEOF
  3164. }
  3165. b := dAtA[iNdEx]
  3166. iNdEx++
  3167. stringLen |= (uint64(b) & 0x7F) << shift
  3168. if b < 0x80 {
  3169. break
  3170. }
  3171. }
  3172. intStringLen := int(stringLen)
  3173. if intStringLen < 0 {
  3174. return ErrInvalidLengthRpc
  3175. }
  3176. postIndex := iNdEx + intStringLen
  3177. if postIndex > l {
  3178. return io.ErrUnexpectedEOF
  3179. }
  3180. m.DataDir = string(dAtA[iNdEx:postIndex])
  3181. iNdEx = postIndex
  3182. case 2:
  3183. if wireType != 2 {
  3184. return fmt.Errorf("proto: wrong wireType = %d for field Network", wireType)
  3185. }
  3186. var stringLen uint64
  3187. for shift := uint(0); ; shift += 7 {
  3188. if shift >= 64 {
  3189. return ErrIntOverflowRpc
  3190. }
  3191. if iNdEx >= l {
  3192. return io.ErrUnexpectedEOF
  3193. }
  3194. b := dAtA[iNdEx]
  3195. iNdEx++
  3196. stringLen |= (uint64(b) & 0x7F) << shift
  3197. if b < 0x80 {
  3198. break
  3199. }
  3200. }
  3201. intStringLen := int(stringLen)
  3202. if intStringLen < 0 {
  3203. return ErrInvalidLengthRpc
  3204. }
  3205. postIndex := iNdEx + intStringLen
  3206. if postIndex > l {
  3207. return io.ErrUnexpectedEOF
  3208. }
  3209. m.Network = string(dAtA[iNdEx:postIndex])
  3210. iNdEx = postIndex
  3211. case 3:
  3212. if wireType != 2 {
  3213. return fmt.Errorf("proto: wrong wireType = %d for field Addr", wireType)
  3214. }
  3215. var stringLen uint64
  3216. for shift := uint(0); ; shift += 7 {
  3217. if shift >= 64 {
  3218. return ErrIntOverflowRpc
  3219. }
  3220. if iNdEx >= l {
  3221. return io.ErrUnexpectedEOF
  3222. }
  3223. b := dAtA[iNdEx]
  3224. iNdEx++
  3225. stringLen |= (uint64(b) & 0x7F) << shift
  3226. if b < 0x80 {
  3227. break
  3228. }
  3229. }
  3230. intStringLen := int(stringLen)
  3231. if intStringLen < 0 {
  3232. return ErrInvalidLengthRpc
  3233. }
  3234. postIndex := iNdEx + intStringLen
  3235. if postIndex > l {
  3236. return io.ErrUnexpectedEOF
  3237. }
  3238. m.Addr = string(dAtA[iNdEx:postIndex])
  3239. iNdEx = postIndex
  3240. case 11:
  3241. if wireType != 0 {
  3242. return fmt.Errorf("proto: wrong wireType = %d for field DelayLatencyMs", wireType)
  3243. }
  3244. m.DelayLatencyMs = 0
  3245. for shift := uint(0); ; shift += 7 {
  3246. if shift >= 64 {
  3247. return ErrIntOverflowRpc
  3248. }
  3249. if iNdEx >= l {
  3250. return io.ErrUnexpectedEOF
  3251. }
  3252. b := dAtA[iNdEx]
  3253. iNdEx++
  3254. m.DelayLatencyMs |= (uint32(b) & 0x7F) << shift
  3255. if b < 0x80 {
  3256. break
  3257. }
  3258. }
  3259. case 12:
  3260. if wireType != 0 {
  3261. return fmt.Errorf("proto: wrong wireType = %d for field DelayLatencyMsRv", wireType)
  3262. }
  3263. m.DelayLatencyMsRv = 0
  3264. for shift := uint(0); ; shift += 7 {
  3265. if shift >= 64 {
  3266. return ErrIntOverflowRpc
  3267. }
  3268. if iNdEx >= l {
  3269. return io.ErrUnexpectedEOF
  3270. }
  3271. b := dAtA[iNdEx]
  3272. iNdEx++
  3273. m.DelayLatencyMsRv |= (uint32(b) & 0x7F) << shift
  3274. if b < 0x80 {
  3275. break
  3276. }
  3277. }
  3278. case 13:
  3279. if wireType != 0 {
  3280. return fmt.Errorf("proto: wrong wireType = %d for field UpdatedDelayLatencyMs", wireType)
  3281. }
  3282. m.UpdatedDelayLatencyMs = 0
  3283. for shift := uint(0); ; shift += 7 {
  3284. if shift >= 64 {
  3285. return ErrIntOverflowRpc
  3286. }
  3287. if iNdEx >= l {
  3288. return io.ErrUnexpectedEOF
  3289. }
  3290. b := dAtA[iNdEx]
  3291. iNdEx++
  3292. m.UpdatedDelayLatencyMs |= (uint32(b) & 0x7F) << shift
  3293. if b < 0x80 {
  3294. break
  3295. }
  3296. }
  3297. case 21:
  3298. if wireType != 0 {
  3299. return fmt.Errorf("proto: wrong wireType = %d for field RoundLimit", wireType)
  3300. }
  3301. m.RoundLimit = 0
  3302. for shift := uint(0); ; shift += 7 {
  3303. if shift >= 64 {
  3304. return ErrIntOverflowRpc
  3305. }
  3306. if iNdEx >= l {
  3307. return io.ErrUnexpectedEOF
  3308. }
  3309. b := dAtA[iNdEx]
  3310. iNdEx++
  3311. m.RoundLimit |= (int32(b) & 0x7F) << shift
  3312. if b < 0x80 {
  3313. break
  3314. }
  3315. }
  3316. case 22:
  3317. if wireType != 0 {
  3318. return fmt.Errorf("proto: wrong wireType = %d for field ExitOnFailure", wireType)
  3319. }
  3320. var v int
  3321. for shift := uint(0); ; shift += 7 {
  3322. if shift >= 64 {
  3323. return ErrIntOverflowRpc
  3324. }
  3325. if iNdEx >= l {
  3326. return io.ErrUnexpectedEOF
  3327. }
  3328. b := dAtA[iNdEx]
  3329. iNdEx++
  3330. v |= (int(b) & 0x7F) << shift
  3331. if b < 0x80 {
  3332. break
  3333. }
  3334. }
  3335. m.ExitOnFailure = bool(v != 0)
  3336. case 23:
  3337. if wireType != 0 {
  3338. return fmt.Errorf("proto: wrong wireType = %d for field ConsistencyCheck", wireType)
  3339. }
  3340. var v int
  3341. for shift := uint(0); ; shift += 7 {
  3342. if shift >= 64 {
  3343. return ErrIntOverflowRpc
  3344. }
  3345. if iNdEx >= l {
  3346. return io.ErrUnexpectedEOF
  3347. }
  3348. b := dAtA[iNdEx]
  3349. iNdEx++
  3350. v |= (int(b) & 0x7F) << shift
  3351. if b < 0x80 {
  3352. break
  3353. }
  3354. }
  3355. m.ConsistencyCheck = bool(v != 0)
  3356. case 24:
  3357. if wireType != 0 {
  3358. return fmt.Errorf("proto: wrong wireType = %d for field EnablePprof", wireType)
  3359. }
  3360. var v int
  3361. for shift := uint(0); ; shift += 7 {
  3362. if shift >= 64 {
  3363. return ErrIntOverflowRpc
  3364. }
  3365. if iNdEx >= l {
  3366. return io.ErrUnexpectedEOF
  3367. }
  3368. b := dAtA[iNdEx]
  3369. iNdEx++
  3370. v |= (int(b) & 0x7F) << shift
  3371. if b < 0x80 {
  3372. break
  3373. }
  3374. }
  3375. m.EnablePprof = bool(v != 0)
  3376. case 31:
  3377. if wireType != 0 {
  3378. return fmt.Errorf("proto: wrong wireType = %d for field FailureDelayMs", wireType)
  3379. }
  3380. m.FailureDelayMs = 0
  3381. for shift := uint(0); ; shift += 7 {
  3382. if shift >= 64 {
  3383. return ErrIntOverflowRpc
  3384. }
  3385. if iNdEx >= l {
  3386. return io.ErrUnexpectedEOF
  3387. }
  3388. b := dAtA[iNdEx]
  3389. iNdEx++
  3390. m.FailureDelayMs |= (uint32(b) & 0x7F) << shift
  3391. if b < 0x80 {
  3392. break
  3393. }
  3394. }
  3395. case 32:
  3396. if wireType != 0 {
  3397. return fmt.Errorf("proto: wrong wireType = %d for field FailureShuffle", wireType)
  3398. }
  3399. var v int
  3400. for shift := uint(0); ; shift += 7 {
  3401. if shift >= 64 {
  3402. return ErrIntOverflowRpc
  3403. }
  3404. if iNdEx >= l {
  3405. return io.ErrUnexpectedEOF
  3406. }
  3407. b := dAtA[iNdEx]
  3408. iNdEx++
  3409. v |= (int(b) & 0x7F) << shift
  3410. if b < 0x80 {
  3411. break
  3412. }
  3413. }
  3414. m.FailureShuffle = bool(v != 0)
  3415. case 33:
  3416. if wireType != 2 {
  3417. return fmt.Errorf("proto: wrong wireType = %d for field FailureCases", wireType)
  3418. }
  3419. var stringLen uint64
  3420. for shift := uint(0); ; shift += 7 {
  3421. if shift >= 64 {
  3422. return ErrIntOverflowRpc
  3423. }
  3424. if iNdEx >= l {
  3425. return io.ErrUnexpectedEOF
  3426. }
  3427. b := dAtA[iNdEx]
  3428. iNdEx++
  3429. stringLen |= (uint64(b) & 0x7F) << shift
  3430. if b < 0x80 {
  3431. break
  3432. }
  3433. }
  3434. intStringLen := int(stringLen)
  3435. if intStringLen < 0 {
  3436. return ErrInvalidLengthRpc
  3437. }
  3438. postIndex := iNdEx + intStringLen
  3439. if postIndex > l {
  3440. return io.ErrUnexpectedEOF
  3441. }
  3442. m.FailureCases = append(m.FailureCases, string(dAtA[iNdEx:postIndex]))
  3443. iNdEx = postIndex
  3444. case 34:
  3445. if wireType != 2 {
  3446. return fmt.Errorf("proto: wrong wireType = %d for field FailpointCommands", wireType)
  3447. }
  3448. var stringLen uint64
  3449. for shift := uint(0); ; shift += 7 {
  3450. if shift >= 64 {
  3451. return ErrIntOverflowRpc
  3452. }
  3453. if iNdEx >= l {
  3454. return io.ErrUnexpectedEOF
  3455. }
  3456. b := dAtA[iNdEx]
  3457. iNdEx++
  3458. stringLen |= (uint64(b) & 0x7F) << shift
  3459. if b < 0x80 {
  3460. break
  3461. }
  3462. }
  3463. intStringLen := int(stringLen)
  3464. if intStringLen < 0 {
  3465. return ErrInvalidLengthRpc
  3466. }
  3467. postIndex := iNdEx + intStringLen
  3468. if postIndex > l {
  3469. return io.ErrUnexpectedEOF
  3470. }
  3471. m.FailpointCommands = append(m.FailpointCommands, string(dAtA[iNdEx:postIndex]))
  3472. iNdEx = postIndex
  3473. case 41:
  3474. if wireType != 2 {
  3475. return fmt.Errorf("proto: wrong wireType = %d for field RunnerExecPath", wireType)
  3476. }
  3477. var stringLen uint64
  3478. for shift := uint(0); ; shift += 7 {
  3479. if shift >= 64 {
  3480. return ErrIntOverflowRpc
  3481. }
  3482. if iNdEx >= l {
  3483. return io.ErrUnexpectedEOF
  3484. }
  3485. b := dAtA[iNdEx]
  3486. iNdEx++
  3487. stringLen |= (uint64(b) & 0x7F) << shift
  3488. if b < 0x80 {
  3489. break
  3490. }
  3491. }
  3492. intStringLen := int(stringLen)
  3493. if intStringLen < 0 {
  3494. return ErrInvalidLengthRpc
  3495. }
  3496. postIndex := iNdEx + intStringLen
  3497. if postIndex > l {
  3498. return io.ErrUnexpectedEOF
  3499. }
  3500. m.RunnerExecPath = string(dAtA[iNdEx:postIndex])
  3501. iNdEx = postIndex
  3502. case 42:
  3503. if wireType != 2 {
  3504. return fmt.Errorf("proto: wrong wireType = %d for field ExternalExecPath", wireType)
  3505. }
  3506. var stringLen uint64
  3507. for shift := uint(0); ; shift += 7 {
  3508. if shift >= 64 {
  3509. return ErrIntOverflowRpc
  3510. }
  3511. if iNdEx >= l {
  3512. return io.ErrUnexpectedEOF
  3513. }
  3514. b := dAtA[iNdEx]
  3515. iNdEx++
  3516. stringLen |= (uint64(b) & 0x7F) << shift
  3517. if b < 0x80 {
  3518. break
  3519. }
  3520. }
  3521. intStringLen := int(stringLen)
  3522. if intStringLen < 0 {
  3523. return ErrInvalidLengthRpc
  3524. }
  3525. postIndex := iNdEx + intStringLen
  3526. if postIndex > l {
  3527. return io.ErrUnexpectedEOF
  3528. }
  3529. m.ExternalExecPath = string(dAtA[iNdEx:postIndex])
  3530. iNdEx = postIndex
  3531. case 101:
  3532. if wireType != 2 {
  3533. return fmt.Errorf("proto: wrong wireType = %d for field StressTypes", wireType)
  3534. }
  3535. var stringLen uint64
  3536. for shift := uint(0); ; shift += 7 {
  3537. if shift >= 64 {
  3538. return ErrIntOverflowRpc
  3539. }
  3540. if iNdEx >= l {
  3541. return io.ErrUnexpectedEOF
  3542. }
  3543. b := dAtA[iNdEx]
  3544. iNdEx++
  3545. stringLen |= (uint64(b) & 0x7F) << shift
  3546. if b < 0x80 {
  3547. break
  3548. }
  3549. }
  3550. intStringLen := int(stringLen)
  3551. if intStringLen < 0 {
  3552. return ErrInvalidLengthRpc
  3553. }
  3554. postIndex := iNdEx + intStringLen
  3555. if postIndex > l {
  3556. return io.ErrUnexpectedEOF
  3557. }
  3558. m.StressTypes = append(m.StressTypes, string(dAtA[iNdEx:postIndex]))
  3559. iNdEx = postIndex
  3560. case 102:
  3561. if wireType != 0 {
  3562. return fmt.Errorf("proto: wrong wireType = %d for field StressKeySize", wireType)
  3563. }
  3564. m.StressKeySize = 0
  3565. for shift := uint(0); ; shift += 7 {
  3566. if shift >= 64 {
  3567. return ErrIntOverflowRpc
  3568. }
  3569. if iNdEx >= l {
  3570. return io.ErrUnexpectedEOF
  3571. }
  3572. b := dAtA[iNdEx]
  3573. iNdEx++
  3574. m.StressKeySize |= (int32(b) & 0x7F) << shift
  3575. if b < 0x80 {
  3576. break
  3577. }
  3578. }
  3579. case 103:
  3580. if wireType != 0 {
  3581. return fmt.Errorf("proto: wrong wireType = %d for field StressKeySizeLarge", wireType)
  3582. }
  3583. m.StressKeySizeLarge = 0
  3584. for shift := uint(0); ; shift += 7 {
  3585. if shift >= 64 {
  3586. return ErrIntOverflowRpc
  3587. }
  3588. if iNdEx >= l {
  3589. return io.ErrUnexpectedEOF
  3590. }
  3591. b := dAtA[iNdEx]
  3592. iNdEx++
  3593. m.StressKeySizeLarge |= (int32(b) & 0x7F) << shift
  3594. if b < 0x80 {
  3595. break
  3596. }
  3597. }
  3598. case 104:
  3599. if wireType != 0 {
  3600. return fmt.Errorf("proto: wrong wireType = %d for field StressKeySuffixRange", wireType)
  3601. }
  3602. m.StressKeySuffixRange = 0
  3603. for shift := uint(0); ; shift += 7 {
  3604. if shift >= 64 {
  3605. return ErrIntOverflowRpc
  3606. }
  3607. if iNdEx >= l {
  3608. return io.ErrUnexpectedEOF
  3609. }
  3610. b := dAtA[iNdEx]
  3611. iNdEx++
  3612. m.StressKeySuffixRange |= (int32(b) & 0x7F) << shift
  3613. if b < 0x80 {
  3614. break
  3615. }
  3616. }
  3617. case 105:
  3618. if wireType != 0 {
  3619. return fmt.Errorf("proto: wrong wireType = %d for field StressKeySuffixRangeTxn", wireType)
  3620. }
  3621. m.StressKeySuffixRangeTxn = 0
  3622. for shift := uint(0); ; shift += 7 {
  3623. if shift >= 64 {
  3624. return ErrIntOverflowRpc
  3625. }
  3626. if iNdEx >= l {
  3627. return io.ErrUnexpectedEOF
  3628. }
  3629. b := dAtA[iNdEx]
  3630. iNdEx++
  3631. m.StressKeySuffixRangeTxn |= (int32(b) & 0x7F) << shift
  3632. if b < 0x80 {
  3633. break
  3634. }
  3635. }
  3636. case 106:
  3637. if wireType != 0 {
  3638. return fmt.Errorf("proto: wrong wireType = %d for field StressKeyTxnOps", wireType)
  3639. }
  3640. m.StressKeyTxnOps = 0
  3641. for shift := uint(0); ; shift += 7 {
  3642. if shift >= 64 {
  3643. return ErrIntOverflowRpc
  3644. }
  3645. if iNdEx >= l {
  3646. return io.ErrUnexpectedEOF
  3647. }
  3648. b := dAtA[iNdEx]
  3649. iNdEx++
  3650. m.StressKeyTxnOps |= (int32(b) & 0x7F) << shift
  3651. if b < 0x80 {
  3652. break
  3653. }
  3654. }
  3655. case 201:
  3656. if wireType != 0 {
  3657. return fmt.Errorf("proto: wrong wireType = %d for field StressClients", wireType)
  3658. }
  3659. m.StressClients = 0
  3660. for shift := uint(0); ; shift += 7 {
  3661. if shift >= 64 {
  3662. return ErrIntOverflowRpc
  3663. }
  3664. if iNdEx >= l {
  3665. return io.ErrUnexpectedEOF
  3666. }
  3667. b := dAtA[iNdEx]
  3668. iNdEx++
  3669. m.StressClients |= (int32(b) & 0x7F) << shift
  3670. if b < 0x80 {
  3671. break
  3672. }
  3673. }
  3674. case 202:
  3675. if wireType != 0 {
  3676. return fmt.Errorf("proto: wrong wireType = %d for field StressQPS", wireType)
  3677. }
  3678. m.StressQPS = 0
  3679. for shift := uint(0); ; shift += 7 {
  3680. if shift >= 64 {
  3681. return ErrIntOverflowRpc
  3682. }
  3683. if iNdEx >= l {
  3684. return io.ErrUnexpectedEOF
  3685. }
  3686. b := dAtA[iNdEx]
  3687. iNdEx++
  3688. m.StressQPS |= (int32(b) & 0x7F) << shift
  3689. if b < 0x80 {
  3690. break
  3691. }
  3692. }
  3693. default:
  3694. iNdEx = preIndex
  3695. skippy, err := skipRpc(dAtA[iNdEx:])
  3696. if err != nil {
  3697. return err
  3698. }
  3699. if skippy < 0 {
  3700. return ErrInvalidLengthRpc
  3701. }
  3702. if (iNdEx + skippy) > l {
  3703. return io.ErrUnexpectedEOF
  3704. }
  3705. iNdEx += skippy
  3706. }
  3707. }
  3708. if iNdEx > l {
  3709. return io.ErrUnexpectedEOF
  3710. }
  3711. return nil
  3712. }
  3713. func (m *Request) Unmarshal(dAtA []byte) error {
  3714. l := len(dAtA)
  3715. iNdEx := 0
  3716. for iNdEx < l {
  3717. preIndex := iNdEx
  3718. var wire uint64
  3719. for shift := uint(0); ; shift += 7 {
  3720. if shift >= 64 {
  3721. return ErrIntOverflowRpc
  3722. }
  3723. if iNdEx >= l {
  3724. return io.ErrUnexpectedEOF
  3725. }
  3726. b := dAtA[iNdEx]
  3727. iNdEx++
  3728. wire |= (uint64(b) & 0x7F) << shift
  3729. if b < 0x80 {
  3730. break
  3731. }
  3732. }
  3733. fieldNum := int32(wire >> 3)
  3734. wireType := int(wire & 0x7)
  3735. if wireType == 4 {
  3736. return fmt.Errorf("proto: Request: wiretype end group for non-group")
  3737. }
  3738. if fieldNum <= 0 {
  3739. return fmt.Errorf("proto: Request: illegal tag %d (wire type %d)", fieldNum, wire)
  3740. }
  3741. switch fieldNum {
  3742. case 1:
  3743. if wireType != 0 {
  3744. return fmt.Errorf("proto: wrong wireType = %d for field Operation", wireType)
  3745. }
  3746. m.Operation = 0
  3747. for shift := uint(0); ; shift += 7 {
  3748. if shift >= 64 {
  3749. return ErrIntOverflowRpc
  3750. }
  3751. if iNdEx >= l {
  3752. return io.ErrUnexpectedEOF
  3753. }
  3754. b := dAtA[iNdEx]
  3755. iNdEx++
  3756. m.Operation |= (Operation(b) & 0x7F) << shift
  3757. if b < 0x80 {
  3758. break
  3759. }
  3760. }
  3761. case 2:
  3762. if wireType != 2 {
  3763. return fmt.Errorf("proto: wrong wireType = %d for field Member", wireType)
  3764. }
  3765. var msglen int
  3766. for shift := uint(0); ; shift += 7 {
  3767. if shift >= 64 {
  3768. return ErrIntOverflowRpc
  3769. }
  3770. if iNdEx >= l {
  3771. return io.ErrUnexpectedEOF
  3772. }
  3773. b := dAtA[iNdEx]
  3774. iNdEx++
  3775. msglen |= (int(b) & 0x7F) << shift
  3776. if b < 0x80 {
  3777. break
  3778. }
  3779. }
  3780. if msglen < 0 {
  3781. return ErrInvalidLengthRpc
  3782. }
  3783. postIndex := iNdEx + msglen
  3784. if postIndex > l {
  3785. return io.ErrUnexpectedEOF
  3786. }
  3787. if m.Member == nil {
  3788. m.Member = &Member{}
  3789. }
  3790. if err := m.Member.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3791. return err
  3792. }
  3793. iNdEx = postIndex
  3794. case 3:
  3795. if wireType != 2 {
  3796. return fmt.Errorf("proto: wrong wireType = %d for field Tester", wireType)
  3797. }
  3798. var msglen int
  3799. for shift := uint(0); ; shift += 7 {
  3800. if shift >= 64 {
  3801. return ErrIntOverflowRpc
  3802. }
  3803. if iNdEx >= l {
  3804. return io.ErrUnexpectedEOF
  3805. }
  3806. b := dAtA[iNdEx]
  3807. iNdEx++
  3808. msglen |= (int(b) & 0x7F) << shift
  3809. if b < 0x80 {
  3810. break
  3811. }
  3812. }
  3813. if msglen < 0 {
  3814. return ErrInvalidLengthRpc
  3815. }
  3816. postIndex := iNdEx + msglen
  3817. if postIndex > l {
  3818. return io.ErrUnexpectedEOF
  3819. }
  3820. if m.Tester == nil {
  3821. m.Tester = &Tester{}
  3822. }
  3823. if err := m.Tester.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3824. return err
  3825. }
  3826. iNdEx = postIndex
  3827. default:
  3828. iNdEx = preIndex
  3829. skippy, err := skipRpc(dAtA[iNdEx:])
  3830. if err != nil {
  3831. return err
  3832. }
  3833. if skippy < 0 {
  3834. return ErrInvalidLengthRpc
  3835. }
  3836. if (iNdEx + skippy) > l {
  3837. return io.ErrUnexpectedEOF
  3838. }
  3839. iNdEx += skippy
  3840. }
  3841. }
  3842. if iNdEx > l {
  3843. return io.ErrUnexpectedEOF
  3844. }
  3845. return nil
  3846. }
  3847. func (m *Response) Unmarshal(dAtA []byte) error {
  3848. l := len(dAtA)
  3849. iNdEx := 0
  3850. for iNdEx < l {
  3851. preIndex := iNdEx
  3852. var wire uint64
  3853. for shift := uint(0); ; shift += 7 {
  3854. if shift >= 64 {
  3855. return ErrIntOverflowRpc
  3856. }
  3857. if iNdEx >= l {
  3858. return io.ErrUnexpectedEOF
  3859. }
  3860. b := dAtA[iNdEx]
  3861. iNdEx++
  3862. wire |= (uint64(b) & 0x7F) << shift
  3863. if b < 0x80 {
  3864. break
  3865. }
  3866. }
  3867. fieldNum := int32(wire >> 3)
  3868. wireType := int(wire & 0x7)
  3869. if wireType == 4 {
  3870. return fmt.Errorf("proto: Response: wiretype end group for non-group")
  3871. }
  3872. if fieldNum <= 0 {
  3873. return fmt.Errorf("proto: Response: illegal tag %d (wire type %d)", fieldNum, wire)
  3874. }
  3875. switch fieldNum {
  3876. case 1:
  3877. if wireType != 0 {
  3878. return fmt.Errorf("proto: wrong wireType = %d for field Success", wireType)
  3879. }
  3880. var v int
  3881. for shift := uint(0); ; shift += 7 {
  3882. if shift >= 64 {
  3883. return ErrIntOverflowRpc
  3884. }
  3885. if iNdEx >= l {
  3886. return io.ErrUnexpectedEOF
  3887. }
  3888. b := dAtA[iNdEx]
  3889. iNdEx++
  3890. v |= (int(b) & 0x7F) << shift
  3891. if b < 0x80 {
  3892. break
  3893. }
  3894. }
  3895. m.Success = bool(v != 0)
  3896. case 2:
  3897. if wireType != 2 {
  3898. return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
  3899. }
  3900. var stringLen uint64
  3901. for shift := uint(0); ; shift += 7 {
  3902. if shift >= 64 {
  3903. return ErrIntOverflowRpc
  3904. }
  3905. if iNdEx >= l {
  3906. return io.ErrUnexpectedEOF
  3907. }
  3908. b := dAtA[iNdEx]
  3909. iNdEx++
  3910. stringLen |= (uint64(b) & 0x7F) << shift
  3911. if b < 0x80 {
  3912. break
  3913. }
  3914. }
  3915. intStringLen := int(stringLen)
  3916. if intStringLen < 0 {
  3917. return ErrInvalidLengthRpc
  3918. }
  3919. postIndex := iNdEx + intStringLen
  3920. if postIndex > l {
  3921. return io.ErrUnexpectedEOF
  3922. }
  3923. m.Status = string(dAtA[iNdEx:postIndex])
  3924. iNdEx = postIndex
  3925. case 3:
  3926. if wireType != 2 {
  3927. return fmt.Errorf("proto: wrong wireType = %d for field Member", wireType)
  3928. }
  3929. var msglen int
  3930. for shift := uint(0); ; shift += 7 {
  3931. if shift >= 64 {
  3932. return ErrIntOverflowRpc
  3933. }
  3934. if iNdEx >= l {
  3935. return io.ErrUnexpectedEOF
  3936. }
  3937. b := dAtA[iNdEx]
  3938. iNdEx++
  3939. msglen |= (int(b) & 0x7F) << shift
  3940. if b < 0x80 {
  3941. break
  3942. }
  3943. }
  3944. if msglen < 0 {
  3945. return ErrInvalidLengthRpc
  3946. }
  3947. postIndex := iNdEx + msglen
  3948. if postIndex > l {
  3949. return io.ErrUnexpectedEOF
  3950. }
  3951. if m.Member == nil {
  3952. m.Member = &Member{}
  3953. }
  3954. if err := m.Member.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3955. return err
  3956. }
  3957. iNdEx = postIndex
  3958. default:
  3959. iNdEx = preIndex
  3960. skippy, err := skipRpc(dAtA[iNdEx:])
  3961. if err != nil {
  3962. return err
  3963. }
  3964. if skippy < 0 {
  3965. return ErrInvalidLengthRpc
  3966. }
  3967. if (iNdEx + skippy) > l {
  3968. return io.ErrUnexpectedEOF
  3969. }
  3970. iNdEx += skippy
  3971. }
  3972. }
  3973. if iNdEx > l {
  3974. return io.ErrUnexpectedEOF
  3975. }
  3976. return nil
  3977. }
  3978. func skipRpc(dAtA []byte) (n int, err error) {
  3979. l := len(dAtA)
  3980. iNdEx := 0
  3981. for iNdEx < l {
  3982. var wire uint64
  3983. for shift := uint(0); ; shift += 7 {
  3984. if shift >= 64 {
  3985. return 0, ErrIntOverflowRpc
  3986. }
  3987. if iNdEx >= l {
  3988. return 0, io.ErrUnexpectedEOF
  3989. }
  3990. b := dAtA[iNdEx]
  3991. iNdEx++
  3992. wire |= (uint64(b) & 0x7F) << shift
  3993. if b < 0x80 {
  3994. break
  3995. }
  3996. }
  3997. wireType := int(wire & 0x7)
  3998. switch wireType {
  3999. case 0:
  4000. for shift := uint(0); ; shift += 7 {
  4001. if shift >= 64 {
  4002. return 0, ErrIntOverflowRpc
  4003. }
  4004. if iNdEx >= l {
  4005. return 0, io.ErrUnexpectedEOF
  4006. }
  4007. iNdEx++
  4008. if dAtA[iNdEx-1] < 0x80 {
  4009. break
  4010. }
  4011. }
  4012. return iNdEx, nil
  4013. case 1:
  4014. iNdEx += 8
  4015. return iNdEx, nil
  4016. case 2:
  4017. var length int
  4018. for shift := uint(0); ; shift += 7 {
  4019. if shift >= 64 {
  4020. return 0, ErrIntOverflowRpc
  4021. }
  4022. if iNdEx >= l {
  4023. return 0, io.ErrUnexpectedEOF
  4024. }
  4025. b := dAtA[iNdEx]
  4026. iNdEx++
  4027. length |= (int(b) & 0x7F) << shift
  4028. if b < 0x80 {
  4029. break
  4030. }
  4031. }
  4032. iNdEx += length
  4033. if length < 0 {
  4034. return 0, ErrInvalidLengthRpc
  4035. }
  4036. return iNdEx, nil
  4037. case 3:
  4038. for {
  4039. var innerWire uint64
  4040. var start int = iNdEx
  4041. for shift := uint(0); ; shift += 7 {
  4042. if shift >= 64 {
  4043. return 0, ErrIntOverflowRpc
  4044. }
  4045. if iNdEx >= l {
  4046. return 0, io.ErrUnexpectedEOF
  4047. }
  4048. b := dAtA[iNdEx]
  4049. iNdEx++
  4050. innerWire |= (uint64(b) & 0x7F) << shift
  4051. if b < 0x80 {
  4052. break
  4053. }
  4054. }
  4055. innerWireType := int(innerWire & 0x7)
  4056. if innerWireType == 4 {
  4057. break
  4058. }
  4059. next, err := skipRpc(dAtA[start:])
  4060. if err != nil {
  4061. return 0, err
  4062. }
  4063. iNdEx = start + next
  4064. }
  4065. return iNdEx, nil
  4066. case 4:
  4067. return iNdEx, nil
  4068. case 5:
  4069. iNdEx += 4
  4070. return iNdEx, nil
  4071. default:
  4072. return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  4073. }
  4074. }
  4075. panic("unreachable")
  4076. }
  4077. var (
  4078. ErrInvalidLengthRpc = fmt.Errorf("proto: negative length found during unmarshaling")
  4079. ErrIntOverflowRpc = fmt.Errorf("proto: integer overflow")
  4080. )
  4081. func init() { proto.RegisterFile("rpcpb/rpc.proto", fileDescriptorRpc) }
  4082. var fileDescriptorRpc = []byte{
  4083. // 2468 bytes of a gzipped FileDescriptorProto
  4084. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x59, 0xdb, 0x76, 0xdb, 0xc6,
  4085. 0xd5, 0x16, 0x44, 0x4b, 0x96, 0x46, 0x27, 0x6a, 0x64, 0x59, 0xb0, 0x9d, 0x88, 0x32, 0x1c, 0xe7,
  4086. 0x57, 0xf4, 0x07, 0x72, 0x6b, 0x67, 0xb5, 0xb5, 0x73, 0xb0, 0x29, 0x0a, 0xb6, 0x58, 0x41, 0x24,
  4087. 0x3d, 0x84, 0x6c, 0xe7, 0x8a, 0x85, 0xc0, 0xa1, 0x88, 0x0a, 0x02, 0x68, 0x60, 0xa8, 0x50, 0x79,
  4088. 0x81, 0xde, 0xf6, 0xbc, 0x7a, 0xd5, 0x27, 0x68, 0xfa, 0x1c, 0x4e, 0x7a, 0x4a, 0xdb, 0x7b, 0xb6,
  4089. 0x75, 0x56, 0x5f, 0x80, 0xab, 0xa7, 0xf4, 0xaa, 0x6b, 0x0e, 0x24, 0x07, 0x20, 0x29, 0xe9, 0x4e,
  4090. 0xd8, 0xfb, 0xfb, 0x3e, 0xec, 0xd9, 0x9b, 0xd8, 0x7b, 0x8f, 0x0d, 0x16, 0xc2, 0x86, 0xd3, 0x38,
  4091. 0xb8, 0x13, 0x36, 0x9c, 0xcd, 0x46, 0x18, 0x90, 0x00, 0x4e, 0x30, 0xc3, 0x75, 0xfd, 0xd0, 0x25,
  4092. 0xf5, 0xe6, 0xc1, 0xa6, 0x13, 0x1c, 0xdf, 0x39, 0x0c, 0x0e, 0x83, 0x3b, 0xcc, 0x7b, 0xd0, 0xac,
  4093. 0xb1, 0x27, 0xf6, 0xc0, 0xfe, 0xe2, 0x2c, 0xed, 0xeb, 0x39, 0x70, 0xc9, 0x20, 0x4e, 0x15, 0xde,
  4094. 0x02, 0x97, 0x0a, 0xf6, 0x31, 0x56, 0x95, 0x35, 0x65, 0x7d, 0x7a, 0x6b, 0xa1, 0xd3, 0xce, 0xcc,
  4095. 0x9c, 0xda, 0xc7, 0xde, 0x03, 0xcd, 0xb7, 0x8f, 0xb1, 0x86, 0x98, 0x13, 0xea, 0xe0, 0xf2, 0xb6,
  4096. 0x4d, 0xec, 0x6d, 0x37, 0x54, 0xc7, 0x19, 0x6e, 0xa9, 0xd3, 0xce, 0x2c, 0x70, 0x5c, 0xd5, 0x26,
  4097. 0xb6, 0x5e, 0x75, 0x43, 0x0d, 0x75, 0x31, 0x70, 0x03, 0x4c, 0x3e, 0xcf, 0x9a, 0x14, 0x9d, 0x62,
  4098. 0x68, 0xd8, 0x69, 0x67, 0xe6, 0x39, 0xfa, 0x13, 0xdb, 0xe3, 0x60, 0x81, 0x80, 0x45, 0xb0, 0xb4,
  4099. 0x83, 0xed, 0x90, 0x1c, 0x60, 0x9b, 0xe4, 0x7d, 0x82, 0xc3, 0x13, 0xdb, 0xdb, 0x8b, 0xd4, 0x99,
  4100. 0x35, 0x65, 0x3d, 0xb5, 0xf5, 0x66, 0xa7, 0x9d, 0xb9, 0xc6, 0x89, 0xf5, 0x2e, 0x48, 0x77, 0x05,
  4101. 0x4a, 0x43, 0xc3, 0x98, 0x30, 0x0f, 0x16, 0x0d, 0x0f, 0x3b, 0xc4, 0x0d, 0x7c, 0xcb, 0x3d, 0xc6,
  4102. 0x41, 0x93, 0xec, 0x45, 0xea, 0x2c, 0x93, 0xbb, 0xd1, 0x69, 0x67, 0x56, 0xb8, 0x1c, 0x16, 0x10,
  4103. 0x9d, 0x70, 0x8c, 0x86, 0x06, 0x59, 0x30, 0x0f, 0xd2, 0xa6, 0x1b, 0x11, 0xec, 0xe7, 0x3c, 0x17,
  4104. 0xfb, 0x64, 0x1f, 0x99, 0x91, 0xba, 0xbc, 0x96, 0x5a, 0x9f, 0x96, 0x03, 0xf3, 0x18, 0x42, 0x77,
  4105. 0x18, 0x44, 0x6f, 0x86, 0x5e, 0xa4, 0xa1, 0x01, 0x1a, 0x44, 0x60, 0x29, 0x5b, 0x3d, 0xc1, 0x21,
  4106. 0x71, 0x23, 0x2c, 0xa9, 0x5d, 0x65, 0x6a, 0x6b, 0x9d, 0x76, 0xe6, 0x0d, 0xae, 0x66, 0x77, 0x41,
  4107. 0x71, 0xc1, 0x61, 0x64, 0x78, 0x1f, 0xcc, 0xf1, 0xa7, 0x6c, 0x93, 0x04, 0x96, 0x59, 0x56, 0x57,
  4108. 0xd6, 0x94, 0xf5, 0x29, 0xb9, 0x36, 0x76, 0x93, 0x04, 0x3a, 0xa1, 0x02, 0x71, 0x24, 0xcc, 0x81,
  4109. 0x79, 0x6e, 0xc8, 0xe1, 0x90, 0x1a, 0xeb, 0xaa, 0xca, 0xb8, 0x52, 0x86, 0xc4, 0xfb, 0x1d, 0x1c,
  4110. 0x12, 0xdd, 0x6e, 0x92, 0xba, 0x86, 0x12, 0x14, 0xf8, 0x81, 0x2c, 0xf2, 0xd8, 0xf5, 0xb0, 0x7a,
  4111. 0x8d, 0x95, 0xfb, 0x4a, 0xa7, 0x9d, 0x49, 0x0b, 0x11, 0xca, 0xae, 0xb9, 0x1e, 0x8e, 0xb1, 0x29,
  4112. 0xb6, 0x1f, 0xfd, 0x2e, 0x3e, 0x65, 0xe4, 0xeb, 0xc9, 0x5f, 0xd6, 0x11, 0x3e, 0x15, 0xdc, 0x38,
  4113. 0x12, 0x9a, 0x60, 0x89, 0x1b, 0xac, 0xb0, 0x19, 0x11, 0x5c, 0xcd, 0x65, 0x99, 0xc0, 0x0d, 0x26,
  4114. 0x70, 0xbd, 0xd3, 0xce, 0x5c, 0xe5, 0x02, 0x84, 0xbb, 0x75, 0xc7, 0x16, 0x3a, 0xc3, 0x68, 0x34,
  4115. 0x17, 0xbc, 0x5c, 0x25, 0x8c, 0x43, 0x56, 0x95, 0x0c, 0xab, 0x8a, 0x94, 0x0b, 0x51, 0xe3, 0x06,
  4116. 0xc6, 0xa1, 0x28, 0x48, 0x82, 0x02, 0x2d, 0xb0, 0xd8, 0x2b, 0x51, 0x4f, 0x67, 0x8d, 0xe9, 0xbc,
  4117. 0xdd, 0x69, 0x67, 0x34, 0xae, 0xe3, 0xfa, 0x2e, 0x71, 0x6d, 0x4f, 0xef, 0x57, 0x59, 0x92, 0x1c,
  4118. 0x14, 0x80, 0x0f, 0xc0, 0x0c, 0xfd, 0xbb, 0x5b, 0xdf, 0x9b, 0xac, 0x46, 0x6a, 0xa7, 0x9d, 0xb9,
  4119. 0xc2, 0xf5, 0x18, 0xbb, 0x5f, 0x64, 0x19, 0x0c, 0x4b, 0x00, 0xd2, 0xc7, 0x44, 0x99, 0x35, 0x26,
  4120. 0x21, 0xfd, 0xe0, 0x98, 0xc4, 0x60, 0xad, 0x87, 0x70, 0xe1, 0x87, 0x60, 0x96, 0x59, 0xbb, 0xd5,
  4121. 0xbe, 0xc5, 0xf2, 0x7d, 0xad, 0xd3, 0xce, 0x2c, 0xcb, 0x5a, 0xfd, 0x92, 0xc7, 0xe0, 0xdd, 0xc3,
  4122. 0x74, 0xcb, 0xfd, 0x16, 0x63, 0x27, 0x0f, 0xd3, 0xaf, 0xb9, 0x0c, 0x86, 0x7b, 0x60, 0x91, 0x3e,
  4123. 0xc6, 0xeb, 0x7d, 0x9b, 0x29, 0x64, 0x3a, 0xed, 0xcc, 0x0d, 0x49, 0x61, 0xa0, 0xe8, 0x83, 0x4c,
  4124. 0xb8, 0x05, 0xe6, 0xf3, 0xbc, 0x14, 0x39, 0x8f, 0xda, 0x43, 0xf5, 0x9d, 0xe4, 0x6f, 0xa7, 0x5b,
  4125. 0x2a, 0x87, 0x03, 0x34, 0x94, 0x60, 0xd0, 0x2f, 0x3a, 0x6e, 0x29, 0x13, 0x9b, 0x60, 0x75, 0x83,
  4126. 0x09, 0x49, 0x09, 0x4e, 0x08, 0xe9, 0x11, 0x85, 0x69, 0x68, 0x18, 0x79, 0x50, 0xd3, 0x0a, 0x8e,
  4127. 0xb0, 0xaf, 0xfe, 0xff, 0x79, 0x9a, 0x84, 0xc2, 0x06, 0x34, 0x19, 0x19, 0x3e, 0x04, 0x73, 0x65,
  4128. 0xdf, 0x6e, 0x44, 0xf5, 0x80, 0xe4, 0x82, 0xa6, 0x4f, 0xd4, 0x7b, 0xac, 0x17, 0x4a, 0x65, 0x8b,
  4129. 0x84, 0x5b, 0x77, 0xa8, 0x5f, 0x43, 0x71, 0x3c, 0x34, 0xc1, 0xe2, 0xd3, 0x66, 0x40, 0xec, 0x2d,
  4130. 0xdb, 0x39, 0xc2, 0x7e, 0x75, 0xeb, 0x94, 0xe0, 0x48, 0x7d, 0x8f, 0x89, 0xac, 0x76, 0xda, 0x99,
  4131. 0xeb, 0x5c, 0xe4, 0x25, 0x85, 0xe8, 0x07, 0x1c, 0xa3, 0x1f, 0x50, 0x90, 0x86, 0x06, 0x89, 0x74,
  4132. 0x94, 0x94, 0x42, 0xfc, 0x2c, 0x20, 0x58, 0x7d, 0x98, 0x6c, 0x57, 0x8d, 0x10, 0xeb, 0x27, 0x01,
  4133. 0xcd, 0x4e, 0x17, 0x23, 0x67, 0x24, 0x08, 0xc3, 0x66, 0x83, 0xe4, 0xea, 0xd8, 0x39, 0x52, 0x1f,
  4134. 0x25, 0x7f, 0xc6, 0xbd, 0x8c, 0x70, 0x94, 0xee, 0x50, 0x98, 0x94, 0x11, 0x89, 0xac, 0xfd, 0x72,
  4135. 0x06, 0x4c, 0xee, 0xe1, 0xe3, 0x03, 0x1c, 0xd2, 0x9f, 0x34, 0x9d, 0x82, 0x46, 0x0b, 0x3b, 0x25,
  4136. 0x9b, 0xd4, 0xc5, 0x14, 0x94, 0x72, 0x83, 0x89, 0x53, 0xd5, 0x71, 0x0b, 0x3b, 0x7a, 0xc3, 0xa6,
  4137. 0xdf, 0x45, 0x0c, 0x0e, 0xef, 0x81, 0xe9, 0xec, 0x21, 0x6d, 0xab, 0xd5, 0x6a, 0xc8, 0x46, 0xd6,
  4138. 0xf4, 0xd6, 0x72, 0xa7, 0x9d, 0x59, 0x14, 0xdd, 0x97, 0xba, 0x74, 0xbb, 0x5a, 0x0d, 0x35, 0xd4,
  4139. 0xc7, 0xd1, 0x7c, 0x3e, 0xb6, 0x5d, 0xaf, 0x11, 0xb8, 0x3e, 0xd9, 0xb1, 0xac, 0x12, 0x23, 0xcf,
  4140. 0x32, 0xb2, 0x94, 0xcf, 0x5a, 0x17, 0xa2, 0xd7, 0x09, 0x69, 0x08, 0x95, 0x41, 0x22, 0xcd, 0xe7,
  4141. 0x96, 0x1d, 0x61, 0x3a, 0x6c, 0x71, 0xb2, 0x81, 0x1e, 0xd8, 0x11, 0x16, 0xa3, 0x59, 0x60, 0xe8,
  4142. 0x47, 0x48, 0x4f, 0x60, 0x06, 0x87, 0xec, 0xbc, 0xb5, 0xe4, 0x47, 0xc8, 0xce, 0xeb, 0x05, 0x87,
  4143. 0xe2, 0xb8, 0x32, 0x18, 0x3e, 0x01, 0x0b, 0xf4, 0x91, 0x77, 0x85, 0x52, 0x18, 0xb4, 0x4e, 0xd5,
  4144. 0xcf, 0x15, 0x56, 0x88, 0x37, 0x3a, 0xed, 0x8c, 0x2a, 0x09, 0x88, 0x7e, 0xd2, 0xa0, 0x18, 0x0d,
  4145. 0x25, 0x59, 0x30, 0x0b, 0xe6, 0xa8, 0x89, 0x7e, 0x97, 0x5c, 0xe6, 0x0b, 0x2e, 0x23, 0x7d, 0x7e,
  4146. 0x4c, 0x86, 0x7d, 0xcf, 0x42, 0x24, 0xce, 0xa0, 0xdd, 0xad, 0xaf, 0x6a, 0xf8, 0x55, 0x96, 0x14,
  4147. 0xf5, 0xb3, 0xf1, 0x64, 0x4b, 0x90, 0xc3, 0xc1, 0x02, 0xa6, 0xa1, 0x21, 0x5c, 0xf8, 0x4d, 0xbe,
  4148. 0x10, 0xa9, 0xbf, 0xa6, 0x1a, 0x33, 0x77, 0x67, 0x36, 0xd9, 0x5e, 0xb5, 0x49, 0x6d, 0xf2, 0x5a,
  4149. 0x44, 0x05, 0x35, 0xc4, 0x77, 0xa7, 0x6d, 0x79, 0x00, 0xd2, 0xe5, 0x47, 0xfd, 0x11, 0x5f, 0x78,
  4150. 0x46, 0x8c, 0x51, 0xba, 0x2a, 0xc5, 0x06, 0x21, 0xe5, 0xc4, 0x55, 0x58, 0x55, 0x7e, 0x7c, 0xa6,
  4151. 0x0a, 0xaf, 0x4c, 0x82, 0x43, 0x73, 0xda, 0x1b, 0x92, 0x2c, 0x94, 0x9f, 0xa4, 0x92, 0x2d, 0x4d,
  4152. 0x88, 0xd0, 0x16, 0xcb, 0x23, 0x89, 0x33, 0x62, 0x12, 0x2c, 0x8e, 0x9f, 0x9e, 0x25, 0xc1, 0xc3,
  4153. 0x88, 0x33, 0xa0, 0x35, 0x30, 0x99, 0x59, 0x2c, 0x3f, 0xe3, 0x42, 0x37, 0x3b, 0xed, 0xcc, 0x9b,
  4154. 0x31, 0x21, 0xa9, 0x59, 0xf3, 0x90, 0x86, 0xd1, 0x87, 0xa8, 0xb2, 0xf0, 0x7e, 0x7e, 0x01, 0x55,
  4155. 0x1e, 0xe5, 0x30, 0x3a, 0xfc, 0xa8, 0x3f, 0xce, 0x58, 0x90, 0xff, 0x4c, 0x8d, 0x9e, 0x67, 0x3c,
  4156. 0xb8, 0x18, 0x5e, 0xe6, 0xb3, 0x70, 0xfe, 0x75, 0x06, 0x5f, 0x34, 0x0f, 0x19, 0x0f, 0xdf, 0xef,
  4157. 0xcd, 0x43, 0xf6, 0xfa, 0x7f, 0xa7, 0x46, 0x0e, 0x44, 0xfe, 0x76, 0x19, 0x2d, 0x91, 0xd9, 0xbb,
  4158. 0xff, 0x33, 0x9a, 0x2c, 0x3e, 0x64, 0x09, 0x0d, 0x0b, 0x89, 0x69, 0xca, 0xde, 0xff, 0x75, 0xea,
  4159. 0xbc, 0x71, 0xca, 0xc3, 0x18, 0xa4, 0x0e, 0xe8, 0xb1, 0x90, 0xfe, 0x7b, 0xae, 0x1e, 0x8f, 0x6c,
  4160. 0x90, 0xaa, 0x7d, 0x35, 0x0b, 0x26, 0x2d, 0xcc, 0xa6, 0xac, 0x74, 0xf3, 0x50, 0x2e, 0x70, 0xf3,
  4161. 0x78, 0x17, 0x5c, 0x2e, 0x60, 0xf2, 0x49, 0x10, 0x1e, 0x89, 0x8b, 0x8a, 0x74, 0xf5, 0xf0, 0xb9,
  4162. 0x43, 0x43, 0x5d, 0x08, 0xbd, 0xfb, 0xb0, 0xe6, 0x9b, 0x4a, 0xde, 0x7d, 0x78, 0xb7, 0x65, 0x4e,
  4163. 0xba, 0x1e, 0x6e, 0x63, 0xcf, 0x3e, 0x35, 0x6d, 0x82, 0x7d, 0xe7, 0x54, 0xdc, 0x4d, 0xe6, 0xe4,
  4164. 0xaf, 0xb3, 0x4a, 0xfd, 0xba, 0xc7, 0x01, 0xfa, 0x31, 0x5d, 0x0f, 0xe3, 0x14, 0xf8, 0x5d, 0x90,
  4165. 0x8e, 0x5b, 0xd0, 0x09, 0x6b, 0xf9, 0x73, 0x72, 0xcb, 0x4f, 0xca, 0xe8, 0xe1, 0x89, 0x86, 0x06,
  4166. 0x78, 0xf0, 0x63, 0xb0, 0xbc, 0xdf, 0xa8, 0xda, 0x04, 0x57, 0x13, 0x71, 0xcd, 0x31, 0xc1, 0x5b,
  4167. 0x9d, 0x76, 0x26, 0xc3, 0x05, 0x9b, 0x1c, 0xa6, 0x0f, 0xc6, 0x37, 0x5c, 0x01, 0x7e, 0x0b, 0x00,
  4168. 0x14, 0x34, 0xfd, 0xaa, 0xe9, 0x1e, 0xbb, 0x44, 0x5d, 0x5e, 0x53, 0xd6, 0x27, 0xb6, 0xae, 0x76,
  4169. 0xda, 0x19, 0xc8, 0xf5, 0x42, 0xea, 0xd3, 0x3d, 0xea, 0xd4, 0x90, 0x84, 0x84, 0x8f, 0xc0, 0x9c,
  4170. 0xd1, 0x72, 0x49, 0xd1, 0xa7, 0xf3, 0xa9, 0x19, 0x62, 0xf5, 0xea, 0x40, 0x3f, 0x6f, 0xb9, 0x44,
  4171. 0x0f, 0x7c, 0xbd, 0xc6, 0x01, 0xb4, 0x9f, 0xcb, 0x04, 0xb8, 0x03, 0xd2, 0xb9, 0xc0, 0x8f, 0xd8,
  4172. 0x52, 0xed, 0x9c, 0xf2, 0x21, 0xbf, 0x92, 0x9c, 0x2d, 0x4e, 0x1f, 0xd1, 0x1d, 0xf0, 0x03, 0x2c,
  4173. 0x78, 0x1f, 0xcc, 0x18, 0xbe, 0x7d, 0xe0, 0xe1, 0x52, 0x23, 0x0c, 0x6a, 0xe2, 0x5e, 0xb3, 0xd2,
  4174. 0x69, 0x67, 0x96, 0x44, 0x24, 0xcc, 0xa9, 0x37, 0xa8, 0x97, 0x0e, 0xb8, 0x3e, 0x96, 0x96, 0x5a,
  4175. 0xc4, 0xc3, 0xf2, 0xb2, 0x47, 0x6f, 0x02, 0x89, 0x52, 0x8b, 0xf8, 0x45, 0x4a, 0x59, 0xa9, 0xe3,
  4176. 0x14, 0xba, 0x5b, 0x0a, 0x4b, 0xb9, 0xde, 0xac, 0xd5, 0x3c, 0xac, 0xae, 0x25, 0x93, 0xd1, 0x15,
  4177. 0x89, 0x38, 0xa0, 0xaf, 0x21, 0x18, 0xf0, 0x03, 0x30, 0x2b, 0x2c, 0x39, 0x3b, 0xc2, 0x91, 0x7a,
  4178. 0x93, 0x5d, 0x24, 0xa4, 0xaf, 0xbb, 0xab, 0xe0, 0x50, 0xb7, 0x86, 0x62, 0x68, 0xb8, 0x2b, 0x2d,
  4179. 0x18, 0xb9, 0xe0, 0xf8, 0xd8, 0xf6, 0xab, 0x91, 0xaa, 0x25, 0xef, 0xad, 0xfd, 0x05, 0xc3, 0x11,
  4180. 0x18, 0x79, 0xbf, 0xe8, 0xf2, 0x68, 0x4e, 0x50, 0xd3, 0xf7, 0x71, 0xd8, 0xdb, 0x91, 0xde, 0x49,
  4181. 0x0e, 0xa7, 0x90, 0xf9, 0xe5, 0x2d, 0x29, 0x41, 0xa1, 0x17, 0x69, 0xa3, 0x45, 0x70, 0xe8, 0xdb,
  4182. 0x5e, 0x4f, 0x86, 0x2f, 0xca, 0x52, 0x40, 0x58, 0x20, 0x64, 0xa1, 0x01, 0x1a, 0x2d, 0x6f, 0x99,
  4183. 0x84, 0x38, 0x8a, 0xac, 0xd3, 0x06, 0x8e, 0x54, 0xcc, 0x8e, 0x25, 0x95, 0x37, 0x62, 0x4e, 0x9d,
  4184. 0x50, 0xaf, 0x86, 0x64, 0x2c, 0xfd, 0x95, 0xf2, 0xc7, 0x5d, 0x7c, 0x5a, 0x76, 0x3f, 0xc5, 0x6c,
  4185. 0xfb, 0x99, 0x90, 0x0b, 0x23, 0xc8, 0xb4, 0x6d, 0x46, 0xee, 0xa7, 0xf4, 0x57, 0x1a, 0x23, 0xd0,
  4186. 0xad, 0x23, 0x66, 0x30, 0xed, 0xf0, 0x10, 0xab, 0x87, 0x4c, 0x46, 0x5a, 0x46, 0x13, 0x32, 0xba,
  4187. 0x47, 0x61, 0x1a, 0x1a, 0xc2, 0x85, 0xcf, 0xc0, 0x95, 0xbe, 0xb5, 0x59, 0xab, 0xb9, 0x2d, 0x64,
  4188. 0xfb, 0x87, 0x58, 0xad, 0x33, 0x4d, 0xad, 0xd3, 0xce, 0xac, 0x0e, 0x6a, 0x32, 0x9c, 0x1e, 0x52,
  4189. 0xa0, 0x86, 0x86, 0xf2, 0xe1, 0xf7, 0xc0, 0xca, 0x30, 0xbb, 0xd5, 0xf2, 0x55, 0x97, 0x49, 0x4b,
  4190. 0xb7, 0xd2, 0x11, 0xd2, 0x3a, 0x69, 0xf9, 0x1a, 0x1a, 0x25, 0x43, 0xb7, 0xc1, 0x9e, 0xcb, 0x6a,
  4191. 0xf9, 0xc5, 0x46, 0xa4, 0x7e, 0x9f, 0x29, 0x4b, 0x25, 0x95, 0x94, 0x49, 0xcb, 0xd7, 0x83, 0x46,
  4192. 0xa4, 0xa1, 0x24, 0xab, 0x5f, 0x16, 0x3e, 0xa4, 0x23, 0xbe, 0x54, 0x4e, 0xc4, 0x6e, 0x28, 0x5c,
  4193. 0x87, 0x8f, 0xf7, 0xa8, 0x57, 0x16, 0x41, 0x80, 0xef, 0x81, 0x69, 0x6e, 0x78, 0x5a, 0x2a, 0xf3,
  4194. 0x5d, 0x72, 0x42, 0xde, 0xc3, 0x05, 0xfb, 0x25, 0x7d, 0x7b, 0x1f, 0xa8, 0xfd, 0x40, 0x01, 0x97,
  4195. 0x11, 0x7e, 0xd9, 0xc4, 0x11, 0x81, 0x9b, 0x60, 0xba, 0xd8, 0xc0, 0xa1, 0x4d, 0xdc, 0xc0, 0x67,
  4196. 0x83, 0x66, 0xfe, 0x6e, 0x5a, 0x2c, 0x80, 0x3d, 0x3b, 0xea, 0x43, 0xe0, 0xed, 0xee, 0x0d, 0x42,
  4197. 0xe5, 0xdb, 0xe2, 0x9c, 0x00, 0x73, 0x23, 0xea, 0x5e, 0x2f, 0x6e, 0x77, 0xe7, 0x18, 0x1b, 0x31,
  4198. 0x7d, 0x18, 0x37, 0x22, 0xe1, 0xd4, 0x1c, 0x30, 0x85, 0x70, 0xd4, 0x08, 0xfc, 0x08, 0x43, 0x15,
  4199. 0x5c, 0x2e, 0x37, 0x1d, 0x07, 0x47, 0x11, 0x8b, 0x63, 0x0a, 0x75, 0x1f, 0xe1, 0x55, 0x30, 0x49,
  4200. 0x6f, 0x89, 0xcd, 0x88, 0x8f, 0x36, 0x24, 0x9e, 0xa4, 0x58, 0x52, 0x67, 0xc4, 0xb2, 0xf1, 0x17,
  4201. 0x45, 0x3a, 0x23, 0x9c, 0x07, 0xa0, 0x10, 0x90, 0x32, 0xb1, 0x43, 0x82, 0xab, 0xe9, 0x31, 0x78,
  4202. 0x05, 0xa4, 0xc5, 0x55, 0x89, 0xd9, 0xe8, 0x7a, 0x9b, 0x56, 0xe0, 0x02, 0x98, 0x41, 0x38, 0xea,
  4203. 0x19, 0xc6, 0xe1, 0x2c, 0x98, 0xda, 0x75, 0x3d, 0x8f, 0x3d, 0xa5, 0xa8, 0x9b, 0x36, 0x8c, 0x6c,
  4204. 0xe8, 0xd4, 0xdd, 0x13, 0x9c, 0xbe, 0x44, 0x55, 0xb6, 0x71, 0x44, 0xc2, 0xe0, 0x94, 0x22, 0xd8,
  4205. 0x95, 0x27, 0x3d, 0x01, 0xaf, 0x81, 0xe5, 0x2d, 0xcf, 0x76, 0x8e, 0xea, 0x81, 0xc7, 0xfe, 0x69,
  4206. 0xa3, 0x14, 0x84, 0xc4, 0x6a, 0xa1, 0x56, 0xba, 0x0a, 0x6f, 0x80, 0x95, 0x7d, 0xff, 0x60, 0xa8,
  4207. 0x13, 0xc3, 0x65, 0xb0, 0xc8, 0x9a, 0x6a, 0xcc, 0x5c, 0x83, 0x2b, 0x60, 0x69, 0xdf, 0xaf, 0x0e,
  4208. 0x38, 0x0e, 0x37, 0xfe, 0x3e, 0xc5, 0xe3, 0x11, 0x8d, 0x90, 0xf2, 0x77, 0xf3, 0xa6, 0x59, 0x29,
  4209. 0x16, 0x8c, 0xca, 0xe3, 0xa2, 0x69, 0x16, 0x9f, 0x1b, 0x28, 0x3d, 0x06, 0xdf, 0x05, 0xeb, 0x03,
  4210. 0xe6, 0xca, 0x7e, 0xc1, 0xca, 0x9b, 0x15, 0x0b, 0xe5, 0x9f, 0x3c, 0x31, 0x50, 0xa5, 0x5c, 0xc8,
  4211. 0x96, 0xca, 0x3b, 0x45, 0x8b, 0xa7, 0x80, 0xa1, 0x4d, 0x23, 0xbb, 0x6d, 0xa0, 0xf4, 0x38, 0x7c,
  4212. 0x1b, 0x68, 0x92, 0x61, 0x14, 0x31, 0xd5, 0x23, 0x3e, 0xdd, 0x2f, 0xa2, 0xfd, 0xbd, 0xf4, 0x25,
  4213. 0x96, 0x3b, 0x6a, 0xc8, 0x9a, 0x66, 0x7a, 0x02, 0x6e, 0x80, 0xb7, 0xb7, 0xcc, 0x6c, 0x6e, 0x77,
  4214. 0xa7, 0x68, 0x1a, 0x95, 0x92, 0x61, 0xa0, 0x4a, 0xa9, 0x88, 0xac, 0x8a, 0xf5, 0xa2, 0x82, 0x5e,
  4215. 0xc4, 0x23, 0xae, 0xc2, 0x2c, 0xf8, 0xf0, 0x62, 0xd8, 0x51, 0xd1, 0x60, 0xf8, 0x16, 0x58, 0x1b,
  4216. 0x2d, 0x21, 0xce, 0x56, 0x83, 0xef, 0x83, 0x6f, 0x9f, 0x87, 0x1a, 0xf5, 0x8a, 0xc3, 0xb3, 0x5f,
  4217. 0x21, 0xb2, 0x50, 0x87, 0x37, 0xc1, 0x9b, 0xa3, 0x51, 0x34, 0x35, 0x2e, 0xfc, 0x3f, 0xa0, 0x6d,
  4218. 0x1b, 0x66, 0xf6, 0xe3, 0xb3, 0xd3, 0xf2, 0x4a, 0x81, 0x9b, 0xe0, 0x1d, 0x94, 0x2d, 0x6c, 0x17,
  4219. 0xf7, 0x2a, 0x17, 0xc0, 0x7f, 0xae, 0xc0, 0x8f, 0xc0, 0xfd, 0xf3, 0x81, 0xa3, 0x0e, 0xf8, 0x85,
  4220. 0x02, 0x0d, 0xf0, 0xe8, 0xc2, 0xef, 0x1b, 0x25, 0xf3, 0x1b, 0x05, 0xde, 0x04, 0x6f, 0x0c, 0xe7,
  4221. 0x8b, 0x3a, 0xfc, 0x56, 0x81, 0xeb, 0xe0, 0xd6, 0x99, 0x6f, 0x12, 0xc8, 0xdf, 0x29, 0xf0, 0x3b,
  4222. 0xe0, 0xde, 0x59, 0x90, 0x51, 0x61, 0xfc, 0x5e, 0x81, 0x0f, 0xc1, 0x83, 0x0b, 0xbc, 0x63, 0x94,
  4223. 0xc0, 0x1f, 0xce, 0x38, 0x87, 0x28, 0xf6, 0x97, 0xe7, 0x9f, 0x43, 0x20, 0xff, 0xa8, 0xc0, 0x55,
  4224. 0x70, 0x6d, 0x38, 0x84, 0xfe, 0x26, 0xfe, 0xa4, 0xc0, 0xdb, 0x60, 0xed, 0x4c, 0x25, 0x0a, 0xfb,
  4225. 0xb3, 0x02, 0x55, 0xb0, 0x54, 0x28, 0x56, 0x1e, 0x67, 0xf3, 0x66, 0xe5, 0x79, 0xde, 0xda, 0xa9,
  4226. 0x94, 0x2d, 0x64, 0x94, 0xcb, 0xe9, 0x5f, 0x8d, 0xd3, 0x50, 0x62, 0x9e, 0x42, 0x51, 0x38, 0x2b,
  4227. 0x8f, 0x8b, 0xa8, 0x62, 0xe6, 0x9f, 0x19, 0x05, 0x8a, 0xfc, 0x6c, 0x1c, 0x2e, 0x00, 0x40, 0x61,
  4228. 0xa5, 0x62, 0xbe, 0x60, 0x95, 0xd3, 0x3f, 0x4c, 0xc1, 0x39, 0x30, 0x65, 0xbc, 0xb0, 0x0c, 0x54,
  4229. 0xc8, 0x9a, 0xe9, 0x7f, 0xa4, 0x36, 0x02, 0x00, 0xfa, 0x6b, 0x05, 0x9c, 0x04, 0xe3, 0xbb, 0xcf,
  4230. 0xd2, 0x63, 0x70, 0x1a, 0x4c, 0x98, 0x46, 0xb6, 0x6c, 0xa4, 0x15, 0xb8, 0x04, 0x16, 0x0c, 0xd3,
  4231. 0xc8, 0x59, 0xf9, 0x62, 0xa1, 0x82, 0xf6, 0x0b, 0x05, 0xd6, 0x37, 0xd2, 0x60, 0xf6, 0x79, 0xd6,
  4232. 0xca, 0xed, 0x74, 0x2d, 0x29, 0xda, 0x9f, 0xcc, 0x62, 0x6e, 0xb7, 0x82, 0xb2, 0x39, 0x03, 0x75,
  4233. 0xcd, 0x97, 0x28, 0x90, 0x09, 0x75, 0x2d, 0x13, 0x77, 0x1f, 0x82, 0x69, 0x2b, 0xb4, 0xfd, 0xa8,
  4234. 0x11, 0x84, 0x04, 0xde, 0x95, 0x1f, 0xe6, 0x45, 0xaf, 0x17, 0x73, 0xec, 0xfa, 0x42, 0xef, 0x99,
  4235. 0x8f, 0x13, 0x6d, 0x6c, 0x5d, 0xf9, 0x86, 0xb2, 0x75, 0xe5, 0xd5, 0xdf, 0x56, 0xc7, 0x5e, 0xbd,
  4236. 0x5e, 0x55, 0xbe, 0x7c, 0xbd, 0xaa, 0xfc, 0xf5, 0xf5, 0xaa, 0xf2, 0x8b, 0xaf, 0x56, 0xc7, 0x0e,
  4237. 0x26, 0xd9, 0x7f, 0x05, 0xdd, 0xfb, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd4, 0x42, 0xd4, 0x02,
  4238. 0x53, 0x1a, 0x00, 0x00,
  4239. }