package Ġcom . oooo only . vertx . kotlin . rpc Ċ Ċ import Ġkotlin . reflect . full . call Suspend ĊĊ Ċ interface ĠRpc Service Instance Ġ{ ĊĠĠĠ Ġsuspend Ġfun Ġprocess Request ( request : ĠRpc Request ): ĠRpc Response ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġ< T Ġ: ĠAny > Ġinstance ( impl : ĠT ): ĠRpc Service Instance Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠRpc Service Instance Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġsuspend Ġfun Ġprocess Request ( request : ĠRpc Request ): ĠRpc Response Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġret Ġ= Ġimpl :: class . members . first Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTODO : ĠCheck Ġsignature Ġto Ġsupport Ġover loading ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . name Ġ== Ġrequest . method ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. call Suspend ( impl , Ġ*( request . args )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠRpc Response ( ret ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }