saga

fun <S> saga(processor: String, function: String, stateType: Class<S & Any>?, blocking: Boolean = false, startFrom: StartFrom? = null, rejections: List<RejectionBinding<*>> = emptyList(), aggregates: List<String> = emptyList(), nullableState: Boolean = stateType == null, retry: HandlerRetry? = null, commits: List<CommittedBinding<*>> = emptyList(), derives: List<Class<*>> = emptyList(), schedules: List<Class<*>> = emptyList(), calls: List<Class<*>> = emptyList(), eventType: Class<*>? = null, handle: suspend (StateEvent<S>, SagaContext) -> List<CommandRequest<*>>): ProcessorBinding<S>

A @Saga's handler function of processor: it returns the requests of the commands it derives (requestsOf); the saga's @OnRejected handlers, the rejections, take the rejections of those commands, and its @OnCommitted handlers, the commits, their success receipts. It derives only the commands of the classes derives lists, schedules only those schedules lists and calls only those calls lists (@Sends).