template<typename ReturnType, typename... Args>
requires std::is_nothrow_move_constructible_v<std::tuple<Args...>>
class seastar::inheriting_concrete_execution_stage< ReturnType, Args >
Concrete execution stage class, with support for automatic scheduling_group inheritance.
A variation of concrete_execution_stage that inherits the scheduling_group from the caller. Each call (of operator()
) can be in its own scheduling group.
- Template Parameters
-
ReturnType | return type of the function object |
Args | argument pack containing arguments to the function object, needs to have move constructor that doesn't throw |
template<typename ReturnType , typename... Args>
Enqueues a call to the stage's function
Adds a function call to the queue. Objects passed by value are moved, rvalue references are decayed and the objects are moved, lvalue references need to be explicitly wrapped using seastar::ref().
The caller's scheduling_group will be preserved across the call.
Usage example:
void do_something(int);
return stage(x);
}
A representation of a possibly not-yet-computed value.
Definition: future.hh:1240
Concrete execution stage class, with support for automatic scheduling_group inheritance.
Definition: execution_stage.hh:322
- Parameters
-
args | arguments passed to the stage's function |
- Returns
- future containing the result of the call to the stage's function