BaseClient

abstract class BaseClient : Client

Base client. This can be used to build Client implementations on top with the HTTP client of your choice.

Inheritors

Types

Link copied to clipboard

Functions

Link copied to clipboard
Create a new AwakeableHandle for the provided identifier.
Link copied to clipboard
open fun <Req, Res> call(request: Request<Req, Res>): Response<Res>
Call a service and wait for the response.
Link copied to clipboard
Future version of call
Link copied to clipboard
open fun connect(baseUri: String): Client
open fun connect(baseUri: String, options: RequestOptions): Client
open fun connect(baseUri: String, serdeFactory: SerdeFactory): Client
open fun connect(baseUri: String, serdeFactory: SerdeFactory, options: RequestOptions): Client
Create a default JDK client.
Link copied to clipboard
open fun <Res> idempotentInvocationHandle(target: Target, idempotencyKey: String, resTypeTag: TypeTag<Res>): Client.IdempotentInvocationHandle<Res>
Create a new IdempotentInvocationHandle for the provided target and idempotency key.
Link copied to clipboard
open fun <Res> invocationHandle(invocationId: String, clazz: Class<Res>): Client.InvocationHandle<Res>
open fun <Res> invocationHandle(invocationId: String, resTypeTag: TypeTag<Res>): Client.InvocationHandle<Res>
Create a new InvocationHandle for the provided invocation identifier.
Link copied to clipboard
open fun <Req, Res> send(request: Request<Req, Res>): SendResponse<Res>
Send a request to a service without waiting for the response.
open fun <Req, Res> send(request: Request<Req, Res>, @Nullable delay: @Nullable Duration): SendResponse<Res>
Send a request to a service without waiting for the response, optionally providing an execution delay to wait for.
Link copied to clipboard
open fun <Req, Res> sendAsync(request: Request<Req, Res>, @Nullable delay: @Nullable Duration): CompletableFuture<SendResponse<Res>>
Future version of send
Link copied to clipboard
open fun <Req, Res> submit(request: WorkflowRequest<Req, Res>): SendResponse<Res>
Submit a workflow.
open fun <Req, Res> submit(request: WorkflowRequest<Req, Res>, @Nullable delay: @Nullable Duration): SendResponse<Res>
Submit a workflow, optionally providing an execution delay to wait for.
Link copied to clipboard
open fun <Req, Res> submitAsync(request: WorkflowRequest<Req, Res>, @Nullable delay: @Nullable Duration): CompletableFuture<SendResponse<Res>>
Future version of submit
Link copied to clipboard
open fun <Res> workflowHandle(workflowName: String, workflowId: String, clazz: Class<Res>): Client.WorkflowHandle<Res>
open fun <Res> workflowHandle(workflowName: String, workflowId: String, resTypeTag: TypeTag<Res>): Client.WorkflowHandle<Res>
Create a new WorkflowHandle for the provided workflow name and identifier.