koblas

CallRoute

class CallRoute(val operation: BlasOperation, val kind: RouteKind, val vendor: Vendor?, val entryPoint: String?, val adapter: String?, val reason: String?)(source)

What a concrete call does, derived from the same decision the call itself makes.

A route is evidence about one call with one set of arguments, not about an operation in general. The same BlasOperation can be RouteKind.Direct where the library exports it and RouteKind.Composed where it does not, and a benchmark that treats those as one measurement is reporting the composition's time as the entry point's.

Building one allocates, so it happens when a caller asks and never inside a timed call. Blas.routeOf and the execution path read the same internal plan, so a route cannot drift from what runs.

Constructors

CallRoute

constructor(operation: BlasOperation, kind: RouteKind, vendor: Vendor?, entryPoint: String?, adapter: String?, reason: String?)(source)

Properties

adapter

How the operands reached the library, or what composed the result, or null when neither applies.

entryPoint

The resolved symbol, or null when no vendor entry point was called.

exactlyMeasurable

Whether this call is admissible as an exact measurement of vendor running operation.

A transfer into native memory still qualifies, because it is part of what a caller pays to reach the vendor at all. A composed or delegated call does not: its time belongs to the composition, not to the entry point it is being reported under.

kind

How the call was served.

operation

The operation requested.

reason

Why the call was RouteKind.Unsupported or RouteKind.NoWork, or null otherwise.

vendor

The vendor that ran it, or null when nothing vendor-supplied did.

Functions

toString

open override fun toString(): String(source)