13 #ifndef THRILL_DATA_MIX_STREAM_HEADER 14 #define THRILL_DATA_MIX_STREAM_HEADER 46 static constexpr
bool debug =
false;
56 const StreamId&
id,
size_t local_worker_id,
size_t dia_id);
170 #endif // !THRILL_DATA_MIX_STREAM_HEADER 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. ...
Base class for common structures for ConcatStream and MixedStream.
MixStreamData & operator=(const MixStreamData &)=delete
non-copyable: delete assignment operator
void Close() final
shuts the stream down.
MixBlockQueue queue_
BlockQueue to store incoming Blocks with source.
static constexpr bool debug
Ownership handle onto a MixStream.
bool is_closed_
flag if Close() was completed
BlockWriter contains a temporary Block object into which a) any serializable item can be stored or b)...
BlockWriter< StreamSink > Writer
MixBlockQueueReader MixReader
Multiplexes virtual Connections on Dispatcher.
Simple structure that holds a all stream instances for the workers on the local host for a given stre...
MixReader GetReader(bool consume)
Open a MixReader (function name matches a method in File and CatStream).
A Stream is a virtual set of connections to all other worker instances, hence a "Stream" bundles them...
Implements reading an unordered sequence of items from multiple workers, which sends Blocks...
Writers GetWriters() final
An extra class derived from std::vector<> for delivery of the BlockWriters of a Stream.
Reader to retrieve items in unordered sequence from a MixBlockQueue.
std::vector< SeqReordering > seq_
Block Sequence numbers.
bool is_queue_closed(size_t from)
check if inbound queue is closed
bool closed() const final
std::vector< T, Allocator< T > > vector
vector with Manager tracking
Base class for StreamSet.
MixStreamData(StreamSetBase *stream_set_base, Multiplexer &multiplexer, size_t send_size_limit, const StreamId &id, size_t local_worker_id, size_t dia_id)
Creates a new stream instance.
const StreamId & id() const
Return stream id.
Stream - base class for CatStream and MixStream.
void OnStreamBlockOrdered(size_t from, Block &&b)
called to process PinnedBlock in sequence
MixReader GetMixReader(bool consume)
Creates a BlockReader which mixes items from all workers.
void OnStreamBlock(size_t from, uint32_t seq, Block &&b)
called from Multiplexer when there is a new Block for this Stream.
const char * stream_type() final
return stream type string
void set_dia_id(size_t dia_id)