/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 ĠLINE ĠCorporation Ċ Ġ* Ċ Ġ* Ġ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 . Ċ Ġ*/ Ċ package Ġcom . line corp . lich . thrift . logging Ċ Ċ import Ġcom . line corp . lich . sample . thrift . Foo Param Ċ import Ġcom . line corp . lich . sample . thrift . Foo Response Ċ import Ġcom . line corp . lich . sample . thrift . Foo Service Ċ import Ġcom . line corp . lich . thrift . Abstract Thrift ServiceClient Ċ import Ġcom . line corp . lich . thrift . Thrift Client Factory Ċ import Ġokhttp 3 . Http Url Ċ import Ġokhttp 3 . Ok HttpClient Ċ Ċ /** Ċ Ġ* ĠThe Ġclient Ġclass Ġof Ġ[ Foo Service ] Ġdefined Ġin Ġ` sample _ thrift / src / main / thrift / Foo Service . thrift `. Ċ Ġ*/ Ċ class ĠLogging Foo ServiceClient ( ĊĠĠĠ Ġoverride Ġval Ġok HttpClient : ĠOk HttpClient , ĊĠĠĠ Ġoverride Ġval Ġendpoint Url : ĠHttp Url , ĊĠĠĠ Ġthrift Log En abler : ĠThrift Log En abler Ċ ) Ġ: ĠAbstract Thrift ServiceClient < Foo Service . Client >() Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġthrift Client Factory : ĠThrift Client Factory < Foo Service . Client > Ġ= ĊĠĠĠĠĠĠĠ Ġthrift Log En abler . enable Logging ( Thrift Client Factory ( Foo Service . Client . Factory ())) ĊĊĠĠĠ Ġsuspend Ġfun Ġping () Ġ= ĊĠĠĠĠĠĠĠ Ġcall ({ Ġsend _ ping () Ġ}, Ġ{ Ġrecv _ ping () Ġ}) ĊĊĠĠĠ Ġsuspend Ġfun Ġcall Foo ( id : ĠLong , Ġname : ĠString , Ġparam : ĠFoo Param ): ĠFoo Response Ġ= ĊĠĠĠĠĠĠĠ Ġcall ({ Ġsend _ call Foo ( id , Ġname , Ġparam ) Ġ}, Ġ{ Ġrecv _ call Foo () Ġ}) Ċ } Ċ