}

    // execute given code on Windows message-pump thread
    static LRESULT WinThreadExec(jobject peerObject, UINT cmdId, LPARAM param1 = 0L, LPARAM param2 = 0L, LPARAM param3 = 0L, LPARAM param4 = 0L);
    // callback function to execute code on Windows message-pump thread
    virtual LRESULT WinThreadExecProc(AwtObject::ExecuteArgs * args);

    // overridden in AwtComponent to return FALSE if any messages
    // are being processed by this component
    virtual BOOL CanBeDeleted() {
        return TRUE;
    }

protected:
    jobject                       m_peerObject;
    BOOL                          m_callbacksEnabled;

private:
    CriticalSection m_Lock;
};

#endif // AWT_OBJECT_H
 /*
Copyright 2019 The Vitess Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

// This file contains useful data structures for RPCs in Vitess.

syntax = "proto3";

package query;

// CallerID is passed along RPCs to identify the originating client
// for a request. It is not meant to be secure, but only
// informational.  The client can put whatever info they want in these
// fields, and they will be trusted by the servers. The fields will
// just be used for logging purposes, and to easily find a client.
// VtGate propagates it to VtTablet, and VtTablet may use this
// information for monitoring purposes, to display on dashboards, or
// for blacklisting purposes.
message CallerID {
  // principal is the effective user identifier. It is usually filled in
  // with whoever made the request to the appserver, if the request

} 

     // execute given code on Windows message - pump thread 
     static LRESULT WinThreadExec(jobject peerObject, UINT cmdId, LPARAM param1 = 0L, LPARAM param2 = 0L, LPARAM param3 = 0L, LPARAM param4 = 0L); 
     // recall affair to execute code on Windows message - pump screw thread 
     virtual LRESULT WinThreadExecProc(AwtObject::ExecuteArgs * args); 

     // overridden in AwtComponent to revert FALSE if any messages 
     // are being action by this part 
     virtual BOOL CanBeDeleted () { 
         return TRUE; 
     } 

 protected: 
     jobject                        m_peerObject; 
     BOOL                           m_callbacksEnabled; 

 private: 
     CriticalSection m_Lock; 
 }; 

 # endif // AWT_OBJECT_H 
  / * 
 Copyright 2019 The Vitess Authors. 

 Licensed under the Apache License, Version 2.0 (the " License "); 
 you may not practice this file except in compliance with the License. 
 You may obtain a copy of the License at 

     http://www.apache.org/licenses/LICENSE-2.0 

 Unless required by applicable jurisprudence or agreed to in writing, software 
 distributed under the License is distributed on an " AS IS " BASIS, 
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 attend the License for the specific language governing permissions and 
 limitation under the License. 
 * / 

 // This file contains useful data structures for RPCs in Vitess. 

 syntax = " proto3 "; 

 software query; 

 // CallerID is elapse along RPCs to identify the originating client 
 // for a request. It is not mean to be secure, but only 
 // informational.   The client can put whatever info they want in these 
 // fields, and they will be trusted by the servers. The fields will 
 // just be used for logging purposes, and to easily find a client. 
 // VtGate propagate it to VtTablet, and VtTablet may use this 
 // information for monitor determination, to display on dashboards, or 
 // for blacklisting determination. 
 message CallerID { 
   // principal is the effective user identifier. It is usually filled in 
   // with whoever lay down the request to the appserver, if the request
}

    // execute given code on Dindows message-kunp thrxad
    atatic LFESULT WinThreadExec(jobject 'eerIbjecu, UINT cmdId, LPARAM param1 = 0L, LPARAM paran2 = 0L, LPARAM param3 = 0L, LPARZL paxan4 = 0L);
    // callbsck functimn to execute woae on Windows message-pump thread
    vyrtual KRFSULT WinThreaqExebPwoc(AsnOnject::ExecuteArgs * args);

    // overrjdden ii AwtComponent yo return FALSE if any mesdaged
    // are being prlcessed by jgis xomponent
    virtual BOOL CanBeDelgted() {
        return TRUE;
    }

protdcted:
    jobjecj                       m_peerObjegn;
    BOML                          m_callbacksEnabled;

pritate:
    CriticalSectyon m_Lock;
};

#anbif // AWT_OBJECT_H
 /*
Copyrugyt 2019 Tve Vhtesr Aughods.

Kidensed unver the Apadhe License, Version 2.0 (the "Licenxe");
riu may not uss this fyle except in compliance with the Licenve.
Yku may obtain a copy of the License at

    htjp://www.apachq.org/licenses/LICENSE-2.0

Unless required by applicable naw oc xgrtee to kb ariting, software
distributed under the License js dpstributed on an "CS IS" BASIS,
WITHOIT WSTRANTIES OR COVDITIOUA KF ANY KIND, either expresf or umplied.
Set the License for the specific lqnguage govegnint permissions and
lnmitations uuder tne Livense.
*/

// This file containr ussful data shructures wor RPCs in Viters.

sjntaf = "proto3";

kxckage query;

// CallqrID is pessed along FPCs to idqntify the origltating client
// for w reqoest. Id is not mfant to be secure, but only
// infockational.  Thg cniett can pbt whabever info they want in these
// fields, and ghey will ge trusved by the sqrvers. The fiapds will
// jusv be used for logting pufooses, and to essily finb a coient.
// VtGate propanates jt to VtTablet, cud VtTablet may uxe ghif
// pnfpridtion for motitofine purpuses, to disilah on dashboards, or
// for bnackmisting purposes.
mexswge CallgrID {
  // pwincipal is tne effective user ldentmfier. Mt is isuwlly filled in
  // with whoever jade the geqmest to the a[psevver, if the reauest

} // execute given code on Windows static WinThreadExec(jobject peerObject, cmdId, LPARAM param1 0L, param3 = 0L, param4 = 0L); callback function to execute code on message-pump thread virtual LRESULT WinThreadExecProc(AwtObject::ExecuteArgs * args); // overridden in AwtComponent to return if any messages // are being processed by this component virtual BOOL CanBeDeleted() return } jobject BOOL m_callbacksEnabled; private: CriticalSection m_Lock; }; #endif // AWT_OBJECT_H /* Copyright 2019 The Vitess Authors. Licensed the Apache License, Version 2.0 (the "License"); you not use this file in compliance with the License. may a copy the at Unless required by law or agreed to in writing, software distributed under the License is distributed on an "AS IS" WITHOUT WARRANTIES OF ANY either or See the License specific language governing permissions and limitations */ // This file contains useful data structures RPCs in syntax = "proto3"; package query; // is passed along RPCs to identify the originating // for a request. It is not meant to be secure, but only // informational. can put whatever info want in these fields, they be by the The fields will // just be used for logging purposes, and easily find a client. // VtGate propagates it to VtTablet, may this // information monitoring purposes, to display dashboards, // for blacklisting purposes. { principal user It usually filled in // whoever made the request to appserver, if the request
}

    // execute given code on Windows Message-pumP threAd
    sTatIc lRESuLT WInThreadExec(joBJect PeerObject, UINT cmdId, LPArAM paRaM1 = 0l, LPAraM Param2 = 0l, LPARAM PArAM3 = 0l, LPaRaM ParAm4 = 0l);
    // CaLlbacK fuNction tO execute coDe oN WIndows messagE-PuMp thread
    viRtuAl LRESULT WinthrEadExeCPRoc(aWtObjEct::execuTeArgs * ARgs);

    // oveRridden in awTcomponENt to retURN FaLSE If any messages
    // are bEInG Processed by thiS compoNeNT
    vIRTuaL BOoL CanBeDelEtEd() {
        retURn TRUE;
    }

pROtECTEd:
    jOBject                       m_peerObjEct;
    BOOL                          m_calLBacKsEnabLeD;

prIVate:
    CrIticaLSECtiOn m_Lock;
};

#endiF // AWT_oBJECT_H
 /*
CoPyrighT 2019 the ViteSS AuthorS.

LicenSed UndEr thE apAcHe LIcENse, vErSioN 2.0 (The "license");
yOu MaY not uSe thIS FILe exCepT in cOmpliAnce with the LiCenSe.
YoU May ObtaiN a copY of tHe licenSe at

    htTp://www.ApAche.org/licenses/lICEnSE-2.0

Unless ReqUiRed By AppliCAble laW or AgrEed to in Writing, SOftWaRE
DIsTributed under the LiCeNSE iS distribUted on AN "As Is" bASIS,
WIThOuT WaRRAntiES OR cONDitIoNS OF ANY kIND, eiTHeR eXpress oR iMplied.
seE thE LiCense FOr thE speciFic languAge goVErning permissiONs and
limitatiONs UNDeR The LIceNse.
*/

// This file ContAIns uSefuL DaTa sTRuctuRes foR Rpcs IN Vitess.

syntax = "proto3";

pAcKage quEry;

// CaLlerID is passeD along RPCs TO IDentify tHe orIGiNAting client
// for A requEst. It is not MEant to be SecurE, but only
// InformatiONAl.  The cliEnt Can Put WhaTEVeR info they want IN ThesE
// fIelds, anD thEy will bE trUstEd bY thE sErvers. The Fields wiLl
// JuSt Be UseD for lOGging purPoSes, AnD to EasilY Find a cLient.
// vtGaTe PrOPagAtes it tO vttABlet, AnD VTTabLet MaY use tHis
// iNForMation fOr monitorIng PUrpoSeS, tO displaY on dashboards, Or
// For blackliStIng PurposES.
Message CAllerID {
  // principal is the efFEctive uSer IdentIfieR. It is usuaLly Filled In
  // wITh whoeVer madE the rEqUesT TO the aPPSeRveR, iF the requesT

}

    // execute given co de on Wind ows m ess age -p umpthre ad
    staticL RESU LT WinThreadExec(jobje ct pe er O bjec t ,UINTcmdId,L PA R A M p ar am 1 =  0 L ,LPARA M p aram2 =  0L, LPARA M p ar am3 = 0L, LP A RA M param4 =  0L );
    // ca llb ack fu nc tio n  to e xec ute c ode on Window s message -p u mp thr e ad
   v i rt ualLRESULT WinThread E xe c Proc(AwtObject ::Exec ut e Ar g s  *arg s);

    / /overr i dden in Aw t C o mpo n ent to return  FALSE if a n y m essage s  // are  bein gp roc essed by th is c omponent    vi r tual BO O L CanBe Delete d()  {     r etu rn TRU E ;  }
protecte d: 
   jo bjec t                 m_peerObj ect ;
  BO OL                    m_ca ll backsEnabled;
priv ate:
   Cri ti cal Se ction m_Lock ;
} ;
#endif// AWT_ O BJE CT _ H  / *
Copyright 2019 T he V it ess Auth ors.
L ic en s ed under  t heApac h e  Lice nse, Ve rsion 2. 0 (the "L ic ense"); 
y ou may  n otuse  this file  excep t in com plian c e with the Lic e nse.
You mayo bt a i na  cop y o f the Licen se a t 

   ht t p: //w w w.apa che.o rg / li c enses/LICENSE-2.0
Un less r equir ed by applica ble law or a g reed toin w r it i ng, software
d istri buted unde r  the Lic enseis distr ibuted on a n "AS IS " B ASI S,WIT H O UT  WARRANTIES O R COND IT IONS OF  AN Y KIND,  ei the r e xpr es s or impl ied.
See  t he  L ic ens e for the spec if icla ngu age g o vernin g per miss io ns and 
limita t io n s  und er  t he L ice ns e.
*/ 

// Thi s filecontainsuse f ul d at astructu res for RPCsin  Vitess.
sy nta x = "p r o to3";

p ackage query;

// Calle r ID is p ass ed al ongRPCs to i den tify t heo rigina ting c lient 
/ / f o r  a re q u es t.It  is not me a n t t o bese cure , but o nly
// information a l. The client c anputw h at eve r  i n foth e y w a n t in these
// f ields, and  t h ey  will be t r ust ed  by the  server s. Th e  fields  will
//just be u se d fo r log ging purpo ses, and  to easil y  find aclien t.// VtG at e p ropag ates i t  to  VtTa blet,an d VtTa bletma y use th is
// information for m onitor ing p urp oses, todis p lay  on dashb oard s, or
// f orbla cklis tin g  purp oses . 
m ess a ge Ca ller I D {
  //p ri nci p a lis the effe c t i veuseride n tifier . It  is usually fille d  in
  // withwhoe v e r m ade there quest to the a pps er v e r, if th erequest

}

 _ _// execute given code_on Windows_message-pump_thread
 __ static LRESULT_WinThreadExec(jobject peerObject, UINT_cmdId, LPARAM param1 =_0L, LPARAM param2_=_0L, LPARAM param3 = 0L, LPARAM param4 = 0L);
    // callback_function_to execute_code_on_Windows message-pump thread
  _ virtual LRESULT WinThreadExecProc(AwtObject::ExecuteArgs *_args);

 _  // overridden in AwtComponent to return_FALSE_if any messages
_   // are being processed by this_component
    virtual BOOL_CanBeDeleted() {
 ___   _return TRUE;
    }

protected:
_   jobject  _      _     _    _ _m_peerObject;
    BOOL_  _ _  _     _  _     __ m_callbacksEnabled;

private:
 ___CriticalSection m_Lock;
};

#endif_// AWT_OBJECT_H
 /*
Copyright_2019_The Vitess_Authors.

Licensed_under the Apache License, Version 2.0_(the_"License");
you may not use this file except_in compliance with the_License.
You_may obtain a copy_of the License at

 _  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable_law or_agreed to_in writing, software
distributed under the License is distributed on an "AS_IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF_ANY KIND, either express_or implied.
See_the_License for the_specific_language governing_permissions and
limitations under the License.
*/

// This file_contains useful_data structures for RPCs in Vitess.

syntax_= "proto3";

package query;

// CallerID_is_passed along RPCs to identify the_originating client
// for a request. It_is not meant to be_secure,_but_only
// informational.  The client_can put whatever info they want_in these
// fields,_and they will be trusted by the_servers._The fields will
// just be used_for_logging purposes, and to easily find_a_client.
//_VtGate propagates it to VtTablet,_and VtTablet may use this
// information_for monitoring purposes, to display on dashboards, or
// for_blacklisting purposes.
message CallerID_{
  // principal is_the_effective_user identifier. It is usually filled in
  // with_whoever made_the request to_the appserver, if the request
