Thrill
0.1
|
Emitter implementation to plug into a reduce hash table for collecting/flushing items while reducing. Items flushed in the pre-phase are transmitted via a network Channel.
Definition at line 46 of file reduce_pre_phase.hpp.
#include <reduce_pre_phase.hpp>
Public Member Functions | |
ReducePrePhaseEmitter (std::vector< BlockWriter > &writer) | |
void | CloseAll () |
void | Emit (const size_t &partition_id, const TableItem &p) |
void | Flush (size_t partition_id) |
Public Attributes | |
std::vector< size_t > | stats_ |
Emitter stats. More... | |
std::vector< BlockWriter > & | writer_ |
Set of emitters, one per partition. More... | |
Static Private Attributes | |
static constexpr bool | debug = false |
|
inlineexplicit |
Definition at line 51 of file reduce_pre_phase.hpp.
|
inline |
Definition at line 68 of file reduce_pre_phase.hpp.
References sLOG, ReducePrePhaseEmitter< TableItem, VolatileKey, BlockWriter >::stats_, and ReducePrePhaseEmitter< TableItem, VolatileKey, BlockWriter >::writer_.
|
inline |
output an element into a partition, template specialized for robust and non-robust keys
Definition at line 57 of file reduce_pre_phase.hpp.
References ReducePrePhaseEmitter< TableItem, VolatileKey, BlockWriter >::stats_, and ReducePrePhaseEmitter< TableItem, VolatileKey, BlockWriter >::writer_.
|
inline |
Definition at line 63 of file reduce_pre_phase.hpp.
References ReducePrePhaseEmitter< TableItem, VolatileKey, BlockWriter >::writer_.
|
staticprivate |
Definition at line 48 of file reduce_pre_phase.hpp.
std::vector<size_t> stats_ |
Emitter stats.
Definition at line 82 of file reduce_pre_phase.hpp.
Referenced by ReducePrePhaseEmitter< TableItem, VolatileKey, BlockWriter >::CloseAll(), and ReducePrePhaseEmitter< TableItem, VolatileKey, BlockWriter >::Emit().
std::vector<BlockWriter>& writer_ |
Set of emitters, one per partition.
Definition at line 79 of file reduce_pre_phase.hpp.
Referenced by ReducePrePhaseEmitter< TableItem, VolatileKey, BlockWriter >::CloseAll(), ReducePrePhaseEmitter< TableItem, VolatileKey, BlockWriter >::Emit(), and ReducePrePhaseEmitter< TableItem, VolatileKey, BlockWriter >::Flush().