package Ġcom . jetbrains . rd . framework . util Ċ Ċ import Ġcom . jetbrains . rd . framework . IR d Endpoint Ċ import Ġcom . jetbrains . rd . framework . impl . Rd Endpoint Ċ import Ġcom . jetbrains . rd . util . lifetime . Lifetime Ċ import Ġcom . jetbrains . rd . util . reactive . IS cheduler Ċ Ċ fun Ġ< T Req , ĠT Res > ĠIR d Endpoint < T Req , ĠT Res >. set Suspend ( ĊĠĠĠ Ġcancellation Scheduler : ĠIS cheduler ? Ġ= Ġnull , ĊĠĠĠ Ġhandler Scheduler : ĠIS cheduler ? Ġ= Ġnull , ĊĠĠĠ Ġhandler : Ġsuspend Ġ( Lifetime , ĠT Req ) Ġ-> ĠT Res Ċ ) Ġ{ ĊĠĠĠ Ġ// Ġwire Scheduler Ġis Ġnot Ġbe Ġavailable Ġif ĠR d Endpoint Ġis Ġnot Ġbound ĊĠĠĠ Ġval Ġcoroutine Dispatcher Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġscheduler Ġ= Ġhandler Scheduler Ġ?: Ġ( this Ġas ĠR d Endpoint ). wire Scheduler ĊĠĠĠĠĠĠĠ Ġscheduler . as Coroutine Dispatcher ( allow Inlining Ġ= Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġset ( c ancellation Scheduler , Ġhandler Scheduler ) Ġ{ Ġlt , Ġreq Ġ-> ĊĠĠĠĠĠĠĠ Ġlt . start Async ( coroutine Dispatcher ) Ġ{ Ġhandler ( lt , Ġreq ) Ġ}. to Rd Task () ĊĠĠĠ Ġ} Ċ }