Class StreamPortBase

Inheritance Relationships

Base Type

Derived Type

Class Documentation

class StreamPortBase : public eat::framework::Port

port that has a stream of data with a given type (see StreamPort<T>)

the output side calls push(data) n times then close() once

the input side calls pop() while available(), and can know that no more data will become available if eof()

Subclassed by eat::framework::StreamPort< T >

Public Functions

virtual void close() = 0

end the stream of data

virtual bool eof() = 0

has the stream ended? true when there’s no more data to read, and the other side has called close()

virtual bool eof_triggered() = 0

has close been called (i.e. eof() will become true once the queue is drained)

virtual void copy_to(StreamPortBase &other) = 0
virtual void move_to(StreamPortBase &other) = 0
virtual void clear() = 0
virtual ProcessPtr get_buffer_writer(const std::string &name) = 0

get a process with a compatible streaming input and a non-streaming output compatible with get_buffer_writer(), which writes the inputs to a buffer

virtual ProcessPtr get_buffer_reader(const std::string &name) = 0

get a process with a compatible streaming output and a non-streaming input compatible with get_buffer_reader(), which reads from a buffer