CallContext

class CallContext @InternalWowApi constructor(val commandId: String, val tenantId: String, val scope: Scope, val causation: Causation, val operator: Operator? = null, val wait: WaitContext? = null, facts: Map<String, String> = emptyMap())

The root command a synchronous call acts for, as the calling service asserts it: the call's command id commandId (the id its saga derived, so a wait that follows the saga finds it), and the root command's tenant tenantId, scope, operator and the causation that makes it a derived command, with the wait context a wait that follows the saga goes on with, and the root request's facts that propagate (RequestFacts.PROPAGATED), such as the calling application: only those, whatever the map it is built with holds, so a call never carries the client's address or User-Agent.

Admission trusts it only from a service identity, and then acts as for a command another context sent through its command topic: the command is in tenantId and scope, an aggregate it creates belongs to them, an existing one is not checked against them, its propagating facts are facts (not the calling service's own), and its result is the one at COMMITTED.

Fields may be added: construct it with of; the constructor is internal to Wow.

Constructors

Link copied to clipboard
constructor(commandId: String, tenantId: String, scope: Scope, causation: Causation, operator: Operator? = null, wait: WaitContext? = null, facts: Map<String, String> = emptyMap())

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

The root request's facts that propagate (RequestFacts.PROPAGATED), such as app_id.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
open override fun toString(): String