package Ġcom . uf os cout . vert k Ċ Ċ import Ġcom . uf os cout . vert k . event bus . Addr Ċ import Ġcom . uf os cout . vert k . event bus . EventBus With Groups Ċ import Ġio . vertx . core .* Ċ import Ġio . vertx . core . http . HttpServer Ċ import Ġio . vertx . kotlin . coroutines . await Result Ċ import Ġio . vertx . kotlin . coroutines . dispatcher Ċ import Ġkotlinx . coroutines . experimental . Job Ċ import Ġkotlinx . coroutines . experimental . run Blocking Ċ import Ġjava . util .* ĊĊ Ċ suspend Ġfun ĠHttp Server . await Listen ( port : ĠInt ): ĠHttp Server Ġ{ ĊĠĠĠ Ġawait Result < io . vertx . core . http . HttpServer > Ġ{ Ġwait Ġ-> ĊĠĠĠĠĠĠĠ Ġthis . listen ( port , Ġwait ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġthis Ċ } Ċ Ċ suspend Ġfun ĠHttp Server . await Listen ( port : ĠInt , Ġhost : ĠString ): ĠHttp Server Ġ{ ĊĠĠĠ Ġawait Result < io . vertx . core . http . HttpServer > Ġ{ Ġwait Ġ-> ĊĠĠĠĠĠĠĠ Ġthis . listen ( port , Ġhost , Ġwait ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġthis Ċ } Ċ Ċ /** Ċ Ġ* ĠExec utes Ġa Ġsuspend able Ġfunction Ġin Ġthe Ġcurrent ĠVert x Ġcontext Ġwithout Ġblocking Ġcurrent Ġthread . Ċ Ġ* ĠThis Ġuses Ġthe Ġkotlin Ġcor outines Ġ" launch ()" Ġusing Ġthe Ġcurrent ĠVert x Ġdispatcher . Ċ Ġ*/ Ċ fun ĠVert x . launch ( action : Ġsuspend Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġkotlinx . coroutines . experimental . launch ( this . or Create Context . dispatcher ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġaction () ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠExec utes Ġa Ġsuspend able Ġfunction Ġin Ġthe Ġcurrent ĠVert x Ġcontext . Ċ Ġ* ĠThis Ġuses Ġthe Ġkotlin Ġcor outines Ġ" run Blocking ()" Ġusing Ġthe Ġcurrent ĠVert x Ġdispatcher . Ċ Ġ* Ċ Ġ* ĠWARN : Ġthis Ġmethods ĠBLOCK S Ġthe Ġcurrent Ġthread ! Ċ Ġ*/ Ċ fun Ġ< T > ĠVert x . run Blocking ( action : Ġsuspend Ġ() Ġ-> ĠT ): ĠT Ġ{ ĊĠĠĠ Ġreturn Ġkotlinx . coroutines . experimental . run Blocking ( this . or Create Context . dispatcher ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġaction () ĊĠĠĠ Ġ} Ċ } Ċ Ċ suspend Ġfun ĠVert x . await Close () Ġ{ ĊĠĠĠ Ġawait Result < Void > Ġ{ Ġthis . close ( it ) Ġ} Ċ } Ċ Ċ suspend Ġfun ĠVert x . await Deploy Vert icle ( name : ĠString , Ġdeployment Options : ĠDeployment Options Ġ= ĠDeployment Options ()) Ġ{ ĊĠĠĠ Ġawait Result < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . deploy Vert icle ( name , Ġdeployment Options , Ġit ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ suspend Ġfun ĠVert x . await Deploy Vert icle ( supplier : Ġ() Ġ-> ĠVert icle , Ġdeployment Options : ĠDeployment Options Ġ= ĠDeployment Options ()) Ġ{ ĊĠĠĠ Ġawait Result < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . deploy Vert icle ( java . util . function . Supplier Ġ{ Ġsupplier () Ġ}, Ġdeployment Options , Ġit ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ suspend Ġfun ĠVert x . await Deploy Vert icle ( vert icle : ĠVert icle , Ġdeployment Options : ĠDeployment Options Ġ= ĠDeployment Options ()) Ġ{ ĊĠĠĠ Ġawait Result < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . deploy Vert icle ( vert icle , Ġdeployment Options , Ġit ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ inline Ġsuspend Ġfun Ġ< re ified ĠT Ġ: ĠVert icle > ĠVert x . await Deploy Vert icle ( deployment Options : ĠDeployment Options Ġ= ĠDeployment Options ()) Ġ{ ĊĠĠĠ Ġawait Result < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . deploy Vert icle ( T :: class . java , Ġdeployment Options , Ġit ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ suspend Ġfun Ġ< R > ĠVert x . await Execute Blocking ( action : Ġ() Ġ-> ĠR , Ġordered : ĠBoolean Ġ= Ġtrue ): ĠR Ġ{ ĊĠĠĠ Ġreturn Ġawait Result < R > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhandler : ĠHandler < Future < R >> Ġ= ĠHandler Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġaction () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . complete ( result ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . fail ( e ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġthis . execute Blocking ( handler , Ġordered , Ġit ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠReturns Ġa Ġnew ĠEvent Bus With Groups Ċ Ġ*/ Ċ fun Ġ< T > ĠVert x . event Bus With Groups ( address : ĠAddr < T >): ĠEvent Bus With Groups < T > Ġ{ ĊĠĠĠ Ġreturn ĠEvent Bus With Groups ( vertx Ġ= Ġthis , Ġaddress Ġ= Ġaddress ) Ċ } Ċ