EventProcessor.emitProtocolRaw

Same as emitProtocol, but for the callback instead of getting a delegate to call, you get a function pointer and a tuple with the arguments for each instantiation that can be expanded.

So the callback gets called like callback(name, symbol, arguments, uda) and the implementation can then call the symbol function using symbol(arguments.expand).

This works around scoping issues and copies the arguments once more on invocation, causing ref/out parameters to get lost however. Allows to copy the arguments to other fibers for parallel processing.

mixintemplate EventProcessor(alias ExtensionModule, EventProcessorConfig config = EventProcessorConfig.init)
bool
emitProtocolRaw
(
alias UDA
alias callback
bool returnFirst
)
(
string method
,
string params
)

Meta