Transformer
Adapts a user-facing type to the wire-level CallData representation. Only non-error variants flow through transformers — CallData.Error frames are intercepted by RpcMethod.callChannel and converted to a thrown Throwable via RpcMethod.decodeError before any transformer sees them.
Inheritors
Functions
Server-side boundary hook (issue #133). Invoked by RpcMethod.call with the value returned by the handler. The default implementation simply delegates to transform; transformers that need to observe the failure channel (e.g. ResultTransformer for Result<O> return types) override this to fold a returned failure into the wire-level error frame via encodeError.
Client-side boundary hook (issue #133). Invoked by RpcMethod.callChannel with the raw wire response (which may be a CallData.Error). The default implementation throws the decoded error — preserving today's behaviour — and otherwise delegates to untransform. ResultTransformer overrides this to wrap the outcome in a kotlin.Result instead of throwing.