/** Ċ Ġ* ĠCopyright Ġ 2 0 1 8 ĠRo yal ĠBank Ġof ĠS co tl and Ċ Ġ* Ċ Ġ* Ġ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 Ġio . blue bank . bra id . client . inv ocations . impl Ċ Ċ import Ġio . blue bank . bra id . client . inv ocations . Inv ocations Ċ import Ġio . blue bank . bra id . core . jsonrpc . Json RPC Request Ċ import Ġio . vertx . core . Future Ċ Ċ /** Ċ Ġ* ĠInternal Ġinterface Ġfor Ġ[ Inv ocations Impl ] Ġused Ġby Ġall Ġ[ Invocation Strategy ] Ġconcrete Ġclasses Ċ Ġ*/ Ċ internal Ġinterface ĠInv ocations Internal Ġ: ĠInv ocations Ġ{ ĊĊĠ Ġfun Ġnext RequestId (): ĠLong ĊĊĠ Ġ/** ĊĠĠ Ġ* Ġset Ġthe Ġinvocation Ġ[ strategy ] Ġfor Ġa Ġ[ requestId ] ĊĠĠ Ġ*/ ĊĠ Ġfun Ġset Strategy ( requestId : ĠLong , Ġstrategy : ĠInvocation Strategy <* >) ĊĊĠ Ġ/** ĊĠĠ Ġ* Ġunset Ġ/ Ġremove Ġthe Ġinvocation Ġstrategy Ġassigned Ġto Ġ[ requestId ] ĊĠĠ Ġ*/ ĊĠ Ġfun Ġremove Strategy ( requestId : ĠLong ) ĊĊĠ Ġ/** ĊĠĠ Ġ* Ġwrites Ġa Ġ[ Json RPC Request ] Ġ[ request ] Ġon Ġthe Ġsocket Ġto Ġthe Ġserver ĊĠĠ Ġ* Ġ@ returns Ġfuture Ġto Ġindicate Ġif Ġthe Ġsend Ġwas Ġsuccessful Ġor Ġnot ĊĠĠ Ġ*/ ĊĠ Ġfun Ġsend ( request : ĠJson RPC Request ): ĠFuture < Unit > Ċ }