class instruction_graph_generator::delegate
Declaration
class instruction_graph_generator::delegate { /* full declaration omitted */ };
Description
Implement this as the owner of instruction_graph_generator to receive callbacks on generated instructions and pilot messages.
Declared at: include/instruction_graph_generator.h:42
Member Function Overview
- flush(std::vector<const instruction *> instructions, std::vector<outbound_pilot> pilots) → virtual void
- delegate()
- delegate(const delegate &)
- delegate(delegate &&)
- operator=(const delegate &) → delegate &
- operator=(delegate &&) → delegate &
- ~delegate()
Member Functions
¶virtual void flush(
std::vector<const instruction*> instructions,
std::vector<outbound_pilot> pilots)
virtual void flush(
std::vector<const instruction*> instructions,
std::vector<outbound_pilot> pilots)
Description
Called whenever new instructions have been generated and inserted into the instruction graph, and / or new pilot messages have been generated that must be transmitted to peer nodes before they can accept data transmitted through send_instruction
s originating from the local node. The vector of instructions is in topological order of dependencies, and so is the concatenation of all vectors that are passed through this function. Topological order here means that sequential execution in that order would fulfill all internal dependencies. The instruction graph generator guarantees that instruction pointers are stable and the pointed-to instructions are both immutable and safe to read from other threads. This is exposed as a single function on vectors to minimize lock contention in a threaded delegate implementations.
Declared at: include/instruction_graph_generator.h:60
Parameters
- std::vector<const instruction*> instructions
- std::vector<outbound_pilot> pilots
¶delegate()
delegate()
Declared at: include/instruction_graph_generator.h:44
¶delegate(const delegate&)
delegate(const delegate&)
Declared at: include/instruction_graph_generator.h:45
Parameters
- const delegate&
¶delegate(delegate&&)
delegate(delegate&&)
Declared at: include/instruction_graph_generator.h:46
Parameters
- delegate&&
¶delegate& operator=(const delegate&)
delegate& operator=(const delegate&)
Declared at: include/instruction_graph_generator.h:47
Parameters
- const delegate&
¶delegate& operator=(delegate&&)
delegate& operator=(delegate&&)
Declared at: include/instruction_graph_generator.h:48
Parameters
- delegate&&
¶~delegate()
~delegate()
Declared at: include/instruction_graph_generator.h:49