|
LLVM 24.0.0git
|
Implements the rt::Caller interface BaseT by calling an executor-side SPS wrapper function, using SPSSigT to encode the arguments and decode the result. More...
Implements the rt::Caller interface BaseT by calling an executor-side SPS wrapper function, using SPSSigT to encode the arguments and decode the result.
The wrapper is a controller-interface (CI) entry point named CIName: a wrapper function (byte blob in, byte blob out) that the runtime exposes to the controller. SPSSigT is the Simple Packed Serialization signature used to encode the argument blob and decode the result blob; it must be compatible with BaseT's FnType. CIName must have static storage duration (e.g. an inline constexpr char[]).
The FnType parameter is deduced from BaseT and should not be supplied explicitly; the primary template is left undefined so that only the RetT(ArgTs...) specialization can be instantiated.