rd-framework / com.jetbrains.rd.framework / IRdCall

IRdCall

interface IRdCall<in TReq, out TRes>

Represents an API provided by the remote process which can be invoked through the protocol.

Functions

start

abstract fun start(request: TReq, responseScheduler: <ERROR CLASS>? = null): IRdTask<TRes>

Asynchronously invokes the API with the parameters given as request and waits for the result. The returned task will have its result value assigned through the given responseScheduler.

abstract fun start(lifetime: <ERROR CLASS>, request: TReq, responseScheduler: <ERROR CLASS>? = null): IRdTask<TRes>

startSuspending

abstract suspend fun startSuspending(lifetime: <ERROR CLASS>, request: TReq, responseScheduler: <ERROR CLASS>? = null): TRes

sync

abstract fun sync(request: TReq, timeouts: RpcTimeouts? = null): TRes

Invokes the API with the parameters given as request and waits for the result.

Extension Functions

deepClonePolymorphic

fun <T> T.deepClonePolymorphic(): T

startAndAdviseSuccess

fun <TReq, TRes> IRdCall<TReq, TRes>.startAndAdviseSuccess(request: TReq, onSuccess: (TRes) -> Unit): Unit
fun <TReq, TRes> IRdCall<TReq, TRes>.startAndAdviseSuccess(lifetime: <ERROR CLASS>, request: TReq, onSuccess: (TRes) -> Unit): Unit

Inheritors

RdCall

class RdCall<TReq, TRes> : RdReactiveBase, IRdCall<TReq, TRes>, IRdEndpoint<TReq, TRes>