12 #ifndef THRILL_DATA_STREAM_SINK_HEADER 13 #define THRILL_DATA_STREAM_SINK_HEADER 40 static constexpr
bool debug =
false;
53 size_t host_rank,
size_t host_local_worker,
54 size_t peer_rank,
size_t peer_local_worker);
60 size_t host_rank,
size_t host_local_worker,
61 size_t peer_rank,
size_t peer_local_worker);
67 size_t host_rank,
size_t host_local_worker,
68 size_t peer_rank,
size_t peer_local_worker);
149 #endif // !THRILL_DATA_STREAM_SINK_HEADER BlockQueue * block_queue_
StreamSink is an BlockSink that sends data via a network socket to the StreamData object on a differe...
Block combines a reference to a read-only ByteBlock and book-keeping information. ...
bool closed() const
return close flag
size_t peer_local_worker_
size_t my_worker_rank() const
return local worker rank
void AppendBlock(const Block &block, bool is_last_block) final
Appends data to the StreamSink. Data may be sent but may be delayed.
tlx::CountingPtr< StreamData > StreamDataPtr
void Close() final
Closes the connection.
size_t local_worker_id_
local worker id to associate pinned block with
bool IsValid() const
is valid?
Pool to allocate, keep, swap out/in, and free all ByteBlocks on the host.
A Connection represents a link to another peer in a network group.
BlockPool * block_pool() const
Returns block_pool_.
void AppendPinnedBlock(PinnedBlock &&block, bool is_last_block) final
Appends data to the StreamSink. Data may be sent but may be delayed.
static constexpr bool debug
Pure virtual base class for all things that can receive Blocks from a BlockWriter.
A pinned / pin-counted derivative of a Block.
MixStreamDataPtr target_mix_stream_
destination mix stream
void Finalize()
Finalize structure after sending the piggybacked or explicit close.
net::Connection * connection_
size_t peer_worker_rank() const
return remote worker rank
static constexpr bool allocate_can_fail_
StreamSink & operator=(StreamSink &&)=default
A BlockQueue is a thread-safe queue used to hand-over Block objects between threads.
common::StatsTimerStart timespan_